qiskit-documentation/docs/api/qiskit/0.25/qiskit.aqua.algorithms.EOH.mdx

133 lines
6.0 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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: EOH
description: API reference for qiskit.aqua.algorithms.EOH
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.aqua.algorithms.EOH
---
# qiskit.aqua.algorithms.EOH
<Class id="qiskit.aqua.algorithms.EOH" isDedicatedPage={true} github="https://github.com/qiskit-community/qiskit-aqua/tree/stable/0.9/qiskit/aqua/algorithms/education/eoh.py" signature="EOH(operator, initial_state, evo_operator, evo_time=1, num_time_slices=1, expansion_mode='trotter', expansion_order=1, quantum_instance=None)" modifiers="class">
The Quantum EOH (Evolution of Hamiltonian) algorithm.
EOH provides the lower-level building blocks for simulating universal quantum systems. For any given quantum system that can be decomposed into local interactions (for example, a global hamiltonian as the weighted sum of several Pauli spin operators), the local interactions can then be used to approximate the global quantum system via, for example, Lloyds method or Trotter-Suzuki decomposition.
**Parameters**
* **operator** (`LegacyBaseOperator`) Operator to evaluate
* **initial\_state** (`Union`\[`InitialState`, `QuantumCircuit`]) Initial state for evolution
* **evo\_operator** (`LegacyBaseOperator`) Operator to evolve
* **evo\_time** (`float`) Evolution time, has min value of 0
* **num\_time\_slices** (`int`) Number of time slices, has minimum value of 1
* **expansion\_mode** (`str`) Either `"trotter"` (Lloyds method) or `"suzuki"` (for Trotter-Suzuki expansion)
* **expansion\_order** (`int`) The Trotter-Suzuki expansion order.
* **quantum\_instance** (`Union`\[`QuantumInstance`, `Backend`, `BaseBackend`, `None`]) Quantum Instance or Backend
### \_\_init\_\_
<Function id="qiskit.aqua.algorithms.EOH.__init__" signature="__init__(operator, initial_state, evo_operator, evo_time=1, num_time_slices=1, expansion_mode='trotter', expansion_order=1, quantum_instance=None)">
**Parameters**
* **operator** (`LegacyBaseOperator`) Operator to evaluate
* **initial\_state** (`Union`\[`InitialState`, `QuantumCircuit`]) Initial state for evolution
* **evo\_operator** (`LegacyBaseOperator`) Operator to evolve
* **evo\_time** (`float`) Evolution time, has min value of 0
* **num\_time\_slices** (`int`) Number of time slices, has minimum value of 1
* **expansion\_mode** (`str`) Either `"trotter"` (Lloyds method) or `"suzuki"` (for Trotter-Suzuki expansion)
* **expansion\_order** (`int`) The Trotter-Suzuki expansion order.
* **quantum\_instance** (`Union`\[`QuantumInstance`, `Backend`, `BaseBackend`, `None`]) Quantum Instance or Backend
</Function>
## Methods
| | |
| --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| [`__init__`](#qiskit.aqua.algorithms.EOH.__init__ "qiskit.aqua.algorithms.EOH.__init__")(operator, initial\_state, evo\_operator) | **type operator**`LegacyBaseOperator` |
| [`construct_circuit`](#qiskit.aqua.algorithms.EOH.construct_circuit "qiskit.aqua.algorithms.EOH.construct_circuit")() | Construct the circuit. |
| [`run`](#qiskit.aqua.algorithms.EOH.run "qiskit.aqua.algorithms.EOH.run")(\[quantum\_instance]) | Execute the algorithm with selected backend. |
| [`set_backend`](#qiskit.aqua.algorithms.EOH.set_backend "qiskit.aqua.algorithms.EOH.set_backend")(backend, \*\*kwargs) | Sets backend with configuration. |
## Attributes
| | |
| ---------------------------------------------------------------------------------------------------------------- | ------------------------- |
| [`backend`](#qiskit.aqua.algorithms.EOH.backend "qiskit.aqua.algorithms.EOH.backend") | Returns backend. |
| [`quantum_instance`](#qiskit.aqua.algorithms.EOH.quantum_instance "qiskit.aqua.algorithms.EOH.quantum_instance") | Returns quantum instance. |
| [`random`](#qiskit.aqua.algorithms.EOH.random "qiskit.aqua.algorithms.EOH.random") | Return a numpy random. |
### backend
<Attribute id="qiskit.aqua.algorithms.EOH.backend">
Returns backend.
**Return type**
`Union`\[`Backend`, `BaseBackend`]
</Attribute>
### construct\_circuit
<Function id="qiskit.aqua.algorithms.EOH.construct_circuit" signature="construct_circuit()">
Construct the circuit.
**Returns**
the circuit.
**Return type**
[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")
</Function>
### quantum\_instance
<Attribute id="qiskit.aqua.algorithms.EOH.quantum_instance">
Returns quantum instance.
**Return type**
`Optional`\[`QuantumInstance`]
</Attribute>
### random
<Attribute id="qiskit.aqua.algorithms.EOH.random">
Return a numpy random.
</Attribute>
### run
<Function id="qiskit.aqua.algorithms.EOH.run" signature="run(quantum_instance=None, **kwargs)">
Execute the algorithm with selected backend.
**Parameters**
* **quantum\_instance** (`Union`\[`QuantumInstance`, `Backend`, `BaseBackend`, `None`]) the experimental setting.
* **kwargs** (*dict*) kwargs
**Returns**
results of an algorithm.
**Return type**
dict
**Raises**
[**AquaError**](qiskit.aqua.AquaError "qiskit.aqua.AquaError") If a quantum instance or backend has not been provided
</Function>
### set\_backend
<Function id="qiskit.aqua.algorithms.EOH.set_backend" signature="set_backend(backend, **kwargs)">
Sets backend with configuration.
**Return type**
`None`
</Function>
</Class>