qat.lang.CSIGN

qat.lang.CSIGN

Definition of the \(CSIGN\) 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, CSIGN

@qrout
def circ():
    CSIGN(0, 1)
data:image/png;base64,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baB3e1sa9RMdzHV1Ro/o+UquuRE3jEb/Rt+GIbCnpWE/0Pb9K+LYjHcvm2VHrOYrAMqwSd8GiniopWmfinmZ71we+2e87/jUX66vbORG3NBPL1USNqtVPMP8m+0LsXbaO1bHx1vece+0v2+pbORG3NBPCysIm0OqnWGyKF7pagf4UtP8pyobuRE39NcOB9KgqI0dNv6Tsaqjr/x+7Sh2UPrryb6GzbgKZzj9Uhzo4YY0ayocuRE39N/pvoXNOpXNcLshtseJ+M602NgdH4mlue+vcuRG3FCF/oTNhIqGmaocuRE3VGFRH8LmIdUMnf7Sq27pULbFejbQb9WO3IgbqvNyaWGzVuWSZc6If/4bc6bv0zQYcuMlXROzwmOiIUu1Izd6N1Rrc+J+zUlVCt183ffzK1/cULWTycJms8qEPHkjN/17+qG4oXq3JIiavaoR2sm75maruGHErC8QNbtVH8wmb+RmjbhhJHv7X3TKM/Tvy76/X/jihkGzsaPQOR0TsVhl0Y2xkf4ttz9z+ulY0se4sU0YREvj5+Kd8YtxJq6YmvbNWBT/Fv8X98YxFQTdyBu52aJ3A0A61Y/ciBtgZIzygZvGANSJg2nAiBjdm9jk9WFOaxQA4iadvLul3adRAJDOIIzcrDR2AzDsqr/mJuJnM9fg3TYOwLDIu1vaqQGIvP+xeYDhM6pjN1WP3CyIP8rtSV0ajfhgLNQ4gWEyqifdvphz54Ab4kCyZbw3NsZzcW5aX2Yy1sYr8X3xhg5L+PcYjwXxYMybtp3mxvfEznhU0wWog36M3Px1aQ/n/WsbEKib0TyY9us5019IupTnS1v/5zVcQNzUQd5N0/836VLmlrb+czVcoG7mjeBnviP3L3+TdDlvfu3f78TTM2J9LObGv8Z/tgmNRkzGujjbdHBvMt7WVDIAA+uDbcZEnlY9ABS1LLbEs7MMwn81rlJRAOkN64nQd8dtcSZejemHoLpz+LUDjXNiPB6ND2gqADTbl/zU48MqFUDvpllDTQEMljmqoCPfVgUA4qZ8xm4AChnO627eHJ+Li2PytYNqYzF/6r5jY7EgtsT8GTHbiMm4Kq6Kc9GI1mte5sRFcXfs01QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgWv8PtG6nkYWihCIAAAAtdEVYdGljYzpjb3B5cmlnaHQAQ29weXJpZ2h0IEFydGlmZXggU29mdHdhcmUgMjAxMQi6xbQAAAAxdEVYdGljYzpkZXNjcmlwdGlvbgBBcnRpZmV4IFNvZnR3YXJlIHNSR0IgSUNDIFByb2ZpbGUTDAGGAAAAE3RFWHRwZGY6VmVyc2lvbgBQREYtMS41UzZawQAAAABJRU5ErkJggg==
from qat.lang import qrout, CSIGN

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

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

@qrout
def reversed_circ():
    CSIGN.dag()(0, 1)
data:image/png;base64,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baB3e1sa9RMdzHV1Ro/o+UquuRE3jEb/Rt+GIbCnpWE/0Pb9K+LYjHcvm2VHrOYrAMqwSd8GiniopWmfinmZ71we+2e87/jUX66vbORG3NBPL1USNqtVPMP8m+0LsXbaO1bHx1vece+0v2+pbORG3NBPCysIm0OqnWGyKF7pagf4UtP8pyobuRE39NcOB9KgqI0dNv6Tsaqjr/x+7Sh2UPrryb6GzbgKZzj9Uhzo4YY0ayocuRE39N/pvoXNOpXNcLshtseJ+M602NgdH4mlue+vcuRG3FCF/oTNhIqGmaocuRE3VGFRH8LmIdUMnf7Sq27pULbFejbQb9WO3IgbqvNyaWGzVuWSZc6If/4bc6bv0zQYcuMlXROzwmOiIUu1Izd6N1Rrc+J+zUlVCt183ffzK1/cULWTycJms8qEPHkjN/17+qG4oXq3JIiavaoR2sm75maruGHErC8QNbtVH8wmb+RmjbhhJHv7X3TKM/Tvy76/X/jihkGzsaPQOR0TsVhl0Y2xkf4ttz9z+ulY0se4sU0YREvj5+Kd8YtxJq6YmvbNWBT/Fv8X98YxFQTdyBu52aJ3A0A61Y/ciBtgZIzygZvGANSJg2nAiBjdm9jk9WFOaxQA4iadvLul3adRAJDOIIzcrDR2AzDsqr/mJuJnM9fg3TYOwLDIu1vaqQGIvP+xeYDhM6pjN1WP3CyIP8rtSV0ajfhgLNQ4gWEyqifdvphz54Ab4kCyZbw3NsZzcW5aX2Yy1sYr8X3xhg5L+PcYjwXxYMybtp3mxvfEznhU0wWog36M3Px1aQ/n/WsbEKib0TyY9us5019IupTnS1v/5zVcQNzUQd5N0/836VLmlrb+czVcoG7mjeBnviP3L3+TdDlvfu3f78TTM2J9LObGv8Z/tgmNRkzGujjbdHBvMt7WVDIAA+uDbcZEnlY9ABS1LLbEs7MMwn81rlJRAOkN64nQd8dtcSZejemHoLpz+LUDjXNiPB6ND2gqADTbl/zU48MqFUDvpllDTQEMljmqoCPfVgUA4qZ8xm4AChnO627eHJ+Li2PytYNqYzF/6r5jY7EgtsT8GTHbiMm4Kq6Kc9GI1mte5sRFcXfs01QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgWv8PtG6nkYWihCIAAAAtdEVYdGljYzpjb3B5cmlnaHQAQ29weXJpZ2h0IEFydGlmZXggU29mdHdhcmUgMjAxMQi6xbQAAAAxdEVYdGljYzpkZXNjcmlwdGlvbgBBcnRpZmV4IFNvZnR3YXJlIHNSR0IgSUNDIFByb2ZpbGUTDAGGAAAAE3RFWHRwZGY6VmVyc2lvbgBQREYtMS41UzZawQAAAABJRU5ErkJggg==

This \(CSIGN\) gate is defined by:

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