Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Fopr_CRS Class Reference

Fermion operator with CRS matrix format. More...

#include <fopr_CRS.h>

Inheritance diagram for Fopr_CRS:
Fopr

Public Member Functions

 Fopr_CRS (Fopr *fopr)
 
 Fopr_CRS (std::string fname)
 
void set_parameters (const Parameters &)
 
void write_matrix (std::string)
 
void set_config (Field *U)
 setting pointer to the gauge configuration. More...
 
void set_mode (std::string mode)
 setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call. More...
 
std::string get_mode () const
 
const Field mult (const Field &f)
 multiplies fermion operator to a given field and returns the resultant field. More...
 
const Field mult_dag (const Field &f)
 hermitian conjugate of mult(const Field&). More...
 
void mult (Field &v, const Field &f)
 multiplies fermion operator to a given field (2nd argument) More...
 
void mult_dag (Field &v, const Field &f)
 hermitian conjugate of mult(Field&, const Field&). More...
 
void DdagD (Field &, const Field &)
 
void D (Field &, const Field &)
 
void Ddag (Field &, const Field &)
 
void H (Field &, const Field &)
 
int field_nvol ()
 returns the volume for which the fermion operator is defined. More...
 
int field_nin ()
 returns the on-site d.o.f. for which the fermion operator is defined. More...
 
int field_nex ()
 returns the external d.o.f. for which the fermion operator is defined. More...
 
- Public Member Functions inherited from Fopr
 Fopr ()
 
virtual ~Fopr ()
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 
virtual void mult_up (int mu, Field &, const Field &)
 nearest neighbor hopping term: temporary entry [H.Matsufuru] More...
 
virtual void mult_dn (int mu, Field &, const Field &)
 
virtual double flop_count ()
 returns the flops per site. More...
 

Static Public Attributes

static const std::string class_name = "Fopr_CRS"
 

Private Member Functions

void set_matrix ()
 
void set_matrix (std::string)
 
void set_matrix_1row (int &, std::valarray< int > &, std::valarray< double > &, Field &)
 

Private Attributes

int m_Nin
 
int m_Nvol
 
int m_Nex
 
int m_Nsize
 
int m_Nnz
 
std::valarray< int > m_rowidx_nz
 
std::valarray< int > m_column_nz
 
std::valarray< double > m_elem_nz
 
std::string m_mode
 
Foprm_fopr
 

Additional Inherited Members

- Protected Attributes inherited from Fopr
Bridge::VerboseLevel m_vl
 

Detailed Description

Fermion operator with CRS matrix format.

This fermion operator class is defined by CRS matrix format which is widely used in studies of linear algorithms. The matrix is defined by giving fermion operator, or reading from a file (filename is provided at construction). In present implementation, this class works only on single node. Parallel version should be implemented. [07 Dec 2011 H.Matsufuru]

Definition at line 38 of file fopr_CRS.h.

Constructor & Destructor Documentation

Fopr_CRS::Fopr_CRS ( Fopr fopr)
inline

Definition at line 54 of file fopr_CRS.h.

Fopr_CRS::Fopr_CRS ( std::string  fname)
inline

Definition at line 60 of file fopr_CRS.h.

Member Function Documentation

void Fopr_CRS::D ( Field v,
const Field w 
)

Definition at line 44 of file fopr_CRS.cpp.

void Fopr_CRS::Ddag ( Field v,
const Field w 
)

Definition at line 76 of file fopr_CRS.cpp.

void Fopr_CRS::DdagD ( Field v,
const Field w 
)

Definition at line 34 of file fopr_CRS.cpp.

int Fopr_CRS::field_nex ( )
inlinevirtual

returns the external d.o.f. for which the fermion operator is defined.

Implements Fopr.

Definition at line 141 of file fopr_CRS.h.

int Fopr_CRS::field_nin ( )
inlinevirtual

returns the on-site d.o.f. for which the fermion operator is defined.

Implements Fopr.

Definition at line 140 of file fopr_CRS.h.

int Fopr_CRS::field_nvol ( )
inlinevirtual

returns the volume for which the fermion operator is defined.

Implements Fopr.

Definition at line 139 of file fopr_CRS.h.

std::string Fopr_CRS::get_mode ( ) const
inlinevirtual

Reimplemented from Fopr.

Definition at line 85 of file fopr_CRS.h.

void Fopr_CRS::H ( Field ,
const Field  
)
const Field Fopr_CRS::mult ( const Field )
inlinevirtual

multiplies fermion operator to a given field and returns the resultant field.

Implements Fopr.

Definition at line 90 of file fopr_CRS.h.

void Fopr_CRS::mult ( Field ,
const Field  
)
inlinevirtual

multiplies fermion operator to a given field (2nd argument)

Reimplemented from Fopr.

Definition at line 106 of file fopr_CRS.h.

const Field Fopr_CRS::mult_dag ( const Field )
inlinevirtual

hermitian conjugate of mult(const Field&).

Reimplemented from Fopr.

Definition at line 98 of file fopr_CRS.h.

void Fopr_CRS::mult_dag ( Field ,
const Field  
)
inlinevirtual

hermitian conjugate of mult(Field&, const Field&).

Reimplemented from Fopr.

Definition at line 120 of file fopr_CRS.h.

void Fopr_CRS::set_config ( Field )
inlinevirtual

setting pointer to the gauge configuration.

Implements Fopr.

Definition at line 70 of file fopr_CRS.h.

void Fopr_CRS::set_matrix ( )
private

Definition at line 109 of file fopr_CRS.cpp.

void Fopr_CRS::set_matrix ( std::string  )
private
void Fopr_CRS::set_matrix_1row ( int &  ,
std::valarray< int > &  ,
std::valarray< double > &  ,
Field  
)
private

Definition at line 192 of file fopr_CRS.cpp.

void Fopr_CRS::set_mode ( std::string  mode)
inlinevirtual

setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.

Reimplemented from Fopr.

Definition at line 80 of file fopr_CRS.h.

void Fopr_CRS::set_parameters ( const Parameters params)
virtual

Implements Fopr.

Definition at line 25 of file fopr_CRS.cpp.

void Fopr_CRS::write_matrix ( std::string  )

Definition at line 260 of file fopr_CRS.cpp.

Member Data Documentation

const std::string Fopr_CRS::class_name = "Fopr_CRS"
static

Definition at line 41 of file fopr_CRS.h.

std::valarray<int> Fopr_CRS::m_column_nz
private

Definition at line 47 of file fopr_CRS.h.

std::valarray<double> Fopr_CRS::m_elem_nz
private

Definition at line 48 of file fopr_CRS.h.

Fopr* Fopr_CRS::m_fopr
private

Definition at line 50 of file fopr_CRS.h.

std::string Fopr_CRS::m_mode
private

Definition at line 49 of file fopr_CRS.h.

int Fopr_CRS::m_Nex
private

Definition at line 44 of file fopr_CRS.h.

int Fopr_CRS::m_Nin
private

Definition at line 44 of file fopr_CRS.h.

int Fopr_CRS::m_Nnz
private

Definition at line 45 of file fopr_CRS.h.

int Fopr_CRS::m_Nsize
private

Definition at line 45 of file fopr_CRS.h.

int Fopr_CRS::m_Nvol
private

Definition at line 44 of file fopr_CRS.h.

std::valarray<int> Fopr_CRS::m_rowidx_nz
private

Definition at line 46 of file fopr_CRS.h.


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