SVD of a single dense tensor. More...
#include <complex>#include "inc/util/types.h"#include "inc/dense/dense.h"#include "inc/util/toggle_enums.h"
Include dependency graph for dense_svd.h:
This graph shows which files directly or indirectly include this file:Classes | |
| struct | syten::SVD::DenseSVD< Scalar > |
| Dense singular value decomposition, nonfunctional template base. More... | |
| struct | syten::SVD::DenseSVD< double > |
| Dense singular value decomposition, specialisation for doubles. More... | |
| struct | syten::SVD::DenseSVD< float > |
| Dense singular value decomposition, specialisation for doubles. More... | |
| struct | syten::SVD::DenseSVD< std::complex< double > > |
| Dense singular value decomposition, specialisation for complex doubles. More... | |
| struct | syten::SVD::DenseSVD< std::complex< float > > |
| Dense singular value decomposition, specialisation for doubles. More... | |
| struct | syten::SVD::DenseSVDBase< Type > |
| Dense singular value decomposition, nonfunctional templated inheritance base. More... | |
Namespaces | |
| namespace | syten |
| Syten namespace. | |
| namespace | syten::SVD |
| Singular Value Decomposition. | |
SVD of a single dense tensor.
We have to specialise this for different scalar types, hence there is a DenseSVDBase<Scalar> which holds member objects, and a templated DenseSVD<Scalar> which inherits from the former. Specialisations of the latter then implement the correct constructor to do the SVD and populate the member objects.