openfermion.circuits.trotter_operator_grouping

Trotter-decomposes operators into groups without exponentiating.

Operators are still Hermitian at the end of this method but have been multiplied by k_exp.

The default term_ordering is simply the ordered keys of the QubitOperators.terms dict.

hamiltonian QubitOperator

full hamiltonian

trotter_number int

optional number of trotter steps - default is 1

trotter_order int

optional order of trotterization as an integer from 1-3 - default is 1

term_ordering list of (tuples of tuples

optional list of QubitOperator terms dictionary keys that specifies order of terms when trotterizing

k_exp float

optional exponential factor to all terms when trotterizing

QubitOperator generator

ValueError if order > 3 or order <= 0, TypeError for incorrect types