Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

PhaseEstimationCircuit

class 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)

GitHub

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 – Missing input


Methods

construct_circuit

PhaseEstimationCircuit.construct_circuit(state_register=None, ancillary_register=None, auxiliary_register=None, measurement=False)

Construct the Phase Estimation circuit

Parameters

  • state_register (QuantumRegister) – the optional register to use for the quantum state
  • ancillary_register (QuantumRegister) – the optional register to use for
  • ancillary measurement qubits (the) –
  • auxiliary_register (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

Raises

  • RuntimeError – Multiple identity pauli terms are present
  • ValueError – invalid mode

Attributes

ancillary_register

returns ancillary register

auxiliary_register

returns auxiliary register

state_register

returns state register

Was this page helpful?
Report a bug or request content on GitHub.