Main Content

r1Gate

z-axis rotation gate with global phase

Since R2023a

Description

Add-On Required: This feature requires the MATLAB Support Package for Quantum Computing add-on.

g = r1Gate(targetQubit,theta) applies an R1 gate (z-axis rotation gate with global phase) to a single target qubit and returns a quantum.gate.SimpleGate object. This gate changes the phase of the |1 state by an angle of theta.

  • If targetQubit and theta are vectors of qubit indices and angles with the same length, r1Gate returns a column vector of gates, where g(i) represents a z-axis rotation gate with global phase applied to a qubit with index targetQubit(i) with a rotation angle of theta(i).

  • If either targetQubit or theta is a scalar, and the other input is a vector, then MATLAB® expands the scalar to match the size of the vector input.

example

Examples

collapse all

Create an R1 gate that acts on a single qubit with rotation angle pi/2.

g = r1Gate(1,pi/2)
g = 

  SimpleGate with properties:

             Type: "r1"
    ControlQubits: [1×0 double]
     TargetQubits: 1
           Angles: 1.5708

Get the matrix representation of the gate.

M = getMatrix(g)
M =

   1.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 1.0000i

Create an array of three R1 gates. The first gate acts on qubit 1 with rotation angle pi/4, the next gate acts on qubit 2 with rotation angle pi/2, and the final gate acts on qubit 3 with rotation angle 3*pi/4.

g = r1Gate(1:3,pi/4*(1:3))
g = 

  3×1 SimpleGate array with gates:

    Id   Gate   Control   Target   Angle
     1   r1               1        pi/4 
     2   r1               2        pi/2 
     3   r1               3        3pi/4

Input Arguments

collapse all

Target qubit of the gate, specified as a positive integer scalar index or vector of qubit indices.

Example: 1

Example: 3:5

Rotation angle, specified as a real scalar, real vector, string scalar, string vector, symbolic scalar, or symbolic vector. Specify the rotation angle as a vector to create an array of gates where each element of the vector corresponds to the rotation angle of one gate.

Use strings or symbolic values to specify variables for parameterized rotation angles. You can specify values for parameters when calling the simulate, getMatrix, and observe functions on a quantum circuit that contains parameterized gates. (since R2026a)

Example: pi

Example: (1:3)*pi/2

Example: ["x" "y" "z"]

More About

collapse all

Version History

Introduced in R2023a

expand all