qdk_chemistry.algorithms.controlled_circuit_mapper.controlled_psp_mapper module
QDK/Chemistry PREPARE-SELECT-PREPARE controlled circuit mapper.
- class qdk_chemistry.algorithms.controlled_circuit_mapper.controlled_psp_mapper.ControlledPSPMapper[source]
Bases:
ControlledCircuitMapperControlled circuit mapper using the PREPARE-SELECT-PREPARE pattern.
Composes a controlled block encoding from:
PREPARE — amplitude-loading into the ancilla register, resolved via the
preparesetting. Defaults toDensePureStatePreparation.SELECT — Pauli SELECT oracle applied on the system register, constructed directly from the block-encoding container’s SELECT data.
The two callables are stitched together by the Q#
PrepSelPrepoperation:\[B[H] = \mathrm{PREPARE}^\dagger \cdot \mathrm{SELECT} \cdot \mathrm{PREPARE}\]When the input is an
LCUWalkContainer, the block encoding is additionally wrapped with the reflection operator to form a quantum walk:\[W = (2|0\rangle\langle 0| - I) \cdot B[H]\]
- class qdk_chemistry.algorithms.controlled_circuit_mapper.controlled_psp_mapper.ControlledPSPMapperSettings[source]
Bases:
ControlledCircuitMapperSettingsSettings for the ControlledPSPMapper.
- prepare
Algorithm reference for the PREPARE oracle state preparation. Defaults to
DensePureStatePreparation.