26 #ifndef python_interface_H 27 #define python_interface_H 105 int iface_get_operation(
void* ptr,
int n,
int &op_type,
int &target_qbit,
int &control_qbit,
double* parameters );
void * iface_new_N_Qubit_Decomposition(double *mtx_real, double *mtx_imag, int qbit_num, bool optimize_layer_num, int initial_guess_num)
Creates an instance of class N_Qubit_Decomposition and return with a void pointer pointing to the cla...
int iface_set_verbose(void *ptr, bool verbose)
Call to set the verbosity of the N_Qubit_Decomposition class.
void iface_list_operations(void *ptr, int start_index)
Call to list the operations giving the decomposition of the unitary.
int iface_set_identical_blocks(void *ptr, int qbit, int identical_blocks)
Set the number of identical successive blocks during the subdecomposition of the qbit-th qubit.
Header file for a class for the representation of one- and two-qubit operations.
int iface_get_operation(void *ptr, int n, int &op_type, int &target_qbit, int &control_qbit, double *parameters)
Call to get the n-th optimized operation.
int iface_set_iteration_loops(void *ptr, int qbit, int iteration_loops)
Set the number of iteration loops during the subdecomposition of the qbit-th qubit.
int iface_get_operation_num(void *ptr)
Call to get the number of decomposing operations.
int iface_start_decomposition(void *ptr)
Starts the decomposition of the unitary.
int iface_set_max_layer_num(void *ptr, int qbit, int max_layer_num)
Set the maximal number of layers used in the subdecomposition of the qbit-th qubit.
int iface_delete_N_Qubit_Decomposition(void *ptr)
Call to deallocate the N_Qubit_Decomposition class.
int iface_set_optimalization_block(void *ptr, int optimalization_block)
Call to set the number of blocks to be optimized in one shot.