.. index:: pair: class; QPanda::DecomposeUnitarySingleQGateIntoMetadataSingleQGate .. _doxid-class_q_panda_1_1_decompose_unitary_single_q_gate_into_metadata_single_q_gate: class QPanda::DecomposeUnitarySingleQGateIntoMetadataSingleQGate ================================================================ .. toctree:: :hidden: Overview ~~~~~~~~ Decomposing unitary single qgate into metadata single qgate in qprog. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class DecomposeUnitarySingleQGateIntoMetadataSingleQGate: public :ref:`QPanda::TraversalInterface` { public: // construction :target:`DecomposeUnitarySingleQGateIntoMetadataSingleQGate`( std::vector> qgate_matrix, std::vector>& valid_qgate_matrix ); // methods void :ref:`execute`(std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // methods virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); .. _details-class_q_panda_1_1_decompose_unitary_single_q_gate_into_metadata_single_q_gate: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Decomposing unitary single qgate into metadata single qgate in qprog. Methods ------- .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_decompose_unitary_single_q_gate_into_metadata_single_q_gate_1a371e3be60860f57d31cd02b1ea833cef: .. ref-code-block:: cpp :class: doxyrest-title-code-block void execute(std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal qgatenode. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQGateNode\* - quantum gate * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_decompose_unitary_single_q_gate_into_metadata_single_q_gate_1a183a4a4f437ab6bf14f9a7ee73dbd896: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal measure node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumMeasure\* - measure node * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_decompose_unitary_single_q_gate_into_metadata_single_q_gate_1a5228530197be13937585f607974f3ed4: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal reset node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumReset\* - reset node * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_decompose_unitary_single_q_gate_into_metadata_single_q_gate_1aef78bee4ab10eed77a8737eafb11bd6d: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal control flow node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractControlFlowNode\* - control flow node * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_decompose_unitary_single_q_gate_into_metadata_single_q_gate_1aec4eb51f673dfcbe5d34c23aaa606e05: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal qcircuit. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumCircuit\* - quantum circuit * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_decompose_unitary_single_q_gate_into_metadata_single_q_gate_1ae048a00ae87be4fca71d66e9a5c37d6f: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal qprog. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumProgram\* - quantum prog * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_decompose_unitary_single_q_gate_into_metadata_single_q_gate_1a61e617886203e7f5ded7c3c6acd1eb18: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal qprog. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractClassicalProg\* - quantum prog * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void