29 #define _USE_MATH_DEFINES 52 U3(
int qbit_num_in,
int target_qbit_in);
A class representing a U3 gate.
Header file for a class for the representation of general gate operations.
virtual Matrix get_matrix()
Call to retrieve the operation matrix.
virtual void apply_to(Matrix_real ¶meters, Matrix &input, int parallel)
Call to apply the gate on the input array/matrix by U3*input.
U3()
Nullary constructor of the class.
void apply_to_list(Matrix_real ¶meters, std::vector< Matrix > &inputs, int parallel)
Call to apply the gate on the input array/matrix by U3*input.
virtual void reorder_qubits(std::vector< int > qbit_list)
Call to reorder the qubits in the matrix of the gate.
virtual U3 * clone()
Call to create a clone of the present class.
virtual void apply_from_right(Matrix_real ¶meters, Matrix &input)
Call to apply the gate on the input array/matrix by input*U3.
Header file of complex array storage array with automatic and thread safe reference counting...
Class to store data of complex arrays and its properties.
virtual Matrix_real extract_parameters(Matrix_real ¶meters)
Call to extract parameters from the parameter array corresponding to the circuit, in which the gate i...
virtual std::vector< Matrix > apply_derivate_to(Matrix_real ¶meters, Matrix &input, int parallel)
Call to evaluate the derivate of the circuit on an inout with respect to all of the free parameters...
virtual ~U3()
Destructor of the class.
Base class for the representation of general gate operations.
virtual void set_qbit_num(int qbit_num_in)
Call to set the number of qubits spanning the matrix of the gate.
Class to store data of complex arrays and its properties.