25 #ifndef WLINEARALGEBRAFUNCTIONS_H
26 #define WLINEARALGEBRAFUNCTIONS_H
32 #include "linearAlgebra/WPosition.h"
34 template<
typename >
class WMatrix;
104 template<
typename T >
116 template<
typename T >
120 template<
typename T >
126 Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > eigenA = A;
127 Eigen::JacobiSVD< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > svd( eigenA, Eigen::ComputeFullU | Eigen::ComputeFullV );
133 template<
typename T >
140 computeSVD( input, U, V, Svec );
145 for(
size_t i = 0; i < Svec.size() && i < S.getNbRows() && i < S.getNbCols(); i++ )
147 S( i, i ) = ( Svec[ i ] == 0.0 ) ? 0.0 : 1.0 / Svec[ i ];
Matrix template class with variable number of rows and columns.
size_t getNbRows() const
Get number of rows.
size_t getNbCols() const
Get number of columns.
This only is a 3d double vector.
Base class for all higher level values like tensors, vectors, matrices and so on.
size_t size() const
Get number of components the value consists of.