LandauGinzburg
Loading...
Searching...
No Matches
Public Member Functions | List of all members
NicolaiSol Class Reference

Execute the Newton–Raphson method; Combine solutions; Obtain sign det for each Scalar. More...

#include <field_nicolai.hpp>

Inheritance diagram for NicolaiSol:
Inheritance graph
[legend]

Public Member Functions

 NicolaiSol ()
 Constructor of NicolaiSol.
 
 NicolaiSol (const int n1, const int n2, const int n3)
 Set members of the class Nicolai:
 
 ~NicolaiSol ()
 Destructor of NicolaiSol.
 
bool operator== (const NicolaiSol &f)
 Is identical (Li, num_f, field) ?
 
bool operator!= (const NicolaiSol &f)
 Not identical (Li, num_f, field) ?
 
NicolaiSoladd_sol (const Scalar &f, const double &err)
 Add a new solution; Ignore identical one.
 
NicolaiSoladd_sol (const NicolaiSol &sol)
 Add a new solution; Ignore identical ones.
 
int num_sol () const
 Number of solutions.
 
double max_err () const
 Maximum error of NR method.
 
double nr_method (const VectorXi k, const VectorXd lambda, const int num_nrsol, const int LOOP, const SuperPotentialType t=SuperPotentialType::AlgebraA)
 Newton–Raphson method.
 
void test_nr_method (const VectorXi k, const VectorXd lambda, const int LOOP, const int TRIAL, const SuperPotentialType t=SuperPotentialType::AlgebraA)
 Observe the numerical convergence of NR method for each system.
 
int sign_det (const int n) const
 Sign determinant (Jacobian)
 
void phi_output (const int in, const VectorXi signs) const
 Output to file.
 
void show () const
 Output Scalars.
 
- Public Member Functions inherited from Nicolai
 Nicolai ()
 Constructor of Nicolai.
 
 Nicolai (const int n1, const int n2, const int n3)
 Set Li, num_f, in; Configuration is generated by random device with deviation Li/SQRT2.
 
virtual ~Nicolai ()
 Destructor of Nicolai.
 
virtual bool operator== (const Nicolai &f)
 Is identical (Li, num_f) ?
 
virtual bool operator!= (const Nicolai &f)
 Not identical (Li, num_f) ?
 
VectorXd nr_nvec () const
 Compute Vector for NR method (Real type)
 
VectorXcd nrerr_nvec () const
 Compute Vector for NR error estimate (complex type)
 
void nic_output (const VectorXi k, const VectorXd lambda, const int num_nrsol, const VectorXi signs, const int dmp, const double max_err, const SuperPotentialType spt) const
 Output to file.
 
- Public Member Functions inherited from Field
 Field ()
 Constructor of Field.
 
 Field (const int n1, const int n2)
 Set Li=n1 and num_f=n2.
 
 Field (const int n1, const int n2, const Distribution n3, const double mean=0.0, const double dev=1.0)
 Set Li, num_f, and field.
 
 Field (const int n1, const int n2, const int n3, const Distribution n4, const double mean=0.0, const double dev=1.0)
 Set Li, num_f, and field; n3 is.
 
 Field (const VectorXcd &v, const int num_field=1)
 Set Li, num_f, and field from VectorXcd.
 
 Field (const VectorXd &v, const int num_field)
 Set Li and field from VectorXd; num_f!=field.cols()
 
 Field (const MatrixXcd &m)
 Set Li, num_f, and field from MatrixXcd.
 
 Field (const MatrixXcd &m, const int num_field)
 Set Li and field from MatrixXcd, but num_f=num_field
 
virtual ~Field ()
 Destructor of Field.
 
MatrixXcd conf () const
 
VectorXcd conf (const int n) const
 
VectorXd conf_real (const int n) const
 
VectorXd conf_imag (const int n) const
 
virtual bool operator== (const Field &f)
 Is identical (Li, num_f) ?
 
virtual bool operator!= (const Field &f)
 Not identical (Li, num_f) ?
 
virtual Fieldoperator*= (const double n)
 Multiply by a real number n.
 
virtual Fieldoperator/= (const double n)
 Devide by a real number n.
 
Field conv (const int n1, const int n2) const
 Convolution field(:,n1)*field(:,n2)
 
Field conjconv (const int n) const
 Convolution field(:,n)*conf(field(:,n))
 
Field conv_pw (const int pw, const int n=0) const
 Convolution field(:,n)*field(:,n)*...*field(:,n)
 
Field combine_with (const Field &f)
 Combine with another Field object; Mutate field (Li and num_f are unchaged) except for the case that field is empty.
 

Additional Inherited Members

- Static Public Member Functions inherited from Field
static Field Zero (const int n1, const int n2)
 
static Field Zero (const int n1, const int n2, const int n3)
 
static Field Gauss (const int n1, const int n2, const double mean=0.0, const double dev=1.0)
 
static Field Gauss (const int n1, const int n2, const int n3, const double mean=0.0, const double dev=1.0)
 
static Field GaussL (const int n1, const int n2, const double mean=0.0)
 
static Field GaussL (const int n1, const int n2, const int n3, const double mean=0.0)
 
static Field GaussMT (const int n1, const int n2, const double mean=0.0, const double dev=1.0)
 
