Quantum Circuits Library: Two-qubit gates

CNotGate

QuantumCircuitOpt.CNotGateFunction
CNotGate()

Two-qubit controlled NOT gate with control and target on first and second qubits, respectively. This is also called the controlled X gate (CXGate).

Circuit Representation

q_0: ──■──
     ┌─┴─┐
q_1: ┤ X ├
     └───┘

Matrix Representation

\[CNot = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix}\]

source

CNotRevGate

QuantumCircuitOpt.CNotRevGateFunction
CNotRevGate()

Two-qubit reverse controlled NOT gate, with target and control on first and second qubits, respectively.

Circuit Representation

     ┌───┐
q_0: ┤ X ├
     └─┬─┘
q_1: ──■──

Matrix Representation

\[CNotRev = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{pmatrix}\]

source

DCXGate

QuantumCircuitOpt.DCXGateFunction
DCXGate()

Two-qubit double controlled NOT gate consisting of two back-to-back CNotGates with alternate controls.

Circuit Representation

          ┌───┐
q_0: ──■──┤ X ├
     ┌─┴─┐└─┬─┘
q_1: ┤ X ├──■──
     └───┘

Matrix Representation

\[DCX = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \end{pmatrix}\]

source

CXGate

QuantumCircuitOpt.CXGateFunction
CXGate()

Two-qubit controlled XGate, which is also the same as CNotGate.

Circuit Representation

q_0: ──■──
     ┌─┴─┐
q_1: ┤ X ├
     └───┘

Matrix Representation

\[CX = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix}\]

source

CXRevGate

QuantumCircuitOpt.CXRevGateFunction
CXRevGate()

Two-qubit reverse controlled-X gate, with target and control on first and second qubits, respectively. This is also the same as CNotRevGate.

Circuit Representation

     ┌───┐
q_0: ┤ X ├
     └─┬─┘
q_1: ──■──

Matrix Representation

\[CXRev = I \otimes |0 \rangle\langle 0| + X \otimes |1 \rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{pmatrix}\]

source

CYGate

QuantumCircuitOpt.CYGateFunction
CYGate()

Two-qubit controlled YGate.

Circuit Representation

q_0: ──■──
     ┌─┴─┐
q_1: ┤ Y ├
     └───┘

Matrix Representation

\[CY = |0 \rangle\langle 0| \otimes I + |1 \rangle\langle 1| \otimes Y = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & -i \\ 0 & 0 & i & 0 \end{pmatrix}\]

source

CYRevGate

QuantumCircuitOpt.CYRevGateFunction
CYRevGate()

Two-qubit reverse controlled-Y gate, with target and control on first and second qubits, respectively.

Circuit Representation

     ┌───┐
q_0: ┤ Y ├
     └─┬─┘
q_1: ──■──

Matrix Representation

\[CYRev = I \otimes |0 \rangle\langle 0| + Y \otimes |1 \rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & -i \\ 0 & 0 & 1 & 0 \\ 0 & i & 0 & 0 \end{pmatrix}\]

source

CZGate

QuantumCircuitOpt.CZGateFunction
CZGate()

Two-qubit, symmetric, controlled ZGate.

Circuit Representation

q_0: ──■──     ─■─
     ┌─┴─┐  ≡   │
q_1: ┤ Z ├     ─■─
     └───┘

Matrix Representation

\[CZ = |0 \rangle\langle 0| \otimes I + |1 \rangle\langle 1| \otimes Z = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & -1 \end{pmatrix}\]

source

CHGate

QuantumCircuitOpt.CHGateFunction
CHGate()

Two-qubit, symmetric, controlled Hadamard gate (HGate).

Circuit Representation

q_0: ──■──
     ┌─┴─┐  
q_1: ┤ H ├    
     └───┘

Matrix Representation

\[CH = |0\rangle\langle 0| \otimes I + |1\rangle\langle 1| \otimes H = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ 0 & 0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{pmatrix}\]

source

CHRevGate

QuantumCircuitOpt.CHRevGateFunction
CHRevGate()

Two-qubit reverse controlled-H gate, with target and control on first and second qubits, respectively.

