View source on GitHub |
Checks whether a circuit implements Trotterized evolution
openfermion.testing.validate_trotterized_evolution(
circuit: cirq.Circuit,
ops: List['openfermion.QubitOperator'],
qubits: List['cirq.Qid']
)
Takes a circuit that is supposed to implement evolution of the form:
\[\prod_j \exp[iO_j]\]
and checks whether the implemented unitary is applied. Ignores any global phases as part of the implementation of the unitary, as these are not kept consistent in cirq (and unphysical).