Fermionic Synthesis¶
This module provides the synthesis methods with which an Evolution gate is broken down into
a FermionicCircuit of smaller fermionic gates. Pass one to the gate’s synthesis argument
to choose how its time evolution gets decomposed:
Evolution(num_modes, operator, time=1.0, synthesis=FermionicLieTrotter())
Both sides of this rewrite live in fermionic space, so these methods can exploit the
groups of the evolved operator (see
Group operator terms: use the operator structure) – unlike the fermion-to-qubit synthesis that follows, which only sees the
mapped operator, where the grouping is no longer available.
Important
This fermion-to-fermion step is optional. An Evolution gate can be handed straight to
the fermion-to-qubit stage regardless of how many terms its operator holds; decomposing it in
fermionic space first is a choice, taken to obtain cheaper factors or to expose structure that the
later stage can exploit.
The interface for fermion-to-fermion synthesis of an |
|
|
The first-order Lie-Trotter product formula, applied in fermionic space. |
|
The higher-order Suzuki-Trotter product formula, applied in fermionic space. |