View source on GitHub |
Return whether [op_a, [op_b, op_a_prime]] is trivially zero.
openfermion.utils.trivially_double_commutes_dual_basis_using_term_info(
indices_alpha=None,
indices_beta=None,
indices_alpha_prime=None,
is_hopping_operator_alpha=None,
is_hopping_operator_beta=None,
is_hopping_operator_alpha_prime=None,
jellium_only=False
)
Assumes all the operators are FermionOperators from the dual basis Hamiltonian, broken into the form i^j^ i j + c_i(i^ i) + c_j(j^ j) or i^ j + j^ i, where i and j are modes and c is a constant. For the full dual basis Hamiltonian, i^ i and j^ j can have distinct coefficients c_i and c_j: for jellium they are necessarily the same. If this is the case, jellium_only should be set to True.
The operators are determined by the indices they act on and by whether they are hopping operators (i^ j + j^ i) or number operators (i^ j^ i j + c_i(i^ i) + c_j(j^ j)). a, b, and a_prime are shorthands for alpha, beta, and alpha_prime.
Returns | |
---|---|
Whether or not the double commutator is trivially zero. |