guppyalgos.algorithms.phase_estimation.canonical_phase_estimation

Phase estimation.

Functions

iqpe(phase_reg, unitary_regs, ...)

Algorithmic primitive for canonical quantum phase estimation.

qpe(phase_reg, unitary_regs, power_oracle)

Algorithmic primitive for canonical quantum phase estimation.

guppyalgos.algorithms.phase_estimation.canonical_phase_estimation.iqpe(phase_reg, unitary_regs, inverse_power_oracle)

Algorithmic primitive for canonical quantum phase estimation.

Parameters:
  • phase_reg – The phase register on which the phase is written.

  • unitary_regs – Registers acted on by the powered controlled unitary. It is the responsibility of the powered unitary to interpret this set of registers correctly.

  • inverse_power_oracle – Controlled oracle for the inverse unitary powers.

Returns:

The binary power phase kickback encoded ancilla register in superposition with the unitary registers.

guppyalgos.algorithms.phase_estimation.canonical_phase_estimation.qpe(phase_reg, unitary_regs, power_oracle)

Algorithmic primitive for canonical quantum phase estimation.

Parameters:
  • phase_reg – The phase register on which the phase is written.

  • unitary_regs – Registers acted on by the powered controlled unitary. It is the responsibility of the powered unitary to interpret this set of registers correctly.

  • power_oracle – Controlled oracle that applies the requested unitary power.

Returns:

The binary power phase kickback encoded ancilla register in superposition with the unitary registers.