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

Compute Jacobian and its sign determinant. More...

#include <field_potential.hpp>

Inheritance diagram for Potential:
Inheritance graph
[legend]

Public Member Functions

 Potential ()
 Constructor of Potential.
 
 Potential (const int n1, const int n2, const Distribution n3=Distribution::Zero_conf)
 Set Li, num_f, and field.
 
 Potential (const MatrixXcd &m)
 Set Li and field from MatrixXcd, but num_f such as num_f(num_f+1)/2==field.cols()
 
 Potential (const MatrixXcd &m, const int num_field)
 Set Li and field from MatrixXcd, but num_f=num_field
 
virtual ~Potential ()
 Destructor of Potential.
 
virtual bool operator== (const Potential &p)
 Is identical (Li, num_f) ?
 
virtual bool operator!= (const Potential &p)
 Not identical (Li, num_f) ?
 
int sign_det (const int debug=0) const
 Sign determinant with a fast algorithm (num_f < 4)
 
int sign_det4multifield (const int debug=0) const
 Sign determinant for mutli-superfield.
 
virtual void show () const
 Output Li, field.
 
- 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 Field
int Li
 Physical box size, N_0=N_1.
 
int num_f
 Number of superfields.
 
MatrixXcd field
 Superfields.
 

Detailed Description

Compute Jacobian and its sign determinant.

field: partial_i partial_j W({A}) (p) with i <= j; Then, num_f!=field.cols(), but n2(n2+1)/2==field.cols()

See also
Field
PotentialNR
MatrixComp

Definition at line 60 of file field_potential.hpp.

Constructor & Destructor Documentation

◆ Potential() [1/4]

Potential::Potential ( )
inlineexplicit

Constructor of Potential.

Definition at line 121 of file field_potential.hpp.

◆ Potential() [2/4]

Potential::Potential ( const int n1,
const int n2,
const Distribution n3 = Distribution::Zero_conf )
inlineexplicit

Set Li, num_f, and field.

Parameters
n1Set Li
n2Set num_f; n2(n2+1)/2==field.cols()
n3Set normal distribution type
See also
setconf

Definition at line 130 of file field_potential.hpp.

◆ Potential() [3/4]

Potential::Potential ( const MatrixXcd & m)
inlineexplicit

Set Li and field from MatrixXcd, but num_f such as num_f(num_f+1)/2==field.cols()

See also
setpotential

Definition at line 141 of file field_potential.hpp.

◆ Potential() [4/4]

Potential::Potential ( const MatrixXcd & m,
const int num_field )
inlineexplicit

Set Li and field from MatrixXcd, but num_f=num_field

num_f(num_f+1)/2==field.cols()

See also
setpotential

Definition at line 151 of file field_potential.hpp.

◆ ~Potential()

Potential::~Potential ( )
inlinevirtual

Destructor of Potential.

Definition at line 156 of file field_potential.hpp.

Member Function Documentation

◆ operator!=()

bool Potential::operator!= ( const Potential & p)
inlinevirtual

Not identical (Li, num_f) ?

Definition at line 167 of file field_potential.hpp.

◆ operator==()

bool Potential::operator== ( const Potential & p)
inlinevirtual

Is identical (Li, num_f) ?

Definition at line 162 of file field_potential.hpp.

◆ show()

void Potential::show ( ) const
virtual

Output Li, field.

Reimplemented from Field.

Reimplemented in PotentialNR.

Definition at line 393 of file field_potential.cpp.

◆ sign_det()

int Potential::sign_det ( const int debug = 0) const

Sign determinant with a fast algorithm (num_f < 4)

Probability of faster cases than Potential::sign_det4multifield: num_f=1: 99.9%, num_f=2: 99% num_f=3: 97-98%

Parameters
debugDebugging mode on(0)/off(1)
See also
MatrixComp::SignDet

Definition at line 374 of file field_potential.cpp.

◆ sign_det4multifield()

int Potential::sign_det4multifield ( const int debug = 0) const

Sign determinant for mutli-superfield.

Parameters
debugDebugging mode on(0)/off(1)
See also
MatrixComp::SignDet

Definition at line 387 of file field_potential.cpp.


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