LandauGinzburg
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Field Class Reference

Generate normal distributions; Compute convolutions. More...

#include <field_class.hpp>

Inheritance diagram for Field:
Inheritance graph
[legend]

Public Member Functions

 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.
 
virtual void show () const
 Output Li, field.
 

Static Public Member Functions

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

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

int Li
 Physical box size, N_0=N_1.
 
int num_f
 Number of superfields.
 
MatrixXcd field
 Superfields.
 

Detailed Description

Generate normal distributions; Compute convolutions.

See also
Potential
PotentialNR
Nicolai
Scalar
NicolaiSol
Distribution

Definition at line 48 of file field_class.hpp.

Constructor & Destructor Documentation

◆ Field() [1/8]

Field::Field ( )
inlineexplicit

Constructor of Field.

Definition at line 143 of file field_class.hpp.

◆ Field() [2/8]

Field::Field ( const int n1,
const int n2 )
inlineexplicit

Set Li=n1 and num_f=n2.

Parameters
n1Set Li
n2Set num_f

Definition at line 150 of file field_class.hpp.

◆ Field() [3/8]

Field::Field ( const int n1,
const int n2,
const Distribution n3,
const double mean = 0.0,
const double dev = 1.0 )
inline

Set Li, num_f, and field.

Parameters
n1Set Li
n2Set num_f
n3Set normal distribution type
meanParameter of normal distribution
devParameter of normal distribution
See also
setconf

Definition at line 161 of file field_class.hpp.

◆ Field() [4/8]

Field::Field ( const int n1,
const int n2,
const int n3,
const Distribution n4,
const double mean = 0.0,
const double dev = 1.0 )
inline

Set Li, num_f, and field; n3 is.

Parameters
n1Set Li
n2Set num_f
n3Set field.cols(); It is possible that n3!=num_f
n4Set normal distribution type
meanParameter of normal distribution
devParameter of normal distribution
See also
setconf

Definition at line 178 of file field_class.hpp.

◆ Field() [5/8]

Field::Field ( const VectorXcd & v,
const int num_field = 1 )
inline

Set Li, num_f, and field from VectorXcd.

See also
setconf

Definition at line 187 of file field_class.hpp.

◆ Field() [6/8]

Field::Field ( const VectorXd & v,
const int num_field )
inline

Set Li and field from VectorXd; num_f!=field.cols()

See also
setconf

Definition at line 194 of file field_class.hpp.

◆ Field() [7/8]

Field::Field ( const MatrixXcd & m)
inline

Set Li, num_f, and field from MatrixXcd.

See also
setconf

Definition at line 200 of file field_class.hpp.

◆ Field() [8/8]

Field::Field ( const MatrixXcd & m,
const int num_field )
inline

Set Li and field from MatrixXcd, but num_f=num_field

It is possible that num_f!=field.cols()

See also
setconf

Definition at line 208 of file field_class.hpp.

◆ ~Field()

Field::~Field ( )
inlinevirtual

Destructor of Field.

Definition at line 211 of file field_class.hpp.

Member Function Documentation

◆ combine_with()

Field 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.

Definition at line 252 of file field_class.cpp.

◆ conf() [1/2]

MatrixXcd Field::conf ( ) const
inline

All superfields

Definition at line 277 of file field_class.hpp.

◆ conf() [2/2]

VectorXcd Field::conf ( const int n) const
inline

n-th superfield

Definition at line 282 of file field_class.hpp.

◆ conf_imag()

VectorXd Field::conf_imag ( const int n) const
inline

Imaginary part of n-th superfield

Definition at line 292 of file field_class.hpp.

◆ conf_real()

VectorXd Field::conf_real ( const int n) const
inline

Real part of n-th superfield

Definition at line 287 of file field_class.hpp.

◆ conjconv()

Field Field::conjconv ( const int n) const

Convolution field(:,n)*conf(field(:,n))

Parameters
nn-th superfield

Definition at line 201 of file field_class.cpp.

◆ conv()

Field Field::conv ( const int n1,
const int n2 ) const

Convolution field(:,n1)*field(:,n2)

Parameters
n1n1-th superfield
n2n2-th superfield

Definition at line 187 of file field_class.cpp.

◆ conv_pw()

Field Field::conv_pw ( const int pw,
const int n = 0 ) const

Convolution field(:,n)*field(:,n)*...*field(:,n)

Parameters
pwConvolution times
nn-th superfield

Definition at line 219 of file field_class.cpp.

◆ dfield2matrix()

MatrixXcd Field::dfield2matrix ( const int n) const
protected

From vector-type field(p,n) to matrix-type field(p,n)*field(q,n)

Definition at line 175 of file field_class.cpp.

◆ field2matrix()

MatrixXcd Field::field2matrix ( const int n) const
protected

From vector-type field(p,n) to matrix-type field(p-q,n)

Definition at line 154 of file field_class.cpp.

◆ Gauss() [1/2]

static Field Field::Gauss ( const int n1,
const int n2,
const double mean = 0.0,
const double dev = 1.0 )
inlinestatic
See also
setgauss

Definition at line 223 of file field_class.hpp.

◆ Gauss() [2/2]

static Field Field::Gauss ( const int n1,
const int n2,
const int n3,
const double mean = 0.0,
const double dev = 1.0 )
inlinestatic
See also
setgauss

Definition at line 228 of file field_class.hpp.

◆ GaussL() [1/2]

static Field Field::GaussL ( const int n1,
const int n2,
const double mean = 0.0 )
inlinestatic
See also
setgaussl

Definition at line 233 of file field_class.hpp.

◆ GaussL() [2/2]

