ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
ABFs_Construct-PCA.h
Go to the documentation of this file.
1#ifndef ABFS_CONSTRUCT_PCA_H
2#define ABFS_CONSTRUCT_PCA_H
3
4#include "../../source_basis/module_ao/ORB_read.h"
6#include <vector>
7#include <RI/global/Tensor.h>
8
9// training data: lcaos[i] * lcaos[j]
10// old basis: abfs
11// new basis: to be constructed
12// ( all lcaos and abfs on same atom )
13
14namespace ABFs_Construct
15{
16namespace PCA
17{
18 extern std::vector<std::vector<std::pair<std::vector<double>,RI::Tensor<double>>>> cal_PCA(
19 const UnitCell& ucell,
20 const LCAO_Orbitals &orb,
21 const std::vector<std::vector<std::vector<Numerical_Orbital_Lm>>> &lcaos,
22 const std::vector<std::vector<std::vector<Numerical_Orbital_Lm>>> &abfs, // abfs must be orthonormal
23 const double kmesh_times );
24}
25}
26
27#endif // ABFS_CONSTRUCT_PCA_H
Definition ORB_read.h:19
Definition unitcell.h:16
std::vector< std::vector< std::pair< std::vector< double >, RI::Tensor< double > > > > cal_PCA(const UnitCell &ucell, const LCAO_Orbitals &orb, const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &lcaos, const std::vector< std::vector< std::vector< Numerical_Orbital_Lm > > > &abfs, const double kmesh_times)
Definition ABFs_Construct-PCA.cpp:74
Definition ABFs_Construct-PCA.cpp:15