24 #ifndef SUB_MATRIX_DECOMPOSITION_H 25 #define SUB_MATRIX_DECOMPOSITION_H 150 #endif //SUB_MATRIX_DECOMPOSITION bool optimize_layer_num
logical value. Set true to optimize the minimum number of operation layers required in the decomposit...
void solve_layer_optimization_problem(int num_of_parameters, gsl_vector *solution_guess_gsl)
Call to solve layer by layer the optimization problem.
Sub_Matrix_Decomposition(Matrix Umtx_in, int qbit_num_in, bool optimize_layer_num_in, guess_type initial_guess_in)
Constructor of the class.
void disentangle_submatrices()
Start the optimization process to disentangle the most significant qubit from the others.
static void optimization_problem_combined(const gsl_vector *parameters, void *void_instance, double *f0, gsl_vector *grad)
Call to calculate both the cost function and the its gradient components.
std::map< int, int > identical_blocks
A map of <int n: int num> indicating that how many identical succesive blocks should be used in the d...
int set_identical_blocks(int qbit, int identical_blocks_in)
Set the number of identical successive blocks during the subdecomposition of the qbit-th qubit.
Header file for the paralleized calculation of the gradient components of the cost functions (support...
bool subdisentaglement_done
logical value indicating whether the disentamglement of a qubit from the othetrs was done or not
Sub_Matrix_Decomposition * clone()
Call to create a clone of the present class.
double optimization_problem(const double *parameters)
The optimization problem of the final optimization.
~Sub_Matrix_Decomposition()
Destructor of the class.
A class containing basic methods for the decomposition process.
Class to store data of complex arrays and its properties.
Header file for a class containing basic methods for the decomposition process.
Matrix subdecomposed_mtx
The subdecomposed matrix.
guess_type
Type definition of the types of the initial guess.
static void optimization_problem_grad(const gsl_vector *parameters, void *void_instance, gsl_vector *grad)
Calculate the approximate derivative (f-f0)/(x-x0) of the cost function with respect to the free para...
A class responsible for the disentanglement of one qubit from the others.
Header file for the paralleized calculation of the cost function of the subdecomposition (supporting ...