static Field Field::GaussL ( const int n1,
const int n2,
const int n3,
const double mean = 0.0 )
inlinestatic
See also
setgaussl

Definition at line 238 of file field_class.hpp.

◆ GaussMT() [1/2]

static Field Field::GaussMT ( const int n1,
const int n2,
const double mean = 0.0,
const double dev = 1.0 )
inlinestatic
See also
setgaussmt

Definition at line 243 of file field_class.hpp.

◆ GaussMT() [2/2]

static Field Field::GaussMT ( const int n1,
const int n2,
const int n3,
const double mean = 0.0,
const double dev = 1.0 )
inlinestatic
See also
setgaussmt

Definition at line 248 of file field_class.hpp.

◆ GaussMTL() [1/2]

static Field Field::GaussMTL ( const int n1,
const int n2,
const double mean = 0.0 )
inlinestatic
See also
setgaussmtl

Definition at line 253 of file field_class.hpp.

◆ GaussMTL() [2/2]

static Field Field::GaussMTL ( const int n1,
const int n2,
const int n3,
const double mean = 0.0 )
inlinestatic
See also
setgaussmtl

Definition at line 258 of file field_class.hpp.

◆ Matrix() [1/2]

static Field Field::Matrix ( const MatrixXcd & m)
inlinestatic
See also
setconf

Definition at line 267 of file field_class.hpp.

◆ Matrix() [2/2]

static Field Field::Matrix ( const MatrixXcd & m,
const int num_field )
inlinestatic
See also
setconf

Definition at line 270 of file field_class.hpp.

◆ operator!=()

bool Field::operator!= ( const Field & f)
inlinevirtual

Not identical (Li, num_f) ?

Definition at line 303 of file field_class.hpp.

◆ operator*=()

Field & Field::operator*= ( const double n)
inlinevirtual

Multiply by a real number n.

Definition at line 309 of file field_class.hpp.

◆ operator/=()

Field & Field::operator/= ( const double n)
inlinevirtual

Devide by a real number n.

Definition at line 314 of file field_class.hpp.

◆ operator==()

bool Field::operator== ( const Field & f)
inlinevirtual

Is identical (Li, num_f) ?

Definition at line 298 of file field_class.hpp.

◆ setconf() [1/5]

void Field::setconf ( const int num_col,
const Distribution n,
const double mean = 0.0,
const double dev = 1.0 )
protected

Generate normal distributions with type Distribution

See also
Distribution

Definition at line 46 of file field_class.cpp.

◆ setconf() [2/5]

void Field::setconf ( const MatrixXcd & m)
protected

Generate from MatrixXcd data

Definition at line 108 of file field_class.cpp.

◆ setconf() [3/5]

void Field::setconf ( const MatrixXcd & m,
const int num_field )
protected

Generate from MatrixXcd data and set number of fields with num_field

Definition at line 123 of file field_class.cpp.

◆ setconf() [4/5]

void Field::setconf ( const VectorXcd & v,
const int num_field = 1 )
protected

Generate from VectorXcd data

Definition at line 68 of file field_class.cpp.

◆ setconf() [5/5]

void Field::setconf ( const VectorXd & v,
const int num_field )
protected

Generate from VectorXd data

Definition at line 84 of file field_class.cpp.

◆ setgauss()

void Field::setgauss ( const int num_col,
const double mean = 0.0,
const double dev = 1.0 )
protected

Generate normal distributions by random device with unit deviation;

See also
Distribution::Gauss_unit

Definition at line 10 of file field_class.cpp.

◆ setgaussl()

void Field::setgaussl ( const int num_col,
const double mean = 0.0 )
protected

Generate normal distributions by random device with deviation Li/SQRT2

See also
Distribution::Gauss_L

Definition at line 23 of file field_class.cpp.

◆ setgaussmt()

void Field::setgaussmt ( const int num_col,
const double mean = 0.0,
const double dev = 1.0 )
protected

Generate normal distributions by Mersenne twistor with unit deviation

See also
Distribution::Gauss_MT_unit

Definition at line 27 of file field_class.cpp.

◆ setgaussmtl()

void Field::setgaussmtl ( const int num_col,
const double mean = 0.0 )
protected

Generate normal distributions by Mersenne twistor with deviation Li/SQRT2

See also
Distribution::Gauss_MT_L

Definition at line 41 of file field_class.cpp.

◆ show()

void Field::show ( ) const
virtual

Output Li, field.

Reimplemented in Nicolai, Scalar, NicolaiSol, Potential, and PotentialNR.

Definition at line 269 of file field_class.cpp.

◆ Vector()

static Field Field::Vector ( const VectorXcd & v,
const int num_field = 1 )
inlinestatic
See also
setconf

Definition at line 263 of file field_class.hpp.

◆ vector2matrix()

MatrixXcd Field::vector2matrix ( const int n) const
protected

From vector-type field(p) to matrix-type field(p_0,p_1)

Definition at line 140 of file field_class.cpp.

◆ Zero() [1/2]

static Field Field::Zero ( const int n1,
const int n2 )
inlinestatic
See also
setconf

Definition at line 215 of file field_class.hpp.

◆ Zero() [2/2]

static Field Field::Zero ( const int n1,
const int n2,
const int n3 )
inlinestatic
See also
setconf

Definition at line 219 of file field_class.hpp.

Member Data Documentation

◆ field

MatrixXcd Field::field
protected

Superfields.

i-th superfield: field(:,i)

Definition at line 58 of file field_class.hpp.

◆ Li

int Field::Li
protected

Physical box size, N_0=N_1.

Definition at line 51 of file field_class.hpp.

◆ num_f

int Field::num_f
protected

Number of superfields.

Definition at line 53 of file field_class.hpp.


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