Go to the documentation of this file.
10 #ifndef PROJECTION_MAXIMUM_SU_N_INCLUDED
11 #define PROJECTION_MAXIMUM_SU_N_INCLUDED
69 const double alpha,
const Field_G& Sigmap,
87 int mindex(
const int i,
const int j,
const int Nc)
88 {
return i + j * Nc; }
98 static bool register_factory()
101 init &= Projection::Factory_params::Register(
"Maximum_SU_N", create_object_with_params);
void init(const Parameters ¶ms)
void maxTr_SU2(const int, const int, Field_G &, Field_G &, Field_G &)
maximization by SU(2) subgroup.
~Projection_Maximum_SU_N()
Bridge::VerboseLevel m_vl
verbose level
void get_parameters(Parameters ¶ms) const
Maximum projection to SU(N) gauge group.
void force_recursive(Field_G &Xi, Field_G &iTheta, const double alpha, const Field_G &Sigmap, const Field_G &C, const Field_G &U)
force calculation: invalid in this class.
void project(Field_G &U, const double alpha, const Field_G &C, const Field_G &Uorg)
projection U = P[alpha, C, Uorg]
int mindex(const int i, const int j, const int Nc)
matrix index for convenience.
void reset_field(const Field_G &Uref)
void set_parameters(const Parameters ¶ms)
Base template class for projection operator into gauge group.
double m_Enorm
convergence criterion of maximization
Projection_Maximum_SU_N(const Parameters ¶ms)
void maxTr(Field_G &U, const Field_G &V)
maximization of ReTr[U^\dag V].
static const std::string class_name
int m_Niter
maximum iteration of maximization steps