sisi4s
Loading...
Searching...
No Matches
PseudoInverseSvd.hpp
Go to the documentation of this file.
1#ifndef PSEUDO_INVERSE_SVD_DEFINED
2#define PSEUDO_INVERSE_SVD_DEFINED
3
4#include <math/Complex.hpp>
5#include <util/Tensor.hpp>
6#include <DryTensor.hpp>
7
8#include <util/Tensor.hpp>
9#include <random>
10
11namespace sisi4s {
12template <typename F>
14public:
15 PseudoInverseSvd(Tensor<F> &A, double epsilon = 1e-12);
16 CTF::Matrix<F> &get();
17
18protected:
19 CTF::Matrix<F> inverse;
20};
21
22template <typename F>
24public:
25 DryPseudoInverseSvd(DryTensor<F> const &matrix);
27
28protected:
30};
31} // namespace sisi4s
32
33#endif
Definition DryTensor.hpp:96
Definition PseudoInverseSvd.hpp:23
DryMatrix< F > inverse
Definition PseudoInverseSvd.hpp:29
DryMatrix< F > & get()
Definition PseudoInverseSvd.cxx:83
Definition DryTensor.hpp:36
Definition PseudoInverseSvd.hpp:13
CTF::Matrix< F > & get()
Definition PseudoInverseSvd.cxx:62
CTF::Matrix< F > inverse
Definition PseudoInverseSvd.hpp:19
Definition Algorithm.hpp:10
CTF::Tensor< F > Tensor
Definition Tensor.hpp:9