qiskit-documentation/docs/api/qiskit/0.42/qiskit.algorithms.TrotterQR...

123 lines
5.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: TrotterQRTE
description: API reference for qiskit.algorithms.TrotterQRTE
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.algorithms.TrotterQRTE
---
# TrotterQRTE
<Class id="qiskit.algorithms.TrotterQRTE" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.23/qiskit/algorithms/evolvers/trotterization/trotter_qrte.py" signature="TrotterQRTE(product_formula=None, expectation=None, quantum_instance=None)" modifiers="class">
Bases: [`qiskit.algorithms.evolvers.real_evolver.RealEvolver`](qiskit.algorithms.RealEvolver "qiskit.algorithms.evolvers.real_evolver.RealEvolver")
Pending deprecation: Quantum Real Time Evolution using Trotterization.
The TrotterQRTE class has been superseded by the [`qiskit.algorithms.time_evolvers.trotterization.TrotterQRTE`](qiskit.algorithms.time_evolvers.trotterization.TrotterQRTE "qiskit.algorithms.time_evolvers.trotterization.TrotterQRTE") class. This class will be deprecated in a future release and subsequently removed after that.
Type of Trotterization is defined by a ProductFormula provided.
Examples:
```python
from qiskit.opflow import X, Z, Zero
from qiskit.algorithms import EvolutionProblem, TrotterQRTE
from qiskit import BasicAer
from qiskit.utils import QuantumInstance
operator = X + Z
initial_state = Zero
time = 1
evolution_problem = EvolutionProblem(operator, 1, initial_state)
# LieTrotter with 1 rep
backend = BasicAer.get_backend("statevector_simulator")
quantum_instance = QuantumInstance(backend=backend)
trotter_qrte = TrotterQRTE(quantum_instance=quantum_instance)
evolved_state = trotter_qrte.evolve(evolution_problem).evolved_state
```
**Parameters**
* **product\_formula** (`Optional`\[[`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula")]) A Lie-Trotter-Suzuki product formula. The default is the Lie-Trotter first order product formula with a single repetition.
* **expectation** (`Optional`\[[`ExpectationBase`](qiskit.opflow.expectations.ExpectationBase "qiskit.opflow.expectations.expectation_base.ExpectationBase")]) An instance of ExpectationBase which defines a method for calculating expectation values of EvolutionProblem.aux\_operators.
* **quantum\_instance** (`Union`\[[`Backend`](qiskit.providers.Backend "qiskit.providers.backend.Backend"), [`QuantumInstance`](qiskit.utils.QuantumInstance "qiskit.utils.quantum_instance.QuantumInstance"), `None`]) A quantum instance used for calculating expectation values of EvolutionProblem.aux\_operators.
## Methods
### evolve
<Function id="qiskit.algorithms.TrotterQRTE.evolve" signature="TrotterQRTE.evolve(evolution_problem)">
Evolves a quantum state for a given time using the Trotterization method based on a product formula provided. The result is provided in the form of a quantum circuit. If auxiliary operators are included in the `evolution_problem`, they are evaluated on an evolved state using a backend provided.
<Admonition title="Note" type="note">
Time-dependent Hamiltonians are not yet supported.
</Admonition>
**Parameters**
**evolution\_problem** ([`EvolutionProblem`](qiskit.algorithms.EvolutionProblem "qiskit.algorithms.evolvers.evolution_problem.EvolutionProblem")) Instance defining evolution problem. For the included Hamiltonian, `PauliOp`, `SummedOp` or `PauliSumOp` are supported by TrotterQRTE.
**Return type**
[`EvolutionResult`](qiskit.algorithms.EvolutionResult "qiskit.algorithms.evolvers.evolution_result.EvolutionResult")
**Returns**
Evolution result that includes an evolved state as a quantum circuit and, optionally, auxiliary operators evaluated for a resulting state on a backend.
**Raises**
* **ValueError** If `t_param` is not set to None in the EvolutionProblem (feature not currently supported).
* **ValueError** If the `initial_state` is not provided in the EvolutionProblem.
</Function>
### supports\_aux\_operators
<Function id="qiskit.algorithms.TrotterQRTE.supports_aux_operators" signature="TrotterQRTE.supports_aux_operators()" modifiers="classmethod">
Whether computing the expectation value of auxiliary operators is supported.
**Return type**
`bool`
**Returns**
**True if `aux_operators` expectations in the EvolutionProblem can be evaluated, False**
otherwise.
</Function>
## Attributes
### expectation
<Attribute id="qiskit.algorithms.TrotterQRTE.expectation">
Returns an expectation used in the algorithm.
**Return type**
`Optional`\[[`ExpectationBase`](qiskit.opflow.expectations.ExpectationBase "qiskit.opflow.expectations.expectation_base.ExpectationBase")]
</Attribute>
### product\_formula
<Attribute id="qiskit.algorithms.TrotterQRTE.product_formula">
Returns a product formula used in the algorithm.
**Return type**
[`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula")
</Attribute>
### quantum\_instance
<Attribute id="qiskit.algorithms.TrotterQRTE.quantum_instance">
Returns a quantum instance used in the algorithm.
**Return type**
`Optional`\[[`QuantumInstance`](qiskit.utils.QuantumInstance "qiskit.utils.quantum_instance.QuantumInstance")]
</Attribute>
</Class>