Skip to content

workbench_algorithms.experimental.subroutines.interfaces

Interfaces for state preparation Qubricks.

StatePrepDataInterface

Interface for dataclasses being passed to state preparation Qubricks.

MultiplexedRotationDataInterface

Interface for dataclasses being passed to multiplexed rotation Qubricks.

StatePreparation

Bases: Protocol

Interface for arbitrary state preparation Qubricks.

AmplitudePreparation

Bases: Protocol

Interface for state preparation Qubricks that only prepare real, positive amplitudes.

PhasePreparation

Bases: Protocol

Interface for Qubricks that apply phase corrections to prepared amplitudes.

MultiplexedRotations

Bases: Protocol

Interface for Qubricks that handle multiplexing over a series of rotations.

SuperpositionRotations

Bases: Protocol

Interface for Qubricks that apply a number of rotations in superposition simultaneously.

QROM

Bases: Protocol

NOTE: Not final implementation, just to get things working for now.

UniformStatePreparation

Bases: Protocol

NOTE: Not final implementation, just to get things working for now.

Multiplexor

Bases: Protocol

NOTE: Not final implementation, just to get things working for now.

Antisymmetrization

Bases: Protocol

NOTE: Not final implementation, just to get things working for now.

Permutation

Bases: Protocol

Interface for Qubricks that apply permutation to register.

Sort

Bases: Protocol

Interface for Qubricks that sort qubit register.

HammingWeight

Bases: Protocol

Interface for Qubricks that compute Hamming Weight.

QPEWindowFunction

Bases: Protocol

Interface for Qubricks that compute QPE Window Function.

DysonSeriesSelect

Bases: Protocol

Interface for Qubricks that apply the Dyson series select operator.

BinaryToUnaryUncomputation

Bases: Protocol

Interface for Qubricks that compute reversal of Binary to Unary conversion.

FlagCollisions

Bases: Protocol

Interface for Qubricks that compute Flag Collision.

GivensRotation

Bases: Protocol, Generic[T]

Interface for Qubricks that compute Givens Rotation.

Select

Bases: Protocol

Interface for Qubricks that compute Select circuit.

HammingWeightPhasing

Bases: Protocol

Interface for Qubricks that apply Hamming weight phasing.

InjectOp

Bases: Protocol

Interface for Qubricks that compute Inject circuit.

MajoranaFermionOperator

Bases: Protocol

Interface for Qubricks that compute the Majorana Fermion Operation.

DotProduct

Bases: Protocol

Interface for Qubricks that compute dot products of vectors.

VectorAdder

Bases: Protocol

Interface for Qubricks that compute the sum (or difference) of two vectors.

BasisTransform

Bases: Protocol

Interface for Qubricks that compute Basis Transform.

PrepareWState

Bases: Protocol

Interface for Qubricks that Prepares a W state.

FlaggedQPEWindowFunction

Bases: Protocol

Interface for Qubricks that compute window function.

EncodingChange

Bases: Protocol

Interface for Qubricks that compute the encoding change.

SwapUpInterface

Bases: Protocol

Interface for Qubricks that compute the SwapUp circuit.

Trotterization

Bases: Protocol

Interface for Qubricks that execute the Suzuki-Trotter circuit.