Circuit Representation

     ┌───┐
q_0: ┤ H ├
     └─┬─┘
q_1: ──■──

Matrix Representation

\[CHRev = I \otimes |0\rangle\langle 0| + H \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & \frac{1}{\sqrt{2}} & 0 & \frac{1}{\sqrt{2}} \\ 0 & 0 & 1 & 0 \\ 0 & \frac{1}{\sqrt{2}} & 0 & -\frac{1}{\sqrt{2}} \end{pmatrix}\]

source

CVGate

QuantumCircuitOpt.CVGateFunction
CVGate()

Two-qubit, controlled-V gate, which is also the same as Controlled square-root of X gate (CSXGate).

Circuit Representation

q_0: ──■──     
     ┌─┴─┐    
q_1: ┤ V ├     
     └───┘

Matrix Representation

\[CV = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0.5+0.5i & 0.5-0.5i \\ 0 & 0 & 0.5-0.5i & 0.5+0.5i \end{pmatrix}\]

source

CVRevGate

QuantumCircuitOpt.CVRevGateFunction
CVRevGate()

Two-qubit reverse controlled-V gate, with target and control on first and second qubits, respectively.

Circuit Representation

     ┌───┐
q_0: ┤ V ├
     └─┬─┘
q_1: ──■──

Matrix Representation

\[CVRev = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0.5+0.5i & 0 & 0.5-0.5i \\ 0 & 0 & 1 & 0 \\ 0 & 0.5-0.5i & 0 & 0.5+0.5i \end{pmatrix}\]

source

CVdaggerGate

QuantumCircuitOpt.CVdaggerGateFunction
CVdaggerGate()

Two-qubit hermitian conjugate of controlled-V gate, which is also the same as hermitian conjugate Controlled square-root of X gate (CSXGate).

Circuit Representation

q_0: ──■──     
     ┌─┴─┐    
q_1: ┤ V'├     
     └───┘

Matrix Representation

\[CVdagger = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0.5-0.5i & 0.5+0.5i \\ 0 & 0 & 0.5+0.5i & 0.5-0.5i \end{pmatrix}\]

source

CVdaggerRevGate

QuantumCircuitOpt.CVdaggerRevGateFunction
CVdaggerRevGate()

Two-qubit hermitian conjugate of reverse controlled-V gate, with target and control on first and second qubits, respectively.

Circuit Representation

     ┌───┐
q_0: ┤ V'├
     └─┬─┘
q_1: ──■──

Matrix Representation

\[CVdaggerRev = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0.5-0.5i & 0 & 0.5+0.5i \\ 0 & 0 & 1 & 0 \\ 0 & 0.5+0.5i & 0 & 0.5-0.5i \end{pmatrix}\]

source

WGate

QuantumCircuitOpt.WGateFunction
WGate()

Two-qubit, W hermitian gate, typically useful to diagonlize the (SwapGate).

Matrix Representation

\[W = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & 0 \\ 0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}\]

source

CRXGate

QuantumCircuitOpt.CRXGateFunction
CRXGate(θ::Number)

Two-qubit controlled RXGate.

Circuit Representation

q_0: ────■────
     ┌───┴───┐
q_1: ┤ RX(ϴ) ├
     └───────┘

Matrix Representation

\[\newcommand{\th}{\frac{\theta}{2}} CRX(\theta)\ q_1, q_0 = |0\rangle\langle0| \otimes I + |1\rangle\langle1| \otimes RX(\theta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \cos{\th} & -i\sin{\th} \\ 0 & 0 & -i\sin{\th} & \cos{\th} \end{pmatrix}\]

source

CRXRevGate

QuantumCircuitOpt.CRXRevGateFunction
CRXRevGate(θ::Number)

Two-qubit controlled reverse RXGate.

Circuit Representation

     ┌───────┐
q_1: ┤ RX(ϴ) ├
     └───┬───┘
q_0: ────■────

Matrix Representation

\[\newcommand{\th}{\frac{\theta}{2}} CRXRev(\theta)\ q_1, q_0 = |0\rangle\langle0| \otimes I + |1\rangle\langle1| \otimes RX(\theta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos{\th} & 0 & -i\sin{\th} \\ 0 & 0 & 1 & 0\\ 0 & -i\sin{\th} & 0 & \cos{\th} \end{pmatrix}\]

source

CRYGate

QuantumCircuitOpt.CRYGateFunction
CRYGate(θ::Number)

Two-qubit controlled RYGate.

Circuit Representation

q_0: ────■────
     ┌───┴───┐
q_1: ┤ RY(ϴ) ├
     └───────┘

Matrix Representation

\[\newcommand{\th}{\frac{\theta}{2}} CRY(\theta)\ q_1, q_0 = |0\rangle\langle0| \otimes I + |1\rangle\langle1| \otimes RY(\theta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \cos{\th} & -\sin{\th} \\ 0 & 0 & \sin{\th} & \cos{\th} \end{pmatrix}\]

source

CRYRevGate

QuantumCircuitOpt.CRYRevGateFunction
CRYRevGate(θ::Number)

Two-qubit controlled reverse RYGate.

Circuit Representation

     ┌───────┐
q_1: ┤ RY(ϴ) ├
     └───┬───┘
q_0: ────■────

Matrix Representation

\[\newcommand{\th}{\frac{\theta}{2}} CRYRev(\theta)\ q_1, q_0 = |0\rangle\langle0| \otimes I + |1\rangle\langle1| \otimes RY(\theta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos{\th} & 0 & -\sin{\th} \\ 0 & 0 & 1 & 0 \\ 0 & \sin{\th} & 0 & \cos{\th} \end{pmatrix}\]

source

CRZGate

QuantumCircuitOpt.CRZGateFunction
CRZGate(θ::Number)

Two-qubit controlled RZGate.

Circuit Representation

q_0: ────■────
     ┌───┴───┐
q_1: ┤ RZ(ϴ) ├
     └───────┘

Matrix Representation

\[\newcommand{\th}{\frac{\theta}{2}} CRZ(\theta)\ q_1, q_0 = |0\rangle\langle0| \otimes I + |1\rangle\langle1| \otimes RZ(\theta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & e^{-i\th} & 0 \\ 0 & 0 & 0 & e^{i\th} \end{pmatrix}\]

source

CRZRevGate

QuantumCircuitOpt.CRZRevGateFunction
CRZRevGate(θ::Number)

Two-qubit controlled reverse RZGate.

Circuit Representation

     ┌───────┐
q_1: ┤ RZ(ϴ) ├
     └───┬───┘
q_0: ────■────

Matrix Representation

\[\newcommand{\th}{\frac{\theta}{2}} CRZRev(\theta)\ q_1, q_0 = |0\rangle\langle0| \otimes I + |1\rangle\langle1| \otimes RZ(\theta) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & e^{-i\th} & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & e^{i\th} \end{pmatrix}\]

source

CSGate

QuantumCircuitOpt.CSGateFunction
CSGate()

Two-qubit, controlled-S gate, which induces π/2 phase in the target qubit. This gate is invariant to the swap of control and target qubits.

Circuit Representation

q_0: ──■──     
     ┌─┴─┐    
q_1: ┤ S ├     
     └───┘

Matrix Representation

\[CS = |0 \rangle\langle 0| \otimes I + |1 \rangle\langle 1| \otimes S = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & i \end{pmatrix}\]

source

CSdaggerGate

QuantumCircuitOpt.CSdaggerGateFunction
CSdaggerGate()

Two-qubit hermitian conjugate of controlled-S gate. This gate is invariant to the swap of control and target qubits.

Circuit Representation

q_0: ──■──     
     ┌─┴─┐    
q_1: ┤ S'├     
     └───┘

Matrix Representation

\[CSdagger = |0 \rangle\langle 0| \otimes I + |1 \rangle\langle 1| \otimes S^{\dagger} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & -i \end{pmatrix}\]

source

CTGate

QuantumCircuitOpt.CTGateFunction
CTGate()

Two-qubit, controlled-T gate, which induces a π/4 phase in the target qubit. This gate is invariant to the swap of control and target qubits.

Circuit Representation

q_0: ──■──     
     ┌─┴─┐    
q_1: ┤ T ├     
     └───┘

Matrix Representation

\[CT = |0 \rangle\langle 0| \otimes I + |1 \rangle\langle 1| \otimes T = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & e^{i\pi/4} \end{pmatrix}\]

source

CTdaggerGate

QuantumCircuitOpt.CTdaggerGateFunction
CTdaggerGate()

Two-qubit hermitian conjugate of controlled-T gate. This gate is invariant to the swap of control and target qubits.

Circuit Representation

q_0: ──■──     
     ┌─┴─┐    
q_1: ┤ T'├     
     └───┘

Matrix Representation

\[CTdagger = |0 \rangle\langle 0| \otimes I + |1 \rangle\langle 1| \otimes T^{\dagger} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & e^{-i\pi/4} \end{pmatrix}\]

source

CU3Gate

QuantumCircuitOpt.CU3GateFunction
CU3Gate(θ::Number, ϕ::Number, λ::Number)

Two-qubit, controlled version of the universal rotation gate with three Euler angles (U3Gate).

Circuit Representation

q_0: ──────■──────
     ┌─────┴─────┐
q_1: ┤ U3(ϴ,φ,λ) ├
     └───────────┘

Matrix Representation

\[\newcommand{\th}{\frac{\theta}{2}} CU3(\theta, \phi, \lambda)\ q_1, q_0 = |0\rangle\langle 0| \otimes I + |1\rangle\langle 1| \otimes U3(\theta,\phi,\lambda) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \cos(\th) & -e^{i\lambda}\sin(\th) \\ 0 & 0 & e^{i\phi}\sin(\th) & e^{i(\phi+\lambda)}\cos(\th) \end{pmatrix}\]

source

CU3RevGate

QuantumCircuitOpt.CU3RevGateFunction
CU3RevGate(θ::Number, ϕ::Number, λ::Number)

Two-qubit, reverse controlled version of the universal rotation gate with three Euler angles (U3Gate).

Circuit Representation

     ┌────────────┐
q_1: ┤  U3(ϴ,φ,λ) ├
     └──────┬─────┘
q_0: ───────■──────

Matrix Representation

\[\newcommand{\th}{\frac{\theta}{2}} CU3(\theta, \phi, \lambda)\ q_1, q_0 = |0\rangle\langle 0| \otimes I + |1\rangle\langle 1| \otimes U3(\theta,\phi,\lambda) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos(\th) & 0 & -e^{i\lambda}\sin(\th) \\ 0 & 0 & 1 & 0 \\ 0 & e^{i\phi}\sin(\th) & 0 & e^{i(\phi+\lambda)}\cos(\th) \end{pmatrix}\]

source

SwapGate

QuantumCircuitOpt.SwapGateFunction
SwapGate()

Two-qubit, symmetric, SWAP gate.

Circuit Representation

q_0: ─X─
      │
q_1: ─X─

Matrix Representation

\[SWAP = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}\]

source

SSwapGate

QuantumCircuitOpt.SSwapGateFunction
SSwapGate()

Two-qubit, square root version of the SwapGate.

Circuit Representation

     ┌────────────┐
q_0: ┤            ├
     │ sqrt(Swap) │   
q_1: ┤            ├ 
     └────────────┘ 

Matrix Representation

\[SWAP = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0.5+0.5i & 0.5-0.5i & 0 \\ 0 & 0.5-0.5i & 0.5+0.5i & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}\]

source

iSwapGate

QuantumCircuitOpt.iSwapGateFunction
iSwapGate()

Two-qubit, symmetric and clifford, iSWAP gate. This is an entangling swapping gate where the qubits obtain a phase of $i$ if the state of the qubits is swapped.

Circuit Representation

q_0: ─⨂─
      │     
q_1: ─⨂─    

Minimum depth representation

      ┌───┐     ┌───┐ ┌───┐
q_0: ─┤ X ├──■──┤ S ├─┤ X ├─
      └─┬─┘┌─┴─┐└───┘ └─┬─┘
q_1: ───■──┤ X ├────────■──
           └───┘

Matrix Representation

\[iSWAP = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & i & 0 \\ 0 & i & 0 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}\]

source

CSXGate

QuantumCircuitOpt.CSXGateFunction
CSXGate()

Two-qubit controlled version of (SXGate).

Circuit Representation

q_0: ─────■─────
     ┌────┴────┐
q_1: ┤ sqrt(X) ├
     └─────────┘

Matrix Representation

\[CSXGate = |0 \rangle\langle 0| \otimes I + |1 \rangle\langle 1| \otimes SX = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0.5+0.5i & 0.5-0.5i \\ 0 & 0 & 0.5-0.5i & 0.5+0.5i \end{pmatrix}\]

source

CSXRevGate

QuantumCircuitOpt.CSXRevGateFunction
CSXRevGate()

Two-qubit controlled version of the reverse (SXGate).

Circuit Representation

     ┌─────────┐
q_1: ┤ sqrt(X) ├
     └────┬────┘
q_0: ─────■────

Matrix Representation

\[CSXRevGate = I \otimes |0\rangle\langle 0| + SX \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0.5+0.5i & 0 & 0.5-0.5i \\ 0 & 0 & 1 & 0 \\ 0 & 0.5-0.5i & 0 & 0.5+0.5i \end{pmatrix}\]

source

MGate

QuantumCircuitOpt.MGateFunction
MGate()

Two-qubit Magic gate, also known as the Ising coupling or the XX gate.

Reference: https://doi.org/10.1103/PhysRevA.69.032315

Circuit Representation

      ┌───┐        ┌───┐
q_0: ─┤ X ├────────┤ S ├
      └─┬─┘        └─┬─┘        
        │   ┌───┐  ┌─┴─┐
q_1: ───■───┤ H ├──┤ S ├
            └───┘  └───┘

Matrix Representation

\[M = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & i & 0 & 0 \\ 0 & 0 & i & 1 \\ 0 & 0 & i & -1 \\ 1 & -i & 0 & 0 \end{pmatrix}\]

source

QFT2Gate

QuantumCircuitOpt.QFT2GateFunction
QFT2Gate()

Two-qubit Quantum Fourier Transform (QFT) gate, where the QFT operation on n-qubits is given by:

\[|j\rangle \mapsto \frac{1}{2^{n/2}} \sum_{k=0}^{2^n - 1} e^{2\pi ijk / 2^n} |k\rangle\]

Circuit Representation

     ┌──────┐
q_0: ┤      ├
     │ QFT2 │   
q_1: ┤      ├ 
     └──────┘ 

Matrix Representation

\[M = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1 \\ 1 & i & -1 & -i \\ 1 & -1 & 1 & -1 \\ 1 & -i & -1 & i \end{pmatrix}\]

source

HCoinGate

GroverDiffusionGate

QuantumCircuitOpt.GroverDiffusionGateFunction
GroverDiffusionGate()

Two-qubit, Grover's diffusion operator, a key building block of the Glover's algorithm used to find a specific item (with probability > 0.5) within a randomly ordered database of N items in O(sqrt(N)) operations. Reference: https://arxiv.org/pdf/1804.03719.pdf

Matrix Representation

\[GroverDiffusionGate = \frac{1}{2}\begin{pmatrix} 1 & -1 & -1 & -1 \\ -1 & 1 & -1 & -1 \\ -1 & -1 & 1 & -1 \\ -1 & -1 & -1 & 1 \end{pmatrix}\]

source

SycamoreGate

QuantumCircuitOpt.SycamoreGateFunction
SycamoreGate()

Two-qubit Sycamore Gate, native to Google's universal quantum processor. Reference: quantumai.google/cirq/google/devices

Circuit Representation

     ┌──────┐
q_0: ┤      ├
     │ SYC  │   
q_1: ┤      ├ 
     └──────┘ 

Matrix Representation

\[ SycamoreGate() = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & -i & 0 \\ 0 & -i & 0 & 0 \\ 0 & 0 & 0 & e^{-i \frac{\pi}{6}} \end{pmatrix} \]

source