xerus
a general purpose tensor library
|
Helper class to allow an intuitive syntax for SVD factorisations. More...
#include <indexedTensor_tensor_factorisations.h>
Public Member Functions | |
SVD (internal::IndexedTensorReadOnly< Tensor > &&_input) | |
SVD (internal::IndexedTensorReadOnly< Tensor > &&_input, const double _softTreshold, const bool _preventZero=false) | |
SVD (internal::IndexedTensorReadOnly< Tensor > &&_input, const size_t _maxRank, const double _epsilon=EPSILON) | |
SVD (internal::IndexedTensorReadOnly< Tensor > &&_input, const size_t _maxRank, const double _epsilon, const double _softTreshold, const bool _preventZero) | |
virtual void | operator() (const std::vector< internal::IndexedTensor< Tensor > *> &_output) const override |
Public Member Functions inherited from xerus::TensorFactorisation | |
virtual | ~TensorFactorisation ()=default |
Public Attributes | |
const double | epsilon |
internal::IndexedTensorReadOnly< Tensor > * | input |
const size_t | maxRank |
const bool | preventZero |
const double | softThreshold |
Helper class to allow an intuitive syntax for SVD factorisations.
The simplest example is (U(i,r1), S(r1,r2), Vt(r2,j)) = SVD(A(i,j)) to calculate the SVD of A. However A, U, S and Vt can also be a higher order Tensors. In order to calculate the SVD however a matrification imposed by the index order is used.
Definition at line 55 of file indexedTensor_tensor_factorisations.h.
|
inline |
Definition at line 63 of file indexedTensor_tensor_factorisations.h.
|
inline |
Definition at line 66 of file indexedTensor_tensor_factorisations.h.
|
inline |
Definition at line 69 of file indexedTensor_tensor_factorisations.h.
|
inline |
Definition at line 72 of file indexedTensor_tensor_factorisations.h.
|
overridevirtual |
Implements xerus::TensorFactorisation.
Definition at line 142 of file indexedTensor_tensor_factorisations.cpp.
const double xerus::SVD::epsilon |
Definition at line 58 of file indexedTensor_tensor_factorisations.h.
internal::IndexedTensorReadOnly<Tensor>* xerus::SVD::input |
Definition at line 57 of file indexedTensor_tensor_factorisations.h.
const size_t xerus::SVD::maxRank |
Definition at line 60 of file indexedTensor_tensor_factorisations.h.
const bool xerus::SVD::preventZero |
Definition at line 61 of file indexedTensor_tensor_factorisations.h.
const double xerus::SVD::softThreshold |
Definition at line 59 of file indexedTensor_tensor_factorisations.h.