Learn more about our quantum error correction milestone

openfermion.transforms.get_quadratic_hamiltonian

Convert a quadratic fermionic operator to QuadraticHamiltonian.

Used in the notebooks

Used in the tutorials

fermion_operator(FermionOperator): The operator to convert. chemical_potential(float): A chemical potential to include in the returned operator n_qubits(int): Optionally specify the total number of qubits in the system ignore_incompatible_terms(bool): This flag determines the behavior of this method when it encounters terms that are not quadratic that is, terms that are not of the form a^\dagger_p a_q. If set to True, this method will simply ignore those terms. If False, then this method will raise an error if it encounters such a term. The default setting is False.

quadratic_hamiltonian An instance of the QuadraticHamiltonian class.

TypeError Input must be a FermionOperator.
TypeError FermionOperator does not map to QuadraticHamiltonian.

Even assuming that each creation or annihilation operator appears at most a constant number of times in the original operator, the runtime of this method is exponential in the number of qubits.