GatesExtension ClassA Sandcastle Documented Class Library

Important extensions for performing any operation referencing more than one register, e.g. C-NOT where the control bit is in different register than the target bit.

This class contains every quantum gate operation implemented in Register class, which enables performing them on qubits in different registers.

Inheritance Hierarchy

System Object
  Quantum.Operations GatesExtension

Namespace: Quantum.Operations
Assembly: Quantum (in Quantum.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax

public static class GatesExtension

The GatesExtension type exposes the following members.

Methods

  NameDescription
Public methodStatic memberCNot

Performs a controlled not operation (C-NOT Gate). The target bit gets inverted if the control bit is enabled. The operation can be written as the unitary operation matrix:

Public methodStatic memberCPhaseShift

Performs a conditional phase kick (or phase shift) on the registers' state by the angle PI / 2 ^ dist. The operation is represented by the unitary matrix:

Public methodStatic memberGate1

Performs any arbitrary unitary operation on target qubit. The operation is described by unitary matrix of complex numbers, as follows:

Public methodStatic memberHadamard

Applies the Hadamard gate to the target qubit. The unitary matrix for this operation is:

Public methodStatic memberInverseCPhaseShift

Performs a inversed conditional phase kick (or phase shift) on the registers' state by the angle PI / 2 ^ dist. The operation is represented by the unitary matrix:

Public methodStatic memberPhaseKick

Performs a phase kick (or phase shift) on the the registers' state. The operation is represented by the unitary matrix:

The controlled version of this operation can be written as an other unitary matrix:

Public methodStatic memberPhaseScale

Adds a global phase on the registers' state. The operation is represented by the unitary matrix:

Public methodStatic memberReset
Public methodStatic memberRotateX

Performs a rotation of the target qubit about the x-axis of the Bloch sphere. The angle of rotation is given in first argument (double gamma). The unitary matrix of this operation is:

Public methodStatic memberRotateY

Performs a rotation of the target qubit about the y-axis of the Bloch sphere. The angle of rotation is given in first argument (double gamma). The operation is represented by the unitary matrix:

Public methodStatic memberRotateZ

Performs a rotation of the target qubit about the z-axis of the Bloch sphere. The angle of rotation is given in first argument (double gamma). The operation is represented by the unitary matrix:

Public methodStatic memberSigmaX

Performs a Sigma X Pauli's Gate on target qubit. Actually, it is a simple Not. The unitary operation matrix is:

Public methodStatic memberSigmaY

Performs a Sigma Y Pauli's Gate on target qubit. The operation is represented by unitary matrix:

Public methodStatic memberSigmaZ

Performs a Sigma Z Pauli's Gate on target qubit. The operation is represented by unitary matrix:

Public methodStatic memberSqrtX

Performs the Square Root of Not on the target qubit. The Square Root of Not Gate is such a gate, that applied twice, performs Not operation. The operation can be represented as the unitary matrix:

Public methodStatic memberToffoli

Applies Toffoli gate. If all of the control bits are enabled, the target bit gets inverted. This gate with more than two control bits is not considered elementary and is not available on all physical realizations of a quantum computer. Toffoli gate with two control bits can be represented by unitary matrix:

Top
See Also