qiskit-documentation/docs/api/qiskit/0.30/qiskit.aqua.components.eigs...

94 lines
3.9 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: EigsQPE
description: API reference for qiskit.aqua.components.eigs.EigsQPE
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.aqua.components.eigs.EigsQPE
---
# EigsQPE
<Class id="qiskit.aqua.components.eigs.EigsQPE" isDedicatedPage={true} github="https://github.com/qiskit-community/qiskit-aqua/tree/stable/0.9/qiskit/aqua/components/eigs/eigs_qpe.py" signature="EigsQPE(operator, iqft, num_time_slices=1, num_ancillae=1, expansion_mode='trotter', expansion_order=1, evo_time=None, negative_evals=False, ne_qfts=None)" modifiers="class">
Bases: `qiskit.aqua.components.eigs.eigs.Eigenvalues`
Eigenvalues using Quantum Phase Estimation.
Specifically, this class is based on PhaseEstimationCircuit with no measurements and has additional handling of negative eigenvalues, e.g. for [`HHL`](qiskit.aqua.algorithms.HHL "qiskit.aqua.algorithms.HHL"). It depends on the [`QFT`](qiskit.circuit.library.QFT "qiskit.circuit.library.QFT") class.
**Parameters**
* **operator** (`LegacyBaseOperator`) The Hamiltonian Operator object
* **iqft** (`QuantumCircuit`) The Inverse Quantum Fourier Transform circuit
* **num\_time\_slices** (`int`) The number of time slices, has a minimum value of 1.
* **num\_ancillae** (`int`) The number of ancillary qubits to use for the measurement, has a minimum value of 1.
* **expansion\_mode** (`str`) The expansion mode (trotter | suzuki)
* **expansion\_order** (`int`) The suzuki expansion order, has a minimum value of 1.
* **evo\_time** (`Optional`\[`float`]) An optional evolution time which should scale the eigenvalue onto the range $(0,1]$ (or $(-0.5,0.5]$ for negative eigenvalues). Defaults to `None` in which case a suitably estimated evolution time is internally computed.
* **negative\_evals** (`bool`) Set `True` to indicate negative eigenvalues need to be handled
* **ne\_qfts** (`Optional`\[`List`]) The QFT and IQFT circuits for handling negative eigenvalues
## Methods
### construct\_circuit
<Function id="qiskit.aqua.components.eigs.EigsQPE.construct_circuit" signature="EigsQPE.construct_circuit(mode, register=None)">
Construct the eigenvalues estimation using the PhaseEstimationCircuit
**Parameters**
* **mode** (*str*) construction mode, matrix not supported
* **register** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")) the register to use for the quantum state
**Returns**
object for the constructed circuit
**Return type**
[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")
**Raises**
**ValueError** QPE is only possible as a circuit not as a matrix
</Function>
### construct\_inverse
<Function id="qiskit.aqua.components.eigs.EigsQPE.construct_inverse" signature="EigsQPE.construct_inverse(mode, circuit)">
Construct the inverse eigenvalue estimation quantum circuit.
**Parameters**
* **mode** (*str*) construction mode, matrix not supported
* **circuit** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) the quantum circuit to invert
**Returns**
**object for of the inverted eigenvalue estimation**
circuit.
**Return type**
[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")
**Raises**
* **NotImplementedError** not implemented for matrix mode
* **ValueError** Circuit was not constructed beforehand
</Function>
### get\_register\_sizes
<Function id="qiskit.aqua.components.eigs.EigsQPE.get_register_sizes" signature="EigsQPE.get_register_sizes()">
get register sizes
</Function>
### get\_scaling
<Function id="qiskit.aqua.components.eigs.EigsQPE.get_scaling" signature="EigsQPE.get_scaling()">
get scaling
</Function>
</Class>