SyTen
dense_svd.h File Reference

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

 syten
 Syten namespace.
 
 syten::SVD
 Singular Value Decomposition.
 

Detailed Description

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.