|
Sequential Quantum Gate Decomposer
v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
|


Go to the source code of this file.
Functions | |
| void | apply_2qbit_kernel_to_state_vector_input_AVX (Matrix &two_qbit_unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_2qbit_kernel_to_state_vector_input_AVX32 (Matrix_float &two_qbit_unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_2qbit_kernel_to_state_vector_input_AVX_OpenMP (Matrix &two_qbit_unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_2qbit_kernel_to_state_vector_input_AVX_OpenMP32 (Matrix_float &two_qbit_unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_2qbit_kernel_to_state_vector_input_AVX_TBB (Matrix &two_qbit_unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_2qbit_kernel_to_state_vector_input_AVX_TBB32 (Matrix_float &two_qbit_unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_3qbit_kernel_to_state_vector_input_AVX (Matrix &unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_3qbit_kernel_to_state_vector_input_AVX32 (Matrix_float &unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_3qbit_kernel_to_state_vector_input_AVX_OpenMP (Matrix &unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_3qbit_kernel_to_state_vector_input_AVX_OpenMP32 (Matrix_float &unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_3qbit_kernel_to_state_vector_input_AVX_TBB (Matrix &unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_3qbit_kernel_to_state_vector_input_AVX_TBB32 (Matrix_float &unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_4qbit_kernel_to_state_vector_input_AVX (Matrix &unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_4qbit_kernel_to_state_vector_input_AVX32 (Matrix_float &unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_4qbit_kernel_to_state_vector_input_AVX_OpenMP (Matrix &unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_4qbit_kernel_to_state_vector_input_AVX_OpenMP32 (Matrix_float &unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_4qbit_kernel_to_state_vector_input_AVX_TBB (Matrix &unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_4qbit_kernel_to_state_vector_input_AVX_TBB32 (Matrix_float &unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_5qbit_kernel_to_state_vector_input_AVX (Matrix &unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_5qbit_kernel_to_state_vector_input_AVX32 (Matrix_float &unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_5qbit_kernel_to_state_vector_input_AVX_OpenMP (Matrix &unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_5qbit_kernel_to_state_vector_input_AVX_OpenMP32 (Matrix_float &unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_5qbit_kernel_to_state_vector_input_AVX_TBB (Matrix &unitary, Matrix &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_5qbit_kernel_to_state_vector_input_AVX_TBB32 (Matrix_float &unitary, Matrix_float &input, std::vector< int > involved_qbits, const int &matrix_size) |
| void | apply_kernel_to_state_vector_input_AVX (Matrix &u3_1qbit, Matrix &input, const bool &deriv, const int &target_qbit, const int &control_qbit, const int &matrix_size) |
| AVX kernel on a state vector. More... | |
| void | apply_kernel_to_state_vector_input_AVX32 (Matrix_float &u3_1qbit, Matrix_float &input, const bool &deriv, const int &target_qbit, const int &control_qbit, const int &matrix_size) |
| void | apply_kernel_to_state_vector_input_parallel_AVX (Matrix &u3_1qbit, Matrix &input, const bool &deriv, const int &target_qbit, const int &control_qbit, const int &matrix_size) |
| Parallel AVX kernel on a state vector. More... | |
| void | apply_kernel_to_state_vector_input_parallel_AVX32 (Matrix_float &u3_1qbit, Matrix_float &input, const bool &deriv, const int &target_qbit, const int &control_qbit, const int &matrix_size) |
| void | apply_kernel_to_state_vector_input_parallel_OpenMP_AVX (Matrix &u3_1qbit, Matrix &input, const bool &deriv, const int &target_qbit, const int &control_qbit, const int &matrix_size) |
| Parallel AVX kernel on a state vector (parallelized with OpenMP) More... | |
| void | apply_kernel_to_state_vector_input_parallel_OpenMP_AVX32 (Matrix_float &u3_1qbit, Matrix_float &input, const bool &deriv, const int &target_qbit, const int &control_qbit, const int &matrix_size) |
| void apply_2qbit_kernel_to_state_vector_input_AVX | ( | Matrix & | two_qbit_unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1125 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_2qbit_kernel_to_state_vector_input_AVX32 | ( | Matrix_float & | two_qbit_unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1173 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_2qbit_kernel_to_state_vector_input_AVX_OpenMP | ( | Matrix & | two_qbit_unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1129 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_2qbit_kernel_to_state_vector_input_AVX_OpenMP32 | ( | Matrix_float & | two_qbit_unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1177 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_2qbit_kernel_to_state_vector_input_AVX_TBB | ( | Matrix & | two_qbit_unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1133 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_2qbit_kernel_to_state_vector_input_AVX_TBB32 | ( | Matrix_float & | two_qbit_unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1181 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_3qbit_kernel_to_state_vector_input_AVX | ( | Matrix & | unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1137 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_3qbit_kernel_to_state_vector_input_AVX32 | ( | Matrix_float & | unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1185 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_3qbit_kernel_to_state_vector_input_AVX_OpenMP | ( | Matrix & | unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1141 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_3qbit_kernel_to_state_vector_input_AVX_OpenMP32 | ( | Matrix_float & | unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1189 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_3qbit_kernel_to_state_vector_input_AVX_TBB | ( | Matrix & | unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1145 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_3qbit_kernel_to_state_vector_input_AVX_TBB32 | ( | Matrix_float & | unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1193 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_4qbit_kernel_to_state_vector_input_AVX | ( | Matrix & | unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1149 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_4qbit_kernel_to_state_vector_input_AVX32 | ( | Matrix_float & | unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1197 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_4qbit_kernel_to_state_vector_input_AVX_OpenMP | ( | Matrix & | unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1153 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_4qbit_kernel_to_state_vector_input_AVX_OpenMP32 | ( | Matrix_float & | unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1201 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_4qbit_kernel_to_state_vector_input_AVX_TBB | ( | Matrix & | unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1157 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_4qbit_kernel_to_state_vector_input_AVX_TBB32 | ( | Matrix_float & | unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1205 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_5qbit_kernel_to_state_vector_input_AVX | ( | Matrix & | unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1161 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_5qbit_kernel_to_state_vector_input_AVX32 | ( | Matrix_float & | unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1209 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_5qbit_kernel_to_state_vector_input_AVX_OpenMP | ( | Matrix & | unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1165 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_5qbit_kernel_to_state_vector_input_AVX_OpenMP32 | ( | Matrix_float & | unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1213 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_5qbit_kernel_to_state_vector_input_AVX_TBB | ( | Matrix & | unitary, |
| Matrix & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1169 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_5qbit_kernel_to_state_vector_input_AVX_TBB32 | ( | Matrix_float & | unitary, |
| Matrix_float & | input, | ||
| std::vector< int > | involved_qbits, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 1217 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_kernel_to_state_vector_input_AVX | ( | Matrix & | u3_1qbit, |
| Matrix & | input, | ||
| const bool & | deriv, | ||
| const int & | target_qbit, | ||
| const int & | control_qbit, | ||
| const int & | matrix_size | ||
| ) |
AVX kernel on a state vector.
| u3_1qbit | The 2x2 kernel of the gate operation |
| input | The input matrix on which the transformation is applied |
| deriv | Set true to apply derivate transformation, false otherwise |
| target_qbit | The targer qubit on which the transformation should be applied |
| control_qbit | The contron qubit (-1 if the is no control qubit) |
| matrix_size | The size of the input |
Definition at line 67 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_kernel_to_state_vector_input_AVX32 | ( | Matrix_float & | u3_1qbit, |
| Matrix_float & | input, | ||
| const bool & | deriv, | ||
| const int & | target_qbit, | ||
| const int & | control_qbit, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 283 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_kernel_to_state_vector_input_parallel_AVX | ( | Matrix & | u3_1qbit, |
| Matrix & | input, | ||
| const bool & | deriv, | ||
| const int & | target_qbit, | ||
| const int & | control_qbit, | ||
| const int & | matrix_size | ||
| ) |
Parallel AVX kernel on a state vector.
| u3_1qbit | The 2x2 kernel of the gate operation |
| input | The input matrix on which the transformation is applied |
| deriv | Set true to apply derivate transformation, false otherwise |
| target_qbit | The targer qubit on which the transformation should be applied |
| control_qbit | The contron qubit (-1 if the is no control qubit) |
| matrix_size | The size of the input |
Parallel AVX kernel on a state vector.
| u3_1qbit | The 2x2 kernel of the gate operation |
| input | The input matrix on which the transformation is applied |
| deriv | Set true to apply derivate transformation, false otherwise |
| target_qbit | The targer qubit on which the transformation should be applied |
| control_qbit | The contron qubit (-1 if the is no control qubit) |
| matrix_size | The size of the input |
Definition at line 1459 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_kernel_to_state_vector_input_parallel_AVX32 | ( | Matrix_float & | u3_1qbit, |
| Matrix_float & | input, | ||
| const bool & | deriv, | ||
| const int & | target_qbit, | ||
| const int & | control_qbit, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 833 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_kernel_to_state_vector_input_parallel_OpenMP_AVX | ( | Matrix & | u3_1qbit, |
| Matrix & | input, | ||
| const bool & | deriv, | ||
| const int & | target_qbit, | ||
| const int & | control_qbit, | ||
| const int & | matrix_size | ||
| ) |
Parallel AVX kernel on a state vector (parallelized with OpenMP)
| u3_1qbit | The 2x2 kernel of the gate operation |
| input | The input matrix on which the transformation is applied |
| deriv | Set true to apply derivate transformation, false otherwise |
| target_qbit | The targer qubit on which the transformation should be applied |
| control_qbit | The contron qubit (-1 if the is no control qubit) |
| matrix_size | The size of the input |
Definition at line 1231 of file apply_kernel_to_state_vector_input_AVX.cpp.


| void apply_kernel_to_state_vector_input_parallel_OpenMP_AVX32 | ( | Matrix_float & | u3_1qbit, |
| Matrix_float & | input, | ||
| const bool & | deriv, | ||
| const int & | target_qbit, | ||
| const int & | control_qbit, | ||
| const int & | matrix_size | ||
| ) |
Definition at line 557 of file apply_kernel_to_state_vector_input_AVX.cpp.


1.8.13