class QPanda::TransformDecomposition

Overview

Transform and decompose qprog. More…

#include <TransformDecomposition.h>

class TransformDecomposition
{
public:
    // construction

    TransformDecomposition(
        std::vector<std::vector<std::string>>& ValidQGateMatrix,
        std::vector<std::vector<std::string>>& QGateMatrix,
        QuantumMachine* quantum_machine,
        const std::string& config_data = CONFIG_PATH
        );

    // methods

    void TraversalOptimizationMerge(QProg& prog);
    void merge_continue_single_gate_to_u3(QProg& prog);

    void decompose_double_qgate(
        QProg& prog,
        bool b_decompose_multiple_gate = true
        );

    void meta_gate_transform(QProg& prog);
};

Detailed Documentation

Transform and decompose qprog.

Methods

void merge_continue_single_gate_to_u3(QProg& prog)

merge continue single gate to u3 gate

Parameters:

QProg&

the source prog

Returns: