qat.lang.CNOT

qat.lang.CNOT

Definition of the \(CNOT\) gate (of arity \(2\)). This gate is part of the default gate set of myQLM and is defined in the default gate set default_gate_set().

from qat.lang import qrout, CNOT

@qrout
def circ():
    CNOT(0, 1)
data:image/png;base64,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
from qat.lang import qrout, CNOT

@qrout
def ctrl_circ():
    CNOT.ctrl()(0, 1, 2)
data:image/png;base64,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
Multi-controlled gate
from qat.lang import qrout, CNOT

@qrout
def multi_ctrl_circ():
    CNOT.ctrl(2)(0, 1, 2, 3)
from qat.lang import qrout, CNOT

@qrout
def reversed_circ():
    CNOT.dag()(0, 1)
data:image/png;base64,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

This \(CNOT\) gate is defined by:

\[\begin{split}\begin{vmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ \end{vmatrix}\end{split}\]