|
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 \)