openfermion.transforms.normal_ordered_ladder_term

Return a normal ordered FermionOperator or BosonOperator corresponding to single term.

term list or tuple

A sequence of tuples. The first element of each tuple is an integer indicating the mode on which a fermion ladder operator acts, starting from zero. The second element of each tuple is an integer, either 1 or 0, indicating whether creation or annihilation acts on that mode.

coefficient complex or float

The coefficient of the term.

parity int

parity=-1 corresponds to a Fermionic term that should be ordered based on the canonical anti-commutation relations. parity=1 corresponds to a Bosonic term that should be ordered based on the canonical commutation relations.

ordered_term a FermionOperator or BosonOperator instance. The normal ordered form of the input. Note that this might have more terms.

In our convention, normal ordering implies terms are ordered from highest tensor factor (on left) to lowest (on right). Also, ladder operators come first.

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