About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
ProductFormula
class ProductFormula(order, reps=1, insert_barriers=False, cx_structure='chain', atomic_evolution=None)
Bases: qiskit.synthesis.evolution.evolution_synthesis.EvolutionSynthesis
Product formula base class for the decomposition of non-commuting operator exponentials.
LieTrotter
and SuzukiTrotter
inherit from this class.
Parameters
- order (
int
) – The order of the product formula. - reps (
int
) – The number of time steps. - insert_barriers (
bool
) – Whether to insert barriers between the atomic evolutions. - cx_structure (
str
) – How to arrange the CX gates for the Pauli evolutions, can be “chain”, where next neighbor connections are used, or “fountain”, where all qubits are connected to one. - atomic_evolution (
Optional
[Callable
[[Union
[Pauli
,SparsePauliOp
],float
],QuantumCircuit
]]) – A function to construct the circuit for the evolution of single Pauli string. Per default, a single Pauli evolution is decomopsed in a CX chain and a single qubit Z rotation.
Methods
synthesize
abstract ProductFormula.synthesize(evolution)
Synthesize an qiskit.circuit.library.PauliEvolutionGate
.
Parameters
evolution (PauliEvolutionGate) – The evolution gate to synthesize.
Returns
A circuit implementing the evolution.
Return type
Attributes
settings
Return the settings in a dictionary, which can be used to reconstruct the object.
Return type
Dict
[str
, Any
]
Returns
A dictionary containing the settings of this product formula.
Raises
NotImplementedError – If a custom atomic evolution is set, which cannot be serialized.
Was this page helpful?
Report a bug or request content on GitHub.