autoqasm.instructions.gates module

Quantum gates, unitary instructions, that apply to qubits.

autoqasm.instructions.gates.ccnot(control_0: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, control_1: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

CCNOT gate or Toffoli gate.

Parameters:
  • control_0 (QubitIdentifierType) – Control qubit 0.

  • control_1 (QubitIdentifierType) – Control qubit 1.

  • target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.cc_prx(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, angle_0: float | FreeParameterExpression | _ClassicalVar, angle_1: float | FreeParameterExpression | _ClassicalVar, feedback_key: int, **kwargs) None[source]

Classically-controlled Phased Rx gate.

Applies prx() to target on the runtime branches where the classical feedback bit identified by feedback_key is 1. The feedback bit is produced by a prior measure_ff() with the same feedback_key.

This is an IQM experimental capability. See braket.experimental_capabilities.iqm.classical_control.CCPRx for the corresponding Braket SDK surface.

Parameters:
  • target (QubitIdentifierType) – Target qubit.

  • angle_0 (GateParameterType) – First PRx angle in radians.

  • angle_1 (GateParameterType) – Second PRx angle in radians.

  • feedback_key (int) – Integer key identifying which prior measure_ff result gates this operation. Must be the same value passed to the corresponding measure_ff() call.

autoqasm.instructions.gates.cnot(control: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Controlled NOT gate.

Parameters:
  • control (QubitIdentifierType) – Control qubit.

  • target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.cphaseshift(control: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Controlled phase shift gate.

Parameters:
  • control (QubitIdentifierType) – Control qubit.

  • target (QubitIdentifierType) – Target qubit.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.cphaseshift00(control: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Controlled phase shift gate for phasing the |00> state.

Parameters:
  • control (QubitIdentifierType) – Control qubit.

  • target (QubitIdentifierType) – Target qubit.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.cphaseshift01(control: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Controlled phase shift gate for phasing the |01> state.

Parameters:
  • control (QubitIdentifierType) – Control qubit.

  • target (QubitIdentifierType) – Target qubit.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.cphaseshift10(control: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Controlled phase shift gate for phasing the |10> state.

Parameters:
  • control (QubitIdentifierType) – Control qubit.

  • target (QubitIdentifierType) – Target qubit.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.cswap(control: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target_0: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target_1: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Controlled Swap gate.

Parameters:
  • control (QubitIdentifierType) – Control qubit.

  • target_0 (QubitIdentifierType) – Target qubit 0.

  • target_1 (QubitIdentifierType) – Target qubit 1.

autoqasm.instructions.gates.cv(control: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Controlled Sqrt of NOT gate.

Parameters:
  • control (QubitIdentifierType) – Control qubit.

  • target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.cy(control: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Controlled Pauli-Y gate.

Parameters:
  • control (QubitIdentifierType) – Control qubit.

  • target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.cz(control: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Controlled Pauli-Z gate.

Parameters:
  • control (QubitIdentifierType) – Control qubit.

  • target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.ecr(target_0: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target_1: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

An echoed RZX(pi/2) gate.

Parameters:
  • target_0 (QubitIdentifierType) – Target qubit 0.

  • target_1 (QubitIdentifierType) – Target qubit 1.

autoqasm.instructions.gates.gphase(theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Global phase gate.

Parameters:

theta (GateParameterType) – Global phase in radians.

autoqasm.instructions.gates.gpi(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

IonQ GPi gate.

Parameters:
  • target (QubitIdentifierType) – Target qubit.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.gpi2(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

IonQ GPi2 gate.

Parameters:
  • target (QubitIdentifierType) – Target qubit.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.h(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Hadamard gate.

Parameters:

target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.i(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Identity gate.

Parameters:

target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.iswap(target_0: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target_1: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

ISwap gate.

Parameters:
  • target_0 (QubitIdentifierType) – Target qubit 0.

  • target_1 (QubitIdentifierType) – Target qubit 1.

autoqasm.instructions.gates.ms(target_0: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target_1: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, angle_0: float | FreeParameterExpression | _ClassicalVar, angle_1: float | FreeParameterExpression | _ClassicalVar, angle_2: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

IonQ Mølmer-Sørenson gate.

Parameters:
  • target_0 (QubitIdentifierType) – Target qubit 0.

  • target_1 (QubitIdentifierType) – Target qubit 1.

  • angle_0 (GateParameterType) – Rotation angle 0 in radians.

  • angle_1 (GateParameterType) – Rotation angle 1 in radians.

  • angle_2 (GateParameterType) – Rotation angle 2 in radians.

autoqasm.instructions.gates.phaseshift(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Phase shift gate.

Parameters:
  • target (QubitIdentifierType) – Target qubit.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.prx(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, angle_0: float | FreeParameterExpression | _ClassicalVar, angle_1: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

PhaseRx gate.

Parameters:
  • target (QubitIdentifierType) – Target qubit.

  • angle_0 (GateParameterType) – First angle in radians.

  • angle_1 (GateParameterType) – Second angle in radians.

autoqasm.instructions.gates.pswap(target_0: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target_1: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

PSwap gate.

Parameters:
  • target_0 (QubitIdentifierType) – Target qubit 0.

  • target_1 (QubitIdentifierType) – Target qubit 1.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.rx(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

X-axis rotation gate.

Parameters:
  • target (QubitIdentifierType) – Target qubit.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.ry(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Y-axis rotation gate.

Parameters:
  • target (QubitIdentifierType) – Target qubit.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.rz(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Z-axis rotation gate.

Parameters:
  • target (QubitIdentifierType) – Target qubit.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.s(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

S gate.

Parameters:

target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.si(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Conjugate transpose of S gate.

Parameters:

target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.swap(target_0: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target_1: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Swap gate.

Parameters:
  • target_0 (QubitIdentifierType) – Target qubit 0.

  • target_1 (QubitIdentifierType) – Target qubit 1.

autoqasm.instructions.gates.t(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

T gate.

Parameters:

target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.ti(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Conjugate transpose of T gate.

Parameters:

target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.u(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, angle_0: float | FreeParameterExpression | _ClassicalVar, angle_1: float | FreeParameterExpression | _ClassicalVar, angle_2: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Generalized single-qubit rotation gate.

Parameters:
  • target (QubitIdentifierType) – Target qubit.

  • angle_0 (GateParameterType) – Rotation angle theta in radians.

  • angle_1 (GateParameterType) – Rotation angle phi in radians.

  • angle_2 (GateParameterType) – Rotation angle lambda in radians.

autoqasm.instructions.gates.v(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Square root of not gate.

Parameters:

target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.vi(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Conjugate transpose of square root of not gate.

Parameters:

target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.x(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Pauli-X gate.

Parameters:

target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.xx(target_0: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target_1: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Ising XX coupling gate.

Parameters:
  • target_0 (QubitIdentifierType) – Target qubit 0.

  • target_1 (QubitIdentifierType) – Target qubit 1.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.xy(target_0: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target_1: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

XY gates

Parameters:
  • target_0 (QubitIdentifierType) – Target qubit 0.

  • target_1 (QubitIdentifierType) – Target qubit 1.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.y(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Pauli-Y gate.

Parameters:

target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.yy(target_0: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target_1: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Ising YY coupling gate.

Parameters:
  • target_0 (QubitIdentifierType) – Target qubit 0.

  • target_1 (QubitIdentifierType) – Target qubit 1.

  • theta (GateParameterType) – Rotation angle in radians.

autoqasm.instructions.gates.z(target: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, **kwargs) None[source]

Pauli-Z gate.

Parameters:

target (QubitIdentifierType) – Target qubit.

autoqasm.instructions.gates.zz(target_0: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, target_1: int | str | Qubit | _ClassicalVar | OQPyExpression | Qubit, theta: float | FreeParameterExpression | _ClassicalVar, **kwargs) None[source]

Ising ZZ coupling gate.

Parameters:
  • target_0 (QubitIdentifierType) – Target qubit 0.

  • target_1 (QubitIdentifierType) – Target qubit 1.

  • theta (GateParameterType) – Rotation angle in radians.