qbraid_algorithms.qpe.PhaseEstimationLibrary
- class qbraid_algorithms.qpe.PhaseEstimationLibrary(*args, **kwargs)
Library to implement phase estimation circuits directly related to classical phase estimation algorithms.
- __init__(*args, **kwargs)
Initialize the gate library with necessary components.
- Parameters:
gate_import – List of imported gate libraries
gate_ref – List of available gate names
gate_defs – Dictionary of gate definitions
program_append – Function to append code to the program
builder – Reference to the circuit builder
annotated – Whether to use annotated syntax
Methods
__init__(*args, **kwargs)Initialize the gate library with necessary components.
add_gate(name, gate_def)Add a custom gate definition to the library.
add_var(name[, assignment, qtype])simple stub for programatically adding a variable
begin_gate(name, qargs[, params])GATE DEFINITION
begin_if(conditional)CONDITIONAL BLOCK
begin_loop(iterator[, ident])LOOPS
begin_subroutine(name, parameters[, return_type])SUBROUTINE DEFINITION
call_gate(gate, target[, controls, phases, ...])GATE APPLICATION
call_subroutine(subroutine, parameters[, ...])SUBROUTINE APPLICATION
close_scope()Close the current scope block and decrease indentation level.
comment(line)COMMENTS
controlled_op(gate_call, params[, n])CONTROLLED OPERATIONS
end_gate()End gate definition block.
end_if()End conditional block.
end_loop()End loop block.
end_subroutine()End subroutine definition block.
inverse_op(qubits, spectra, hamiltonian[, ...])Implements the inverse (reversed) sequence for the application of phase estimation.
measure(qubits, clbits)MEASUREMENT
merge(program, imports, definitions, name)Merges data from a built library/GateBuilder into the current library bases scope :type program: :param program: Gate body which is added into definitions :type imports: :param imports: all imports the gate depends on :param gate_def: Gate definitions for any child gates/dynamic libraries used
phase_estimation(qubits, spectra, hamiltonian)Implements the quantum phase estimation algorithm using the provided qubits, ancilla clock register (spectra), and Hamiltonian.