Source code for bqskit.ir.gates.constant.sycamore

"""This module implements the SycamoreGate."""
from __future__ import annotations

import cmath
import math

from bqskit.ir.gates.constantgate import ConstantGate
from bqskit.ir.gates.qubitgate import QubitGate
from bqskit.qis.unitary.unitarymatrix import UnitaryMatrix


[docs] class SycamoreGate(ConstantGate, QubitGate): """ The SycamoreGate gate. The Sycamore gate is given by the following unitary: .. math:: \\begin{pmatrix} 1 & 0 & 0 & 0 \\\\ 0 & 0 & -i & 0 \\\\ 0 & -i & 0 & 0 \\\\ 0 & 0 & 0 & e^{-i\\frac{\\pi}{6}} \\\\ \\end{pmatrix} """ _num_qudits = 2 _qasm_name = 'syc' _utry = UnitaryMatrix( [ [1, 0, 0, 0], [0, 0, -1j, 0], [0, -1j, 0, 0], [0, 0, 0, cmath.exp(-1j * math.pi / 6)], ], )