Composite Gates
Composite gates are gates that expand into a set of gates and therefore all composite gates can be constructed manually. However, particularly in the case of the CONJUGATE gate, composite gates are much easier to use.
-
CNOTChain: This composite gate creates a chain ofCNOTgates linking the qubits in thetarget_qubits. For example, thisCNOTChaingate...{ "gate_type": "CNOTChain", "target_qubits": [0, 2, 3] }...would expand to:
[ { "gate_type": "CNOT", "control_qubits": [0], "target_qubits": [2] }, { "gate_type": "CNOT", "control_qubits": [2], "target_qubits": [3] } ] -
CONJUGATE: This gate will:- Apply all the gates in the
within_gatesarray in the gate object. - Apply all the gates in the
apply_gatesarray in the gate object. - Apply the adjoint of all gates in the
within_gatesin the opposite order they were applied.
For example, this
CONJUGATEgate...{ "comment": "****** 110 => 1 ******", "gate_type": "CONJUGATE", "within_gates": [ { "gate_type": "X", "target_qubits": [2] } ], "apply_gates": [ { "gate_type": "X", "control_qubits": [0, 1, 2], "target_qubits": [3] } ] }...would expand to:
[ { "gate_type": "X", "target_qubits": [2] }, { "gate_type": "X", "control_qubits": [0, 1, 2], "target_qubits": [3] }, { "gate_type": "X", "target_qubits": [2], "adjoint": true } ] - Apply all the gates in the