rank-local.h
Go to the documentation of this file.
1 #ifndef TILEDARRAY_MATH_LINALG_RANK_LOCAL_H__INCLUDED
2 #define TILEDARRAY_MATH_LINALG_RANK_LOCAL_H__INCLUDED
3 
4 #include <TiledArray/config.h>
5 
8 
9 #include <vector>
10 
12 
14 
15 template <typename T, int Options = ::Eigen::ColMajor>
16 using Matrix = ::Eigen::Matrix<T, ::Eigen::Dynamic, ::Eigen::Dynamic, Options>;
17 
18 // template <typename T>
19 // using Vector = ::Eigen::Matrix<T, ::Eigen::Dynamic, 1, ::Eigen::ColMajor>;
20 
21 template <typename T>
22 void cholesky(Matrix<T> &A);
23 
24 template <typename T>
25 void cholesky_linv(Matrix<T> &A);
26 
27 template <typename T>
29 
30 template <typename T>
32 
33 template <typename T>
34 void heig(Matrix<T> &A, std::vector<T> &W);
35 
36 template <typename T>
37 void heig(Matrix<T> &A, Matrix<T> &B, std::vector<T> &W);
38 
39 template <typename T>
40 void svd(Job jobu, Job jobvt, Matrix<T> &A, std::vector<T> &S, Matrix<T> *U, Matrix<T> *VT);
41 
42 template <typename T>
43 void svd(Matrix<T> &A, std::vector<T> &S, Matrix<T> *U, Matrix<T> *VT) {
44  svd( U ? Job::SomeVec : Job::NoVec,
45  VT ? Job::SomeVec : Job::NoVec,
46  A, S, U, VT );
47 }
48 
49 template <typename T>
50 void lu_solve(Matrix<T> &A, Matrix<T> &B);
51 
52 template <typename T>
53 void lu_inv(Matrix<T> &A);
54 
55 } // namespace TiledArray::math::linalg::rank_local
56 
57 #endif // TILEDARRAY_MATH_LINALG_RANK_LOCAL_H__INCLUDED
void cholesky_solve(Matrix< T > &A, Matrix< T > &X)
Definition: rank-local.cpp:91
void cholesky_linv(Matrix< T > &A)
Definition: rank-local.cpp:81
void lu_solve(Matrix< T > &A, Matrix< T > &B)
Definition: rank-local.cpp:189
void svd(Job jobu, Job jobvt, Matrix< T > &A, std::vector< T > &S, Matrix< T > *U, Matrix< T > *VT)
Definition: rank-local.cpp:143
void transpose(InputOp &&input_op, OutputOp &&output_op, const std::size_t m, const std::size_t n, const std::size_t result_stride, Result *result, const std::size_t arg_stride, const Args *const ... args)
Matrix transpose and initialization.
Definition: transpose.h:178
::Eigen::Matrix< T, ::Eigen::Dynamic, ::Eigen::Dynamic, Options > Matrix
Definition: rank-local.h:16
void heig(Matrix< T > &A, std::vector< T > &W)
Definition: rank-local.cpp:116
void cholesky_lsolve(Op transpose, Matrix< T > &A, Matrix< T > &X)
Definition: rank-local.cpp:103