|
Sequential Quantum Gate Decomposer
v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
|
Class responsible for grouping gates into subcircuits. (Subcircuits can be nested) More...
#include <deque>#include <set>#include <tbb/enumerable_thread_specific.h>#include "CU.h"#include "CZ.h"#include "CH.h"#include "CNOT.h"#include "CCX.h"#include "SWAP.h"#include "CSWAP.h"#include "U1.h"#include "U2.h"#include "U3.h"#include "RX.h"#include "RY.h"#include "R.h"#include "RZ.h"#include "CRY.h"#include "CRX.h"#include "CRZ.h"#include "CP.h"#include "CR.h"#include "H.h"#include "X.h"#include "Y.h"#include "Z.h"#include "S.h"#include "SDG.h"#include "T.h"#include "Tdg.h"#include "SX.h"#include "SXdg.h"#include "SYC.h"#include "CROT.h"#include "RXX.h"#include "RYY.h"#include "RZZ.h"#include "Adaptive.h"#include "Gates_block.h"#include "qgd_math.h"#include "apply_large_kernel_to_input.h"
Go to the source code of this file.
Functions | |
| void | export_gate_list_to_binary (Matrix_real ¶meters, Gates_block *gates_block, const std::string &filename, int verbosity) |
| Use to export a quantum circuit into binary format. More... | |
| void | export_gate_list_to_binary (Matrix_real ¶meters, Gates_block *gates_block, FILE *pFile, int verbosity) |
| Use to export a quantum circuit into binary format. More... | |
| static tbb::enumerable_thread_specific< int > | gates_block_derivative_depth ([](){ return 0;}) |
| static tbb::enumerable_thread_specific< int > | gates_block_fusion_depth ([](){ return 0;}) |
| Gates_block * | import_gate_list_from_binary (Matrix_real ¶meters, const std::string &filename, int verbosity) |
| Use to import a quantum circuit from a binary format. More... | |
| Gates_block * | import_gate_list_from_binary (Matrix_real ¶meters, FILE *pFile, int verbosity) |
| Use to import a quantum circuit from a binary format. More... | |
| Matrix_real | inverse_reverse_parameters (const Matrix_real ¶meters_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_qubits, int new_qbit, int num_of_qbits) |
| Call to check whether the given qubit is involved in the sub-circuit or not. More... | |
| std::vector< int > | remove_list_intersection (std::vector< int > &list1, std::vector< int > &list2) |
| Call to remove those integer elements from list1 which are present in list. More... | |
| Matrix_real | reverse_parameters (const Matrix_real ¶meters_in, std::vector< Gate *>::iterator gates_it, int num_of_gates) |
| Call to reverse the order of the parameters in an array. More... | |
Class responsible for grouping gates into subcircuits. (Subcircuits can be nested)
Class responsible for grouping two-qubit (CNOT,CZ,CH) and one-qubit gates into layers.
Definition in file Gates_block.cpp.
| void export_gate_list_to_binary | ( | Matrix_real & | parameters, |
| Gates_block * | gates_block, | ||
| const std::string & | filename, | ||
| int | verbosity | ||
| ) |
Use to export a quantum circuit into binary format.
?????????
| parameters | Parameters of corresponding to the circuit |
| gates_block | The Squander circuit. |
| filename | Filename into which export the circuit |
| verbosity | The verbosity parameter |
Definition at line 4807 of file Gates_block.cpp.


| void export_gate_list_to_binary | ( | Matrix_real & | parameters, |
| Gates_block * | gates_block, | ||
| FILE * | pFile, | ||
| int | verbosity | ||
| ) |
Use to export a quantum circuit into binary format.
?????????
| parameters | Parameters of corresponding to the circuit |
| gates_block | The Squander circuit. |
| pFile | Pointer to the opened file. |
| verbosity | The verbosity parameter |
Definition at line 4845 of file Gates_block.cpp.

|
static |

|
static |

| Gates_block* import_gate_list_from_binary | ( | Matrix_real & | parameters, |
| const std::string & | filename, | ||
| int | verbosity | ||
| ) |
Use to import a quantum circuit from a binary format.
?????????
| parameters | Parameters of corresponding to the circuit (the loaded parameters are returned via this argument) |
| filename | The file containing the binary file. |
| verbosity | The verbosity parameter |
Definition at line 4934 of file Gates_block.cpp.


| Gates_block* import_gate_list_from_binary | ( | Matrix_real & | parameters, |
| FILE * | pFile, | ||
| int | verbosity | ||
| ) |
Use to import a quantum circuit from a binary format.
?????????
| parameters | Parameters of corresponding to the circuit (the loaded parameters are returned via this argument) |
| pFile | Pointer to the binary file. |
| verbosity | The verbosity parameter |
Definition at line 4970 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.
| parameters_in | The real input vector. |
| gates_it | Iterator over the gates. (does not get reversed) |
Definition at line 5455 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 864 of file Gates_block.cpp.
| std::vector<int> remove_list_intersection | ( | std::vector< int > & | list1, |
| std::vector< int > & | list2 | ||
| ) |
Call to remove those integer elements from list1 which are present in list.
| list1 | A list of integers |
| list2 | A list of integers |
Definition at line 3669 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.
| parameters_in | The real input vector. |
| gates_it | Iterator over the gates. (does not get reversed) |
Definition at line 5357 of file Gates_block.cpp.


1.8.13