ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
matrix_methods.h
Go to the documentation of this file.
1#ifndef MATRIX_METHODS
2#define MATRIX_METHODS
3
4#include <vector>
5#include <cassert>
7
8
9std::vector<double> ReshapeMToV(std::vector<ModuleBase::Vector3<double>>& matrix);
10std::vector<std::vector<double>> MAddM(std::vector<std::vector<double>>& a, std::vector<std::vector<double>>& b);
11std::vector<double> VSubV(std::vector<double>& a, std::vector<double>& b);
12std::vector<double> VAddV(std::vector<double>& a, std::vector<double>& b);
13std::vector<ModuleBase::Vector3<double>> ReshapeVToM(std::vector<double>& matrix);
14std::vector<double> DotInMAndV1(std::vector<std::vector<double>>& matrix, std::vector<double>& vec);
15std::vector<double> DotInMAndV2(std::vector<std::vector<double>>& matrix, std::vector<double>& vec);
16double DotInVAndV(std::vector<double>& vec1, std::vector<double>& vec2);
17std::vector<std::vector<double>> OuterVAndV(std::vector<double>& a, std::vector<double>& b);
18std::vector<std::vector<double>> MPlus(std::vector<std::vector<double>>& a, double b);
19std::vector<std::vector<double>> MSubM(std::vector<std::vector<double>>& a, std::vector<std::vector<double>>& b);
20std::vector<double> DotInVAndFloat(std::vector<double>& vec, double b);
21
22
23
24#endif
3 elements vector
Definition vector3.h:22
std::vector< double > DotInMAndV2(std::vector< std::vector< double > > &matrix, std::vector< double > &vec)
Definition matrix_methods.cpp:75
std::vector< double > ReshapeMToV(std::vector< ModuleBase::Vector3< double > > &matrix)
Definition matrix_methods.cpp:6
std::vector< double > VSubV(std::vector< double > &a, std::vector< double > &b)
Definition matrix_methods.cpp:37
std::vector< double > DotInVAndFloat(std::vector< double > &vec, double b)
Definition matrix_methods.cpp:145
std::vector< ModuleBase::Vector3< double > > ReshapeVToM(std::vector< double > &matrix)
Definition matrix_methods.cpp:48
std::vector< std::vector< double > > OuterVAndV(std::vector< double > &a, std::vector< double > &b)
Definition matrix_methods.cpp:101
std::vector< std::vector< double > > MPlus(std::vector< std::vector< double > > &a, double b)
Definition matrix_methods.cpp:115
std::vector< double > DotInMAndV1(std::vector< std::vector< double > > &matrix, std::vector< double > &vec)
Definition matrix_methods.cpp:61
std::vector< double > VAddV(std::vector< double > &a, std::vector< double > &b)
Definition matrix_methods.cpp:156
double DotInVAndV(std::vector< double > &vec1, std::vector< double > &vec2)
Definition matrix_methods.cpp:90
std::vector< std::vector< double > > MAddM(std::vector< std::vector< double > > &a, std::vector< std::vector< double > > &b)
Definition matrix_methods.cpp:21
std::vector< std::vector< double > > MSubM(std::vector< std::vector< double > > &a, std::vector< std::vector< double > > &b)
Definition matrix_methods.cpp:130