FermionicLieTrotter¶
- class FermionicLieTrotter(reps=1)¶
Bases:
FermionicSuzukiTrotterThe first-order Lie-Trotter product formula, applied in fermionic space.
Given an
Evolutiongate with the evolution time \(t\), this synthesizes the approximation\[e^{-i t \sum_j H_j} \approx \prod_j e^{-i t H_j},\]emitting one
Evolutiongate per factor \(H_j\), each evolving for the whole time \(t\) – or, withrepsrepetitions, for \(t/\texttt{reps}\) apiece across that many sweeps.The operator is split into the \(H_j\), and each factor narrowed to the modes it actually touches, exactly as described for
FermionicSuzukiTrotter.First order is the degenerate case of the Suzuki recursion, so this is implemented as a
FermionicSuzukiTrotterwith the order fixed to1; the two are interchangeable at equalreps. It keeps a name of its own because it is the default synthesis of anEvolutiongate, and because a plain first-order product formula is more recognizable under that name than as an argument to a higher-order one.Note
This product formula is exact only when the factors mutually commute. Grouping an operator so that each group collects mutually commuting terms therefore both shortens the circuit and reduces the Trotter error. Where the factors do not commute, an even
orderreduces the error further at the same grouping.Note also that applying it at all is optional: leaving the gate undecomposed and letting the fermion-to-qubit stage handle the whole operator incurs no Trotter error at this level. See
synthesis.The Hermiticity requirement on the individual factors, described in the
FermionicSuzukiTrotterdocumentation, applies here too.Initializing an instance of this synthesis method can be done with the argument below.
- Parameters:
reps (int) – the number of times to repeat the formula, each repetition evolving for
time / reps.- Raises:
ValueError – if
repsis not positive.
Attributes
- order¶
The order of the product formula.
- reps¶
The number of times the product formula is repeated.
Inherited Methods
- synthesize(gate)¶
Synthesizes the gate into the ordered factors of the product formula.
See the class documentation for the formula this implements.
- Parameters:
gate (Evolution) – the gate to synthesize.
- Returns:
A
FermionicCircuitholding one narrowedEvolutiongate per factor of the formula. A factor may appear more than once, at different evolution times.- Return type: