qdk_chemistry.plugins.qiskit.phase_estimation_circuit_builder module
Qiskit-based phase estimation circuit builder.
This module provides the Qiskit-specific implementation of the standard QPE circuit builder, extending the base StandardQpeCircuitBuilder with Qiskit QuantumCircuit support.
- class qdk_chemistry.plugins.qiskit.phase_estimation_circuit_builder.QiskitIterativeQpeCircuitBuilder(num_bits=-1, phase_correction=0.0, num_iteration=-1, controlled_circuit_mapper=None, unitary_builder=None)[source]
Bases:
IterativeQpeCircuitBuilderQiskit-based iterative phase estimation circuit builder.
Extends IterativeQpeCircuitBuilder to add support for Qiskit QuantumCircuit objects.
- Parameters:
num_bits (int)
phase_correction (float)
num_iteration (int)
controlled_circuit_mapper (AlgorithmRef | None)
unitary_builder (AlgorithmRef | None)
- __init__(num_bits=-1, phase_correction=0.0, num_iteration=-1, controlled_circuit_mapper=None, unitary_builder=None)[source]
Initialize QiskitIterativeQpeCircuitBuilder with the given settings.
- Parameters:
num_bits (
int) – The number of phase bits to estimate. Default to -1; user needs to set a valid value.phase_correction (
float) – The accumulated phase feedback from prior iterations. Default to 0.0.num_iteration (
int) – The specific iteration to build. Default to -1 (build all iterations).controlled_circuit_mapper (
AlgorithmRef|None) – AlgorithmRef | None = None,unitary_builder (
AlgorithmRef|None) – AlgorithmRef | None = None,
- class qdk_chemistry.plugins.qiskit.phase_estimation_circuit_builder.QiskitStandardQpeCircuitBuilder(num_bits=-1, qft_do_swaps=True, controlled_circuit_mapper=None, unitary_builder=None)[source]
Bases:
StandardQpeCircuitBuilderQiskit-based standard (QFT-based) phase estimation circuit builder.
Extends StandardQpeCircuitBuilder to add support for Qiskit QuantumCircuit objects. Constructs the full QPE circuit (state prep, controlled unitaries, inverse QFT, measurements) without executing it.
- Parameters:
num_bits (int)
qft_do_swaps (bool)
controlled_circuit_mapper (AlgorithmRef | None)
unitary_builder (AlgorithmRef | None)
- __init__(num_bits=-1, qft_do_swaps=True, controlled_circuit_mapper=None, unitary_builder=None)[source]
Initialize QiskitStandardQpeCircuitBuilder with the given settings.
- Parameters:
num_bits (
int) – The number of phase bits to estimate. Default to -1; user needs to set a valid value.qft_do_swaps (
bool) – Whether to apply swap gates in the QFT. Defaults to True.controlled_circuit_mapper (
AlgorithmRef|None) – Optional algorithm reference for the controlled circuit mapper.unitary_builder (
AlgorithmRef|None) – Optional algorithm reference for the unitary builder.
- build_circuit(state_preparation, qubit_hamiltonian)[source]
Build the standard QPE circuit using Qiskit.
- Parameters:
state_preparation (
Circuit) – The circuit that prepares the initial state.qubit_hamiltonian (
QubitOperator) – The qubit operator for which to estimate the phase.
- Return type:
- Returns:
The constructed QPE quantum circuit.