Main Content

sGate

S gate

Since R2023a

Installation Required: This functionality requires MATLAB Support Package for Quantum Computing.

Description

g = sGate(targetQubit) applies an S gate to a single target qubit and returns a quantum.gate.SimpleGate object.

If targetQubit is a vector of qubit indices, sGate returns a column vector of gates, where g(i) represents an S gate applied to a qubit with index targetQubit(i).

Applying this gate is equivalent to applying an R1 gate with a rotation angle of π/2, meaning that sGate(targetQubit) is equivalent to r1Gate(targetQubit,pi/2).

example

Examples

collapse all

Create an S gate that acts on a single qubit.

g = sGate(1)
g = 

  SimpleGate with properties:

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

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 S gates that act on qubits with indices 1 to 4.

g = sGate(1:4)
g = 

  4×1 SimpleGate array with gates:

    Id   Gate   Control   Target
     1   s                1     
     2   s                2     
     3   s                3     
     4   s                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

More About

collapse all

Matrix Representation of S Gate

The matrix representation of an S gate applied to a single qubit is

[100exp(iπ2)]=[100i].

Applying this gate is equivalent to applying an R1 gate with a rotation angle of π/2. This gate is also known as the square root of Pauli Z gate because applying the S gate twice is equivalent to applying the Pauli Z gate.

Version History

Introduced in R2023a