Sequential Quantum Gate Decomposer
v1.9.3
Powerful decomposition of general unitarias into one- and two-qubit gates gates
|
Header file for a class responsible for grouping gates into subcircuits. (Subcircuits can be nested) More...
#include <vector>
#include <map>
#include "common.h"
#include "matrix_real.h"
#include "CROT.h"
#include "Gate.h"
Go to the source code of this file.
Classes | |
class | Gates_block |
A class responsible for grouping two-qubit (CNOT,CZ,CH) and one-qubit gates into layers. More... | |
Functions | |
void | export_gate_list_to_binary (Matrix_real ¶meters, Gates_block *gates_block, const std::string &filename, int verbosity=3) |
????????? More... | |
void | export_gate_list_to_binary (Matrix_real ¶meters, Gates_block *gates_block, FILE *pFile, int verbosity=3) |
????????? More... | |
Gates_block * | import_gate_list_from_binary (Matrix_real ¶meters, const std::string &filename, int verbosity=3) |
????????? More... | |
Gates_block * | import_gate_list_from_binary (Matrix_real ¶meters, FILE *pFile, int verbosity=3) |
????????? More... | |
Matrix_real | inverse_reverse_parameters (const Matrix_real &v_in, std::vector< Gate *>::iterator gates_it, int num_of_gates) |
Call to inverse-reverse the order of the parameters in an array. More... | |
bool | is_qbit_present (std::vector< int > involved_qbits, int new_qbit, int num_of_qbits) |
Call to check whether the given qubit is involved in the sub-circuit or not. More... | |
Matrix_real | reverse_parameters (const Matrix_real &v_in, std::vector< Gate *>::iterator gates_it, int num_of_gates) |
Call to reverse the order of the parameters in an array. More... | |
Header file for a class responsible for grouping gates into subcircuits. (Subcircuits can be nested)
Definition in file Gates_block.h.
void export_gate_list_to_binary | ( | Matrix_real & | parameters, |
Gates_block * | gates_block, | ||
const std::string & | filename, | ||
int | verbosity | ||
) |
?????????
Definition at line 3856 of file Gates_block.cpp.
void export_gate_list_to_binary | ( | Matrix_real & | parameters, |
Gates_block * | gates_block, | ||
FILE * | pFile, | ||
int | verbosity | ||
) |
?????????
Definition at line 3884 of file Gates_block.cpp.
Gates_block* import_gate_list_from_binary | ( | Matrix_real & | parameters, |
const std::string & | filename, | ||
int | verbosity | ||
) |
?????????
Definition at line 3971 of file Gates_block.cpp.
Gates_block* import_gate_list_from_binary | ( | Matrix_real & | parameters, |
FILE * | pFile, | ||
int | verbosity | ||
) |
?????????
Definition at line 3995 of file Gates_block.cpp.
Matrix_real inverse_reverse_parameters | ( | const Matrix_real & | parameters_in, |
std::vector< Gate *>::iterator | gates_it, | ||
int | num_of_gates | ||
) |
Call to inverse-reverse the order of the parameters in an array.
v_in | The real input vector. |
gates | The associated list of gates. (does not get reversed) |
parameters_in | The real input vector. |
gates_it | Iterator over the gates. (does not get reversed) |
Definition at line 4457 of file Gates_block.cpp.
Call to check whether the given qubit is involved in the sub-circuit or not.
involved_qubits | A list of qubits |
new_qbit | The qubit to be checked |
num_of_qbits | The number of qubits. |
Definition at line 379 of file Gates_block.cpp.
Matrix_real reverse_parameters | ( | const Matrix_real & | parameters_in, |
std::vector< Gate *>::iterator | gates_it, | ||
int | num_of_gates | ||
) |
Call to reverse the order of the parameters in an array.
v_in | The real input vector. |
gates | The associated list of gates. (does not get reversed) |
parameters_in | The real input vector. |
gates_it | Iterator over the gates. (does not get reversed) |
Definition at line 4359 of file Gates_block.cpp.