Return a normal ordered FermionOperator or BosonOperator corresponding to single term.
openfermion.transforms.normal_ordered_ladder_term(
term, coefficient, parity=-1
)
Args |
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.
|
Returns |
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.
Warning |
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.
|