Generator for a list of 2-partitions of N qubits
openfermion.measurements.binary_partition_iterator(
qubit_list, num_iterations=None
)
such that all pairs of qubits are split in at least one partition,
This follows a variation on ArXiv:1908.0562 - instead of
explicitly partitioning the list based on the binary indices of
the qubits, we repeatedly divide the list in two and then
zip it back together.
Args |
qubit_list(list): list of qubits to be partitioned
num_iterations(int or None): number of iterations to perform.
If None, will be set to ceil(log2(len(qubit_list)))
|
Returns |
partition(iterator of tuples of lists): the required partitioning
|