Пример #1
0
    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 QState

        """
        qstate_operate_qgate(self, kind=cfg.ROTATION_Z, phase=phase, qid=[q0])
        return self
Пример #2
0
    def t_dg(self, q0):
        """
        operate T dagger gate (hermitian conjugate of T gate).

        Parameters
        ----------
        q0 : int
            qubit id.

        Returns
        -------
        self : instance of QState

        """
        qstate_operate_qgate(self,
                             kind=cfg.PHASE_SHIFT_T_,
                             phase=cfg.DEF_PHASE,
                             qid=[q0])
        return self
Пример #3
0
    def h(self, q0):
        """
        operate H gate (hadamard gate).

        Parameters
        ----------
        q0 : int
            qubit id.

        Returns
        -------
        self : instance of QState

        """
        qstate_operate_qgate(self,
                             kind=cfg.HADAMARD,
                             phase=cfg.DEF_PHASE,
                             qid=[q0])
        return self
Пример #4
0
    def t(self, q0):
        """
        operate T gate.

        Parameters
        ----------
        q0 : int
            qubit id.

        Returns
        -------
        self : instance of QState

        """
        qstate_operate_qgate(self,
                             kind=cfg.PHASE_SHIFT_T,
                             phase=cfg.DEF_PHASE,
                             qid=[q0])
        return self
Пример #5
0
    def xr(self, q0):
        """
        operate root X gate.

        Parameters
        ----------
        q0 : int
            qubit id.

        Returns
        -------
        self : instance of QState

        """
        qstate_operate_qgate(self,
                             kind=cfg.ROOT_PAULI_X,
                             phase=cfg.DEF_PHASE,
                             qid=[q0])
        return self
Пример #6
0
    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 QState

        """
        qstate_operate_qgate(self,
                             kind=cfg.ROOT_PAULI_X_,
                             phase=cfg.DEF_PHASE,
                             qid=[q0])
        return self
Пример #7
0
    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 QState

        """
        qstate_operate_qgate(self,
                             kind=cfg.CONTROLLED_P,
                             phase=phase,
                             qid=[q0, q1])
        return self
Пример #8
0
    def sw(self, q0, q1):
        """
        swap gate

        Parameters
        ----------
        q0 : int
            qubit id
        q1 : int
            qubit id

        Returns
        -------
        self : instance of QState

        """
        qstate_operate_qgate(self,
                             kind=cfg.SWAP_QUBITS,
                             phase=cfg.DEF_PHASE,
                             qid=[q0, q1])
        return self
Пример #9
0
    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 QState

        """
        qstate_operate_qgate(self,
                             kind=cfg.CONTROLLED_T_,
                             phase=cfg.DEF_PHASE,
                             qid=[q0, q1])
        return self
Пример #10
0
    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 QState

        """
        qstate_operate_qgate(self,
                             kind=cfg.CONTROLLED_X,
                             phase=cfg.DEF_PHASE,
                             qid=[q0, q1])
        return self
Пример #11
0
    def rzz(self, q0, q1, phase=cfg.DEF_PHASE):
        """
        operate Rxx 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 QState

        """
        qstate_operate_qgate(self,
                             kind=cfg.ROTATION_ZZ,
                             phase=phase,
                             qid=[q0, q1])
        return self
Пример #12
0
    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 QState

        """
        qstate_operate_qgate(self,
                             kind=cfg.CONTROLLED_RZ,
                             phase=phase,
                             qid=[q0, q1])
        return self
Пример #13
0
    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 QState

        Notes
        -----
        matrix expression is following...
        | 1.0 0.0             |
        | 0.0 exp(i*phase*PI) |

        """
        qstate_operate_qgate(self, kind=cfg.PHASE_SHIFT, phase=phase, qid=[q0])
        return self