def t_dg(self, q0): """ operate T dagger gate (hermitian conjugate of T gate). Parameters ---------- q0 : int qubit id. Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.PHASE_SHIFT_T_, phase=cfg.DEF_PHASE, qid=[q0]) return self
def t(self, q0): """ operate T gate. Parameters ---------- q0 : int qubit id. Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.PHASE_SHIFT_T, phase=cfg.DEF_PHASE, qid=[q0]) return self
def h(self, q0): """ operate H gate (hadamard gate). Parameters ---------- q0 : int qubit id. Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.HADAMARD, phase=cfg.DEF_PHASE, qid=[q0]) return self
def xr(self, q0): """ operate root X gate. Parameters ---------- q0 : int qubit id. Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.ROOT_PAULI_X, phase=cfg.DEF_PHASE, qid=[q0]) return self
def xr_dg(self, q0): """ operate root X dagger gate (hermmitian conjugate of root X gate). Parameters ---------- q0 : int qubit id. Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.ROOT_PAULI_X_, phase=cfg.DEF_PHASE, qid=[q0]) return self
def cp(self, q0, q1, phase=cfg.DEF_PHASE): """ operate CP gate (controlled P gate). Parameters ---------- q0 : int qubit id (control qubit). q1 : int qubit id (target qubit). Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.CONTROLLED_P, phase=phase, qid=[q0, q1]) return self
def sw(self, q0, q1): """ swap gate Parameters ---------- q0 : int qubit id q1 : int qubit id Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.SWAP_QUBITS, phase=cfg.DEF_PHASE, qid=[q0, q1]) return self
def ct_dg(self, q0, q1): """ operate CT dagger gate (controlled T dagger gate). Parameters ---------- q0 : int qubit id (control qubit). q1 : int qubit id (target qubit). Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.CONTROLLED_T_, phase=cfg.DEF_PHASE, qid=[q0, q1]) return self
def cx(self, q0, q1): """ operate CX gate (controlled X gate, controlled NOT gate, CNOT gate). Parameters ---------- q0 : int qubit id (control qubit). q1 : int qubit id (target qubit). Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.CONTROLLED_X, phase=cfg.DEF_PHASE, qid=[q0, q1]) return self
def rz(self, q0, phase=cfg.DEF_PHASE): """ operate RZ gate (rotation around Z-axis). Parameters ---------- q0 : int qubit id. phase : float rotation angle (unit of angle is PI radian). Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.ROTATION_Z, phase=phase, qid=[q0]) return self
def rzz(self, q0, q1, phase=cfg.DEF_PHASE): """ operate Rzz gate. Parameters ---------- q0 : int qubit id (control qubit). q1 : int qubit id (target qubit). phase : float rotation angle (unit of angle is PI radian). Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.ROTATION_ZZ, phase=phase, qid=[q0, q1]) return self
def crz(self, q0, q1, phase=cfg.DEF_PHASE): """ operate CRZ gate (controlled RZ gate). Parameters ---------- q0 : int qubit id (control qubit). q1 : int qubit id (target qubit). phase : float rotation angle (unit of angle is PI radian). Returns ------- self : instance of DensOp """ densop_operate_qgate(self, kind=cfg.CONTROLLED_RZ, phase=phase, qid=[q0, q1]) return self
def p(self, q0, phase=cfg.DEF_PHASE): """ operate P gate (phase shift gate). Parameters ---------- q0 : int qubit id. phase : float rotation angle (unit of angle is PI radian). Returns ------- self : instance of DensOp Notes ----- matrix expression is following... | 1.0 0.0 | | 0.0 exp(i*phase*PI) | """ densop_operate_qgate(self, kind=cfg.PHASE_SHIFT, phase=phase, qid=[q0]) return self