class TensorEngine
#include <TensorEngine.h>
class TensorEngine
{
public:
// methods
static void split(
QProgMap& prog_map,
qubit_vertice_t& qubit_vertice
);
static qubit_vertice_t getNoValueVertice(
QProgMap& prog_map,
size_t contect_edge
);
static qubit_vertice_t getNoValueAndContectEdgeMaxVertice(QProgMap& prog_map);
static qcomplex_data_t Merge(
QProgMap& prog_map,
const qprog_sequence_t& sequence
);
static qcomplex_data_t computing(QProgMap& prog_map);
static std::map<qsize_t, Vertice>::iterator MergeQuantumProgMap(
QProgMap&,
qubit_vertice_t&,
bool& is_success
);
static void MergeByVerticeVector(
QProgMap&,
qprog_sequence_t& sequence
);
static void dimDecrementbyValue(
QProgMap&,
qubit_vertice_t&,
int value
);
static void dimDecrementbyValueAndNum(
QProgMap&,
qubit_vertice_t&,
int value
);
static void getVerticeMap(
QProgMap&,
std::vector<std::pair<size_t, size_t>>&
);
static size_t getMaxRank(QProgMap&);
static qubit_vertice_t getMaxQubitVertice(QProgMap& prog_map);
static void seq_merge_by_vertices(
QProgMap& prog_map,
std::vector<size_t> vertice_vector,
qprog_sequence_t& sequence
);
static void seq_merge(
QProgMap& prog_map,
qprog_sequence_t& vertice_vector
);
};