Skip to main content
IBM Quantum Platform
이 페이지는 Qiskit SDK 의 이전 버전에서 가져온 것으로, 최신 버전에는 존재하지 않습니다. 최신 버전으로 업데이트하시기를 권장합니다. 자세한 정보는 릴리스 정보를 참조하십시오.

qiskit.opflow.evolutions


Operator Evolutions

qiskit.opflow.evolutions

Deprecated since version 0.24.0

The qiskit.opflow module is deprecated and will be removed no earlier than 3 months after the release date. For code migration guidelines, visit https://qisk.it/opflow_migration.

Evolutions are converters which traverse an Operator tree, replacing any EvolvedOp e with a Schrodinger equation-style evolution CircuitOp equalling or approximating the matrix exponential of -i * the Operator contained inside (e.primitive). The Evolutions are essentially implementations of Hamiltonian Simulation algorithms, including various methods for Trotterization.

The EvolvedOp is simply a placeholder signifying that the Operator inside it should be converted to its exponential by the Evolution converter. All Operators (not state_fns) have .exp_i() methods which either return the exponential of the Operator directly, or an EvolvedOp containing the Operator.

Note

Evolutions work with parameterized Operator coefficients, so my_expectation.convert((t * H).exp_i()), where t is a scalar or Terra Parameter and H is an Operator, will produce a CircuitOp equivalent to e^iHt.

Evolution Base Class

The EvolutionBase class gives an interface for algorithms to ask for Evolutions as execution settings. For example, if an algorithm contains an Operator evolution step within it, such as QAOA, the algorithm can give the opportunity for the user to pass an EvolutionBase of their choice to be used in that evolution step.

칼럼 1
칼럼 2
EvolutionBase()Deprecated: A base for Evolution converters.

Evolutions

칼럼 1
칼럼 2
EvolutionFactory()Deprecated: A factory class for convenient automatic selection of an Evolution algorithm based on the Operator to be converted.
EvolvedOp(*args, **kwargs)Deprecated: Class for wrapping Operator Evolutions for compilation (convert) by an EvolutionBase method later, essentially acting as a placeholder.
MatrixEvolution()Deprecated: Performs Evolution by classical matrix exponentiation, constructing a circuit with UnitaryGates or HamiltonianGates containing the exponentiation of the Operator.
PauliTrotterEvolution([trotter_mode, reps])Deprecated: An Evolution algorithm replacing exponentiated sums of Paulis by changing them each to the Z basis, rotating with an rZ, changing back, and Trotterizing.

Trotterizations

칼럼 1
칼럼 2
TrotterizationBase([reps])Deprecated: A base for Trotterization methods, algorithms for approximating exponentiations of operator sums by compositions of exponentiations.
TrotterizationFactory()Deprecated: A factory for conveniently creating TrotterizationBase instances.
Trotter([reps])Deprecated: Simple Trotter expansion, composing the evolution circuits of each Operator in the sum together reps times and dividing the evolution time of each by reps.
Suzuki([reps, order])Deprecated: Suzuki Trotter expansion, composing the evolution circuits of each Operator in the sum together by a recursive "bookends" strategy, repeating the whole composed circuit reps times.
QDrift([reps])Deprecated: The QDrift Trotterization method, which selects each each term in the Trotterization randomly, with a probability proportional to its weight.
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.