37 #if !defined(_GRID_MATRIX_H_) 38 #define _GRID_MATRIX_H_ 1 59 : mat(new
ergo_real[nbast_*nbast_]), nbast(nbast_), owned(true)
61 for(
int i= nbast*nbast-1; i >=0; --i) mat[i] = 0.0;
64 : mat(m), nbast(nbast_), owned(false)
69 : mat( (
ergo_real*)(m)), nbast(nbast_), owned(false)
76 mat[row + col*nbast] += val;
80 return mat[row + col*nbast];
virtual ergo_real at(int row, int col) const =0
~FullMatrix()
Definition: grid_matrix.h:73
double ergo_real
Definition: realtype.h:69
Declares a sparse matrix optimized for the XC code.
ergo_real at(int row, int col) const
Definition: grid_matrix.h:78
bool owned
Definition: grid_matrix.h:57
virtual const ergo_real * asFull() const =0
int nbast
Definition: grid_matrix.h:56
Definition: grid_matrix.h:44
FullMatrix(int nbast_)
Definition: grid_matrix.h:58
virtual ~Matrix()
Definition: grid_matrix.h:50
Sparse matrix structure optimized for XC data access pattern.
Definition: sparse_matrix.h:56
FullMatrix(ergo_real *m, int nbast_)
Definition: grid_matrix.h:63
virtual const SparseMatrix * asSparse() const =0
ergo_real * mat
Definition: grid_matrix.h:55
Definition: grid_matrix.h:53
void add(int row, int col, ergo_real val)
Definition: grid_matrix.h:74
virtual bool isSparse() const =0
FullMatrix(const ergo_real *m, int nbast_)
ugly-hack constructor.
Definition: grid_matrix.h:68
Definition: grid_matrix.h:42