ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
ModuleBase::matrix Class Reference

#include <matrix.h>

Collaboration diagram for ModuleBase::matrix:

Public Types

using type = double
 

Public Member Functions

 matrix ()
 
 matrix (const int nrows, const int ncols, const bool flag_zero=true)
 
 matrix (const matrix &m1)
 
 matrix (matrix &&m1)
 
 ~matrix ()
 
void create (const int nrow, const int ncol, const bool flag_zero=true)
 
matrixoperator= (const matrix &m1)
 
matrixoperator= (matrix &&m1)
 
double & operator() (const int ir, const int ic)
 
const double & operator() (const int ir, const int ic) const
 
void operator*= (const double &s)
 
void operator+= (const matrix &m)
 
void operator-= (const matrix &m)
 
matrix Inverse (void)
 
double det (void)
 
double trace_on (void) const
 
void zero_out (void)
 
void fill_out (const double x)
 
void get_extreme_eigen_values (double &ev_lower, double &ev_upper) const
 
void reshape (const int nr_new, const int nc_new, const bool flag_zero=true)
 
double max () const
 
double min () const
 
double absmax () const
 
double norm () const
 
std::ostream & print (std::ostream &os, const double threshold=0.0) const
 

Public Attributes

int nr =0
 
int nc =0
 
double * c =nullptr
 

Member Typedef Documentation

◆ type

using ModuleBase::matrix::type = double

Constructor & Destructor Documentation

◆ matrix() [1/4]

ModuleBase::matrix::matrix ( )
inline

◆ matrix() [2/4]

ModuleBase::matrix::matrix ( const int  nrows,
const int  ncols,
const bool  flag_zero = true 
)
inline
Here is the call graph for this function:

◆ matrix() [3/4]

ModuleBase::matrix::matrix ( const matrix m1)
inline
Here is the call graph for this function:

◆ matrix() [4/4]

ModuleBase::matrix::matrix ( matrix &&  m1)
inline

◆ ~matrix()

ModuleBase::matrix::~matrix ( )

Member Function Documentation

◆ absmax()

double ModuleBase::matrix::absmax ( ) const

◆ create()

void ModuleBase::matrix::create ( const int  nrow,
const int  ncol,
const bool  flag_zero = true 
)
Here is the call graph for this function:

◆ det()

double ModuleBase::matrix::det ( void  )

◆ fill_out()

void ModuleBase::matrix::fill_out ( const double  x)
Here is the caller graph for this function:

◆ get_extreme_eigen_values()

void ModuleBase::matrix::get_extreme_eigen_values ( double &  ev_lower,
double &  ev_upper 
) const

◆ Inverse()

matrix ModuleBase::matrix::Inverse ( void  )

◆ max()

double ModuleBase::matrix::max ( ) const

◆ min()

double ModuleBase::matrix::min ( ) const

◆ norm()

double ModuleBase::matrix::norm ( ) const
Here is the call graph for this function:

◆ operator()() [1/2]

double & ModuleBase::matrix::operator() ( const int  ir,
const int  ic 
)
inline

◆ operator()() [2/2]

const double & ModuleBase::matrix::operator() ( const int  ir,
const int  ic 
) const
inline

◆ operator*=()

void ModuleBase::matrix::operator*= ( const double &  s)

◆ operator+=()

void ModuleBase::matrix::operator+= ( const matrix m)

◆ operator-=()

void ModuleBase::matrix::operator-= ( const matrix m)

◆ operator=() [1/2]

matrix & ModuleBase::matrix::operator= ( const matrix m1)
inline
Here is the call graph for this function:

◆ operator=() [2/2]

matrix & ModuleBase::matrix::operator= ( matrix &&  m1)
inline

◆ print()

std::ostream & ModuleBase::matrix::print ( std::ostream &  os,
const double  threshold = 0.0 
) const
Here is the caller graph for this function:

◆ reshape()

void ModuleBase::matrix::reshape ( const int  nr_new,
const int  nc_new,
const bool  flag_zero = true 
)

◆ trace_on()

double ModuleBase::matrix::trace_on ( void  ) const

◆ zero_out()

void ModuleBase::matrix::zero_out ( void  )
Here is the caller graph for this function:

Member Data Documentation

◆ c

double* ModuleBase::matrix::c =nullptr

◆ nc

int ModuleBase::matrix::nc =0

◆ nr

int ModuleBase::matrix::nr =0

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