oracle_study

oracq.applications.oracle_study

Binding experiments pairing one diagonal-operator algorithm with a gate table, QRAM and reversible integer arithmetic.

oracq.applications.oracle_study.oracle_study(width=2, repetitions=1)[source]

Build an open program and three implementations; the data word is (address + 1) mod 2**width.

The program prepares target uniformly and repeatedly calls the angle-word driven diagonal rotation. The zero-signal block diagonal element is cos(repetitions * pi * word / 2**width). This identity is used only for the rotation dilation in this example and is not claimed as a general property of powers of arbitrary block encodings.

oracq.applications.oracle_study.oracle_study_reference(width, repetitions)[source]

Independent trigonometric reference, including the complex amplitudes of the success and failure signals.