ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
Public Member Functions | |
GramSchmidtOrth (int nbasis, int ndim, double dr, ModuleBase::Gram_Schmidt_Orth< double, double >::Coordinate coordinate) | |
double | inner_product (std::vector< double > a, std::vector< double > b) |
Public Attributes | |
int | nbasis |
int | ndim |
double | dr |
std::vector< double > | r2 |
double | norm0 |
ModuleBase::Gram_Schmidt_Orth< double, double >::Coordinate | coordinate |
std::vector< double > | rab |
std::vector< std::vector< double > > | basis |
Based on an linearly independent, but not orthonormal, set of functions x:{x1,x2,x3,...}, we can construct an orthonormal set X:{X1, X2, X3, ...} by using Gram-Schmidt orthogonalization. The new set X should has below properties:
Note:in this class, for coordinate of sphere, the inner product of two radial function f(r) and g(r) equals the integral of r^2*f(r)*g(r) $$ (f(r),g(r)) = {\int}r^2f(r)g(r)dr $$
|
inline |
|
inline |
std::vector<std::vector<double> > GramSchmidtOrth::basis |
ModuleBase::Gram_Schmidt_Orth<double,double>::Coordinate GramSchmidtOrth::coordinate |
double GramSchmidtOrth::dr |
int GramSchmidtOrth::nbasis |
int GramSchmidtOrth::ndim |
double GramSchmidtOrth::norm0 |
std::vector<double> GramSchmidtOrth::r2 |
std::vector<double> GramSchmidtOrth::rab |