qiskit-documentation/docs/api/qiskit/0.30/qiskit.aqua.circuits.PhaseE...

87 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: PhaseEstimationCircuit
description: API reference for qiskit.aqua.circuits.PhaseEstimationCircuit
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.aqua.circuits.PhaseEstimationCircuit
---
# PhaseEstimationCircuit
<Class id="qiskit.aqua.circuits.PhaseEstimationCircuit" isDedicatedPage={true} github="https://github.com/qiskit-community/qiskit-aqua/tree/stable/0.9/qiskit/aqua/circuits/phase_estimation_circuit.py" signature="PhaseEstimationCircuit(operator=None, state_in=None, iqft=None, num_time_slices=1, num_ancillae=1, expansion_mode='trotter', expansion_order=1, evo_time=6.283185307179586, state_in_circuit_factory=None, unitary_circuit_factory=None, shallow_circuit_concat=False, pauli_list=None)" modifiers="class">
Bases: `object`
Quantum Phase Estimation Circuit.
**Parameters**
* **operator** (`Optional`\[`WeightedPauliOperator`]) the hamiltonian Operator object
* **state\_in** (`Union`\[`QuantumCircuit`, `InitialState`, `None`]) the InitialState component or a quantum circuit
* **the initial quantum state** (*representing*)
* **iqft** (`Optional`\[`QuantumCircuit`]) the Inverse Quantum Fourier Transform as circuit or Aqua component
* **num\_time\_slices** (`int`) the number of time slices
* **num\_ancillae** (`int`) the number of ancillary qubits to use for the measurement
* **expansion\_mode** (`str`) the expansion mode (trotter|suzuki)
* **expansion\_order** (`int`) the suzuki expansion order
* **evo\_time** (`float`) the evolution time
* **state\_in\_circuit\_factory** (`Optional`\[`CircuitFactory`]) the initial state represented by a CircuitFactory object
* **unitary\_circuit\_factory** (`Optional`\[`CircuitFactory`]) the problem unitary represented by a CircuitFactory object
* **shallow\_circuit\_concat** (`bool`) indicate whether to use shallow (cheap) mode for circuit concatenation
* **pauli\_list** (`Optional`\[`List`\[`Pauli`]]) the flat list of paulis for the operator
**Raises**
[**AquaError**](qiskit.aqua.AquaError "qiskit.aqua.AquaError") Missing input
## Methods
### construct\_circuit
<Function id="qiskit.aqua.circuits.PhaseEstimationCircuit.construct_circuit" signature="PhaseEstimationCircuit.construct_circuit(state_register=None, ancillary_register=None, auxiliary_register=None, measurement=False)">
Construct the Phase Estimation circuit
**Parameters**
* **state\_register** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")) the optional register to use for the quantum state
* **ancillary\_register** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")) the optional register to use for
* **ancillary measurement qubits** (*the*)
* **auxiliary\_register** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")) an optional auxiliary quantum register
* **measurement** (*bool*) Boolean flag to indicate if measurement should be included
* **the circuit.** (*in*)
**Returns**
the QuantumCircuit object for the constructed circuit
**Return type**
[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")
**Raises**
* **RuntimeError** Multiple identity pauli terms are present
* **ValueError** invalid mode
</Function>
## Attributes
### ancillary\_register
<Attribute id="qiskit.aqua.circuits.PhaseEstimationCircuit.ancillary_register">
returns ancillary register
</Attribute>
### auxiliary\_register
<Attribute id="qiskit.aqua.circuits.PhaseEstimationCircuit.auxiliary_register">
returns auxiliary register
</Attribute>
### state\_register
<Attribute id="qiskit.aqua.circuits.PhaseEstimationCircuit.state_register">
returns state register
</Attribute>
</Class>