# siGate

Inverse S gate

Since R2023a

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

## Syntax

``g = siGate(targetQubit)``

## Description

````g = siGate(targetQubit)` applies an inverse S gate to a single target qubit and returns a `quantum.gate.SimpleGate` object.If `targetQubit` is a vector of qubit indices, `siGate` returns a column vector of gates, where `g(i)` represents an inverse 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 `siGate(targetQubit)` is equivalent to `r1Gate(targetQubit,-pi/2)`.```

example

## Examples

collapse all

Create an inverse S gate that acts on a single qubit.

`g = siGate(1)`
```g = SimpleGate with properties: Type: "si" 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 inverse S gates that act on qubits with indices 1 to 4.

`g = siGate(1:4)`
```g = 4×1 SimpleGate array with gates: Id Gate Control Target 1 si 1 2 si 2 3 si 3 4 si 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`

collapse all

### Matrix Representation of Inverse S Gate

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

`$\left[\begin{array}{cc}1& 0\\ 0& \mathrm{exp}\left(-i\text{\hspace{0.17em}}\frac{\pi }{2}\right)\end{array}\right]=\left[\begin{array}{cc}1& 0\\ 0& -i\end{array}\right].$`

Applying this gate is equivalent to applying an R1 gate with a rotation angle of –π/2. Applying the inverse S gate twice is equivalent to applying the Pauli Z gate.

## Version History

Introduced in R2023a