Skip to content

Reference: Simple Qubricks

Contents


QFT Class

psiqworkbench.qubricks.qbk_simple.QFT

QFT(**kwargs)

Bases: Qubrick

Qubrick to compute the quantum Fourier transform.

compute

compute(target: Qubits, ctrl: Qubits | int = 0, do_bit_reverse: bool = True, error_param: float = 0)

Compute the QFT.

Parameters:

Name Type Description Default
target Qubits

The register to perform QFT on.

required
ctrl Qubits or None

Optional quantum control.

0
do_bit_reverse bool

Optionally enable/disable for trailing bit reversal.

True
error_param float

Optional error parameter for all rotations.

0
Note

error_param sets the precision of each angle in the QFT (not the overall error).


CondInvert Class

psiqworkbench.qubricks.qbk_simple.CondInvert

CondInvert(**kwargs)

Bases: Qubrick

Basic ~ (bitwise inversion).

compute

compute(lhs: Qubits)

Compute ~lhs in-place.

Parameters:

Name Type Description Default
lhs Qubits

The register to invert.

required

CondXor Class

psiqworkbench.qubricks.qbk_simple.CondXor

CondXor(**kwargs)

Bases: Qubrick

Basic XOR.

compute

compute(lhs: Qubits, rhs: Qubits)

Compute lhs = lhs ^ rhs.

Parameters:

Name Type Description Default
lhs Qubits

Left-hand operand of XOR.

required
rhs Qubits

Right-hand operand of XOR.

required

CompareEQ Class

psiqworkbench.qubricks.qbk_simple.CompareEQ

CompareEQ(**kwargs)

Bases: Qubrick

Basic == (equality).

compute

compute(lhs: Qubits, rhs: Qubits | int)

Compute (lhs == rhs).

Parameters:

Name Type Description Default
lhs Qubits

Left-hand operand.

required
rhs Qubits | int

Right-hand operand.

required

CompareNE Class

psiqworkbench.qubricks.qbk_simple.CompareNE

CompareNE(**kwargs)

Bases: Qubrick

Basic != (inequality).

compute

compute(lhs: Qubits, rhs: Qubits | int)

Compute (lhs != rhs).

Parameters:

Name Type Description Default
lhs Qubits

Left-hand operand.

required
rhs Qubits | int

Right-hand operand.

required

CompareLT Class

psiqworkbench.qubricks.qbk_simple.CompareLT

CompareLT(restore_inputs: bool = False, **kwargs)

Bases: Qubrick

Basic Gidney < (less-than).

compute

compute(lhs: Qubits, rhs: Qubits | int | float)

Compute (lhs < rhs).

Parameters:

Name Type Description Default
lhs Qubits

Left-hand operand.

required
rhs Qubits or int or float

Right-hand operand.

required

CompareGE Class

psiqworkbench.qubricks.qbk_simple.CompareGE

CompareGE(restore_inputs: bool = False, **kwargs)

Bases: Qubrick

Basic Gidney >= (greater-than-or-equal).

compute

compute(lhs: Qubits, rhs: Qubits | int | float)

Compute (lhs >= rhs).

Parameters:

Name Type Description Default
lhs Qubits

Left-hand operand

required
rhs Qubits or int or float

Right-hand operand

required

CompareGT Class

psiqworkbench.qubricks.qbk_simple.CompareGT

CompareGT(restore_inputs: bool = False, **kwargs)

Bases: Qubrick

Basic Gidney > (greater-than).

compute

compute(lhs: Qubits, rhs: Qubits | int | float)

Compute (lhs > rhs).

Parameters:

Name Type Description Default
lhs Qubits

Left-hand operand.

required
rhs Qubits or int or float

Right-hand operand.

required

CompareLE Class

psiqworkbench.qubricks.qbk_simple.CompareLE

CompareLE(restore_inputs: bool = False, **kwargs)

Bases: Qubrick

Basic Gidney <= (less-than-or-equal).

compute

compute(lhs: Qubits, rhs: Qubits | int | float)

Compute (lhs <= rhs).

Parameters:

Name Type Description Default
lhs Qubits

Left-hand operand.

required
rhs Qubits or int or float

Right-hand operand.

required