class QPanda::QProgDAG¶
Overview¶
transform QProg to DAG(directed acyclic graph) More…
#include <QProgDAG.h> class QProgDAG { public: // fields std::map<uint32_t, Qubit*> m_qubits; // methods void add_vertex(std::shared_ptr<QProgDAGNode> n, DAGNodeType type); void get_adjacency_matrix(AdjacencyMatrix& matrix); const QProgDAGVertex& get_vertex(const size_t vertice_num) const; bool is_connected_graph(); TopologSequence<DAGSeqNode> build_topo_sequence(); std::set<QProgDAGEdge> get_edges() const; void remove_edge(const QProgDAGEdge& e); const std::vector<QProgDAGVertex>& get_vertex_c() const; std::vector<QProgDAGVertex>& get_vertex(); const auto& get_qubit_vertices_map() const; std::shared_ptr<QProg> dag_to_qprog(); };
Detailed Documentation¶
transform QProg to DAG(directed acyclic graph)
transform QProg to DAG
Methods¶
void add_vertex(std::shared_ptr<QProgDAGNode> n, DAGNodeType type)
add vertex
Parameters:
node_info |
Returns:
size_t vertex num
void get_adjacency_matrix(AdjacencyMatrix& matrix)
get adjacency_matrix
Parameters:
vertices_map& |
|
AdjacencyMatrix& |
Returns:
void
const QProgDAGVertex& get_vertex(const size_t vertice_num) const
get vertex by vertex num
Parameters:
size_t |
vertex num |
Returns:
std::shared_ptr<QPanda::QNode> qnode