static Field GaussMT (const int n1, const int n2, const int n3, const double mean=0.0, const double dev=1.0)
 
static Field GaussMTL (const int n1, const int n2, const double mean=0.0)
 
static Field GaussMTL (const int n1, const int n2, const int n3, const double mean=0.0)
 
static Field Vector (const VectorXcd &v, const int num_field=1)
 
static Field Matrix (const MatrixXcd &m)
 
static Field Matrix (const MatrixXcd &m, const int num_field)
 
- Protected Member Functions inherited from Field
void setgauss (const int num_col, const double mean=0.0, const double dev=1.0)
 
void setgaussl (const int num_col, const double mean=0.0)
 
void setgaussmt (const int num_col, const double mean=0.0, const double dev=1.0)
 
void setgaussmtl (const int num_col, const double mean=0.0)
 
void setconf (const int num_col, const Distribution n, const double mean=0.0, const double dev=1.0)
 
void setconf (const VectorXcd &v, const int num_field=1)
 
void setconf (const VectorXd &v, const int num_field)
 
void setconf (const MatrixXcd &m)
 
void setconf (const MatrixXcd &m, const int num_field)
 
MatrixXcd vector2matrix (const int n) const
 
MatrixXcd field2matrix (const int n) const
 
MatrixXcd dfield2matrix (const int n) const
 
- Protected Attributes inherited from Nicolai
int in
 ID number for the Nicolai map.
 
- Protected Attributes inherited from Field
int Li
 Physical box size, N_0=N_1.
 
int num_f
 Number of superfields.
 
MatrixXcd field
 Superfields.
 

Detailed Description

Execute the Newton–Raphson method; Combine solutions; Obtain sign det for each Scalar.

See also
Scalar

Definition at line 382 of file field_nicolai.hpp.

Constructor & Destructor Documentation

◆ NicolaiSol() [1/2]

NicolaiSol::NicolaiSol ( )
inlineexplicit

Constructor of NicolaiSol.

Definition at line 391 of file field_nicolai.hpp.

◆ NicolaiSol() [2/2]

NicolaiSol::NicolaiSol ( const int n1,
const int n2,
const int n3 )
inlineexplicit

Set members of the class Nicolai:

Parameters
n1Set Li
n2Set num_f
n3Set in

Definition at line 399 of file field_nicolai.hpp.

◆ ~NicolaiSol()

NicolaiSol::~NicolaiSol ( )
inline

Destructor of NicolaiSol.

Definition at line 403 of file field_nicolai.hpp.

Member Function Documentation

◆ add_sol() [1/2]

NicolaiSol & NicolaiSol::add_sol ( const NicolaiSol & sol)

Add a new solution; Ignore identical ones.

Definition at line 436 of file field_nicolai.cpp.

◆ add_sol() [2/2]

NicolaiSol & NicolaiSol::add_sol ( const Scalar & f,
const double & err )

Add a new solution; Ignore identical one.

Definition at line 422 of file field_nicolai.cpp.

◆ max_err()

double NicolaiSol::max_err ( ) const
inline

Maximum error of NR method.

Definition at line 440 of file field_nicolai.hpp.

◆ nr_method()

double NicolaiSol::nr_method ( const VectorXi k,
const VectorXd lambda,
const int num_nrsol,
const int LOOP,
const SuperPotentialType t = SuperPotentialType::AlgebraA )

Newton–Raphson method.

Parameters
kPower in superpotential
lambdaCoupling
num_nrsolNumber of "convergent" trials of NR method
LOOPMaximum number of iteration
tType of SuperPotential
Returns
Number of omitting initial configuraiotns because of divergence

Definition at line 443 of file field_nicolai.cpp.

◆ num_sol()

int NicolaiSol::num_sol ( ) const
inline

Number of solutions.

Definition at line 437 of file field_nicolai.hpp.

◆ operator!=()

Not identical (Li, num_f, field) ?

Note that the operator compares fields

Definition at line 422 of file field_nicolai.hpp.

◆ operator==()

Is identical (Li, num_f, field) ?

Note that the operator compares fields

Definition at line 410 of file field_nicolai.hpp.

◆ phi_output()

void NicolaiSol::phi_output ( const int in,
const VectorXi signs ) const

Output to file.

Definition at line 515 of file field_nicolai.cpp.

◆ show()

void NicolaiSol::show ( ) const
virtual

Output Scalars.

Reimplemented from Nicolai.

Definition at line 522 of file field_nicolai.cpp.

◆ sign_det()

int NicolaiSol::sign_det ( const int n) const
inline

Sign determinant (Jacobian)

Definition at line 477 of file field_nicolai.hpp.

◆ test_nr_method()

void NicolaiSol::test_nr_method ( const VectorXi k,
const VectorXd lambda,
const int LOOP,
const int TRIAL,
const SuperPotentialType t = SuperPotentialType::AlgebraA )

Observe the numerical convergence of NR method for each system.

Parameters
kPower in superpotential
lambdaCoupling
LOOPMaximum number of iteration
TRIALMaximum number of trials
tType of SuperPotential

Definition at line 466 of file field_nicolai.cpp.


The documentation for this class was generated from the following files: