Quantum Circuits Library: Two-qubit gates
CNotGate
QuantumCircuitOpt.CNotGate
— FunctionCNotGate()
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}\]
CNotRevGate
QuantumCircuitOpt.CNotRevGate
— FunctionCNotRevGate()
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}\]
DCXGate
QuantumCircuitOpt.DCXGate
— FunctionDCXGate()
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}\]
CXGate
QuantumCircuitOpt.CXGate
— FunctionCXGate()
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}\]
CXRevGate
QuantumCircuitOpt.CXRevGate
— FunctionCXRevGate()
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}\]
CYGate
QuantumCircuitOpt.CYGate
— FunctionCYGate()
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}\]
CYRevGate
QuantumCircuitOpt.CYRevGate
— FunctionCYRevGate()
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}\]
CZGate
QuantumCircuitOpt.CZGate
— FunctionCZGate()
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}\]
CHGate
QuantumCircuitOpt.CHGate
— FunctionCHGate()
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}\]
CHRevGate
QuantumCircuitOpt.CHRevGate
— FunctionCHRevGate()
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}\]
CVGate
QuantumCircuitOpt.CVGate
— FunctionCVGate()
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}\]
CVRevGate
QuantumCircuitOpt.CVRevGate
— FunctionCVRevGate()
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}\]
CVdaggerGate
QuantumCircuitOpt.CVdaggerGate
— FunctionCVdaggerGate()
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}\]
CVdaggerRevGate
QuantumCircuitOpt.CVdaggerRevGate
— FunctionCVdaggerRevGate()
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}\]
WGate
QuantumCircuitOpt.WGate
— FunctionWGate()
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}\]
CRXGate
QuantumCircuitOpt.CRXGate
— FunctionCRXGate(θ::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}\]
CRXRevGate
QuantumCircuitOpt.CRXRevGate
— FunctionCRXRevGate(θ::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}\]
CRYGate
QuantumCircuitOpt.CRYGate
— FunctionCRYGate(θ::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}\]
CRYRevGate
QuantumCircuitOpt.CRYRevGate
— FunctionCRYRevGate(θ::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}\]
CRZGate
QuantumCircuitOpt.CRZGate
— FunctionCRZGate(θ::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}\]
CRZRevGate
QuantumCircuitOpt.CRZRevGate
— FunctionCRZRevGate(θ::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}\]
CSGate
QuantumCircuitOpt.CSGate
— FunctionCSGate()
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}\]
CSdaggerGate
QuantumCircuitOpt.CSdaggerGate
— FunctionCSdaggerGate()
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}\]
CTGate
QuantumCircuitOpt.CTGate
— FunctionCTGate()
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}\]
CTdaggerGate
QuantumCircuitOpt.CTdaggerGate
— FunctionCTdaggerGate()
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}\]
CU3Gate
QuantumCircuitOpt.CU3Gate
— FunctionCU3Gate(θ::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}\]
CU3RevGate
QuantumCircuitOpt.CU3RevGate
— FunctionCU3RevGate(θ::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}\]
SwapGate
QuantumCircuitOpt.SwapGate
— FunctionSwapGate()
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}\]
fSwapGate
QuantumCircuitOpt.fSwapGate
— FunctionfSwapGate()
Two-qubit, symmetric, Fermionic SWAP gate, that swaps adjacent fermionic modes in the Jordan-Wigner representation. Because the qubits represent identical fermions, swapping two particles applies a -1 phase to the state.
Reference: https://doi.org/10.22331/q-2018-12-21-114
Matrix Representation
\[fSWAP = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & -1 \end{pmatrix}\]
SSwapGate
QuantumCircuitOpt.SSwapGate
— FunctionSSwapGate()
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}\]
iSwapGate
QuantumCircuitOpt.iSwapGate
— FunctioniSwapGate()
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}\]
CSXGate
QuantumCircuitOpt.CSXGate
— FunctionCSXGate()
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}\]
CSXRevGate
QuantumCircuitOpt.CSXRevGate
— FunctionCSXRevGate()
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}\]
MGate
QuantumCircuitOpt.MGate
— FunctionMGate()
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}\]
QFT2Gate
QuantumCircuitOpt.QFT2Gate
— FunctionQFT2Gate()
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}\]
HCoinGate
QuantumCircuitOpt.HCoinGate
— FunctionHCoinGate()
Two-qubit, Hadamard Coin gate when implemented in tune with the quantum cellular automata. Reference: https://doi.org/10.1007/s11128-018-1983-x, https://arxiv.org/pdf/2106.03115.pdf
Matrix Representation
\[HCoinGate = \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}\]
GroverDiffusionGate
QuantumCircuitOpt.GroverDiffusionGate
— FunctionGroverDiffusionGate()
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}\]
SycamoreGate
QuantumCircuitOpt.SycamoreGate
— FunctionSycamoreGate()
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} \]