class QPanda::QProgToMatrix::MatrixOfOneLayer

Overview

class MatrixOfOneLayer
{
public:
    // fields

    QProgToMatrix& m_parent;
    qmatrix_t m_current_layer_mat;
    gateQubitInfo_t m_double_qubit_gates;
    gateQubitInfo_t m_single_qubit_gates;
    gateQubitInfo_t m_controled_gates;
    calcUnitVec_t m_calc_unit_vec;
    qmatrix_t m_mat_I;
    std::vector<int>& m_qubits_in_use;

    // construction

    MatrixOfOneLayer(
        QProgToMatrix& parent,
        SeqLayer<pOptimizerNodeInfo>& layer,
        std::vector<int>& qubits_in_use
        );

    // methods

    void merge_double_gate();
    void merge_calc_unit();
    void merge_controled_gate();
    void merge_sing_gate();
};

Detailed Documentation

Fields

gateQubitInfo_t m_double_qubit_gates

double qubit gate vector

gateQubitInfo_t m_single_qubit_gates

single qubit gate vector

gateQubitInfo_t m_controled_gates

controled qubit gate vector

std::vector<int>& m_qubits_in_use

the number of all the qubits in the target QCircuit.