28 #define _USE_MATH_DEFINES 58 CZ_NU(
int qbit_num_in,
int target_qbit_in,
int control_qbit_in);
Matrix calc_one_qubit_u3()
Set static values for matrix of the gates.
CZ_NU()
Nullary constructor of the class.
Header file for a class for the representation of general gate operations.
void apply_to(Matrix_real ¶meters, Matrix &input, int parallel)
Call to apply the gate on the input array/matrix CZ*input.
void set_optimized_parameters(double param)
Call to set the final optimized parameters of the gate.
void apply_from_right(Matrix_real ¶meters, Matrix &input)
Call to apply the gate on the input array/matrix by input*CZ.
Matrix_real parameters
Parameters of the gate after the decomposition of the unitary is done.
void apply_to_list(Matrix_real ¶meters, std::vector< Matrix > &inputs, int parallel)
Call to apply the gate on the input array/matrix by CZ_NU*input.
Header file for a class representing a CNOT operation.
Header file of complex array storage array with automatic and thread safe reference counting...
~CZ_NU()
Destructor of the class.
virtual CZ_NU * clone()
Call to create a clone of the present class.
A class representing a CNOT operation.
Matrix_real get_optimized_parameters()
Call to get the final optimized parameters of the gate.
Class to store data of complex arrays and its properties.
A class representing a CZ operation.
void set_qbit_num(int qbit_num)
Call to set the number of qubits spanning the matrix of the operation.
void reorder_qubits(std::vector< int > qbit_list)
Call to reorder the qubits in the matrix of the operation.
Matrix get_matrix()
Call to retrieve the operation matrix.
int qbit_num
number of qubits spanning the matrix of the operation
Class to store data of complex arrays and its properties.
std::vector< Matrix > apply_derivate_to(Matrix_real ¶meters_mtx, Matrix &input, int parallel)
Call to evaluate the derivate of the circuit on an input with respect to all of the free parameters...