|  | 
| static void | svd (const Eigen::Matrix< double, -1, -1 > &M, Eigen::Matrix< double, -1, -1 > &U, Eigen::Matrix< double, -1, 1 > &sigma, Eigen::Matrix< double, -1, -1 > &V) | 
|  | Performs a singular value decomposition (SVD)  More... 
 | 
|  | 
| static Eigen::Matrix< double, -1, -1 > | pseudoInverse (const Eigen::Matrix< double, -1, -1 > &am, double precision=1e-6) | 
|  | Calculates the moore-penrose (pseudo) inverse of a matrix \( \mathbf{M}^+\).  More... 
 | 
|  | 
| static bool | checkPenroseConditions (const Eigen::Matrix< double, -1, -1 > &A, const Eigen::Matrix< double, -1, -1 > &X, double prec) | 
|  | Checks the penrose conditions.  More... 
 | 
|  | 
| template<class R > | 
| static double | det (const Eigen::MatrixBase< R > &m) | 
|  | Calculates matrix determinant.  More... 
 | 
|  | 
| template<class T > | 
| static T | inverse (const Eigen::MatrixBase< T > &M) | 
|  | Calculates matrix inverse.  More... 
 | 
|  | 
| template<class R > | 
| static bool | isSO (const Eigen::MatrixBase< R > &M) | 
|  | Checks if a given matrix is in SO(n) (special orthogonal)  More... 
 | 
|  | 
| template<class R > | 
| static bool | isSO (const Eigen::MatrixBase< R > &M, typename R::Scalar precision) | 
|  | Checks if a given matrix is in SO(n) (special orthogonal)  More... 
 | 
|  | 
| template<class R > | 
| static bool | isSkewSymmetric (const Eigen::MatrixBase< R > &M) | 
|  | Checks if a given matrix is skew-symmetrical.  More... 
 | 
|  | 
| template<class R > | 
| static bool | isProperOrthonormal (const Eigen::MatrixBase< R > &r, typename R::Scalar precision=std::numeric_limits< typename R::Scalar >::epsilon()) | 
|  | Checks if a given matrix is proper orthonormal.  More... 
 | 
|  | 
| template<class R > | 
| static bool | isOrthonormal (const Eigen::MatrixBase< R > &r, typename R::Scalar precision=std::numeric_limits< typename R::Scalar >::epsilon()) | 
|  | Checks if a given matrix is orthonormal.  More... 
 | 
|  | 
| template<class T > | 
| static std::pair< typename EigenMatrix< T >::type, typename EigenVector< T >::type > | eigenDecompositionSymmetric (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &Am1) | 
|  | Decomposition for a symmetric matrix.  More... 
 | 
|  | 
| template<class T > | 
| static std::pair< typename EigenMatrix< std::complex< T > >::type, typename EigenVector< std::complex< T > >::type > | eigenDecomposition (const typename Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &Am1) | 
|  | Eigen decomposition of a matrix.  More... 
 | 
|  | 
| template<> | 
| std::pair< typename LinearAlgebra::EigenMatrix< double >::type, typename LinearAlgebra::EigenVector< double >::type > | eigenDecompositionSymmetric (const Eigen::MatrixXd &Am1) | 
|  | 
| template<> | 
| std::pair< typename LinearAlgebra::EigenMatrix< std::complex< double > >::type, typename LinearAlgebra::EigenVector< std::complex< double > >::type > | eigenDecomposition (const Eigen::MatrixXd &Am1) | 
|  | 
Collection of Linear Algebra functions. 
  
  | 
        
          | static bool isOrthonormal | ( | const Eigen::MatrixBase< R > & | r, |  
          |  |  | typename R::Scalar | precision = std::numeric_limits<typename R::Scalar>::epsilon() |  
          |  | ) |  |  |  | inlinestatic | 
 
Checks if a given matrix is orthonormal. 
- Returns
- true if the matrix is orthonormal, false otherwise
A matrix is orthonormal if all of it's column's are mutually orthogonal and all of it's column's has unit length.
that is for any \( i, j \) the following holds \( col_i . col_j = 0 \) and \( ||col_i|| = 1 \)
Another nessesary and sufficient condition of orthonormal matrices is that \( \mathbf{M}\mathbf{M}^T=I \)