Apply the Bravyi-Kitaev transform.

Used in the notebooks

Used in the tutorials

Implementation from arXiv:quant-ph/0003137 and "A New Data Structure for Cumulative Frequency Tables" by Peter M. Fenwick.

Note that this implementation is equivalent to the one described in arXiv:1208.5986, and is different from the one described in arXiv:1701.07072. The one described in arXiv:1701.07072 is implemented in OpenFermion as bravyi_kitaev_tree.

operator (openfermion.ops.FermionOperator): A FermionOperator to transform. n_qubits (int|None): Can force the number of qubits in the resulting operator above the number that appear in the input operator.

transformed_operator An instance of the QubitOperator class.

ValueError Invalid number of qubits specified.