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.