ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
gram_schmidt_orth.h
Go to the documentation of this file.
1//==========================================================
2// AUTHOR : Peize Lin
3// DATE : 2016-08-03
4//==========================================================
5
6#ifndef GRAM_SCHMIDT_ORTH_H
7#define GRAM_SCHMIDT_ORTH_H
8
9#include<limits>
10#include<vector>
11namespace ModuleBase
12{
13
14template<typename Func_Type, typename R_Type=double>
16{
17public:
18
19 enum class Coordinate { Cartesian, Sphere };
20
21 Gram_Schmidt_Orth( const std::vector<R_Type> &rab, const Coordinate &coordinate );
22
23 std::vector<std::vector<Func_Type>> cal_orth(
24 const std::vector<std::vector<Func_Type>> &func,
25 const Func_Type norm_threshold = std::numeric_limits<Func_Type>::min() );
26
27private:
28
30 const std::vector<R_Type> &rab;
31 std::vector<R_Type> radial_2;
32
33 Func_Type cal_norm( const std::vector<Func_Type> &f );
34
35};
36
37}
38#endif // GRAM_SCHMIDT_ORTH_H
Definition gram_schmidt_orth.h:16
std::vector< R_Type > radial_2
Definition gram_schmidt_orth.h:31
Func_Type cal_norm(const std::vector< Func_Type > &f)
Definition gram_schmidt_orth-inl.h:80
Coordinate
Definition gram_schmidt_orth.h:19
std::vector< std::vector< Func_Type > > cal_orth(const std::vector< std::vector< Func_Type > > &func, const Func_Type norm_threshold=std::numeric_limits< Func_Type >::min())
Definition gram_schmidt_orth-inl.h:33
const std::vector< R_Type > & rab
Definition gram_schmidt_orth.h:30
const Coordinate coordinate
Definition gram_schmidt_orth.h:29
Definition array_pool.h:6
double func(const Vec3 &r, const std::vector< Vec3 > &R, const std::vector< double > &a, const std::vector< double > &n)
Definition test_partition.cpp:50