Eigen  5.0.1
 
Loading...
Searching...
No Matches
Eigen::CompleteOrthogonalDecomposition< MatrixType_, PermutationIndex_ > Class Template Reference

#include <Eigen/src/QR/CompleteOrthogonalDecomposition.h>

Detailed Description

template<typename MatrixType_, typename PermutationIndex_>
class Eigen::CompleteOrthogonalDecomposition< MatrixType_, PermutationIndex_ >

Complete orthogonal decomposition (COD) of a matrix.

Template Parameters
MatrixType_the type of the matrix of which we are computing the COD.

This class performs a rank-revealing complete orthogonal decomposition of a matrix A into matrices P, Q, T, and Z such that

\[ \mathbf{A} \, \mathbf{P} = \mathbf{Q} \, \begin{bmatrix} \mathbf{T} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} \end{bmatrix} \, \mathbf{Z} \]

by using Householder transformations. Here, P is a permutation matrix, Q and Z are unitary matrices and T an upper triangular matrix of size rank-by-rank. A may be rank deficient.

Internally backed by ColPivHouseholderQR. For large matrices, see RandCompleteOrthogonalDecomposition, which uses a randomized blocked column-pivoted QR and is faster on level-3-BLAS-friendly inputs.

This class supports the inplace decomposition mechanism.

See also
MatrixBase::completeOrthogonalDecomposition(), RandCompleteOrthogonalDecomposition

Public Member Functions

template<typename InputType>
CompleteOrthogonalDecomposition & compute (const EigenBase< InputType > &matrix)
 Computes the COD of matrix.
 
Inverse< CompleteOrthogonalDecomposition > pseudoInverse () const
 

Member Function Documentation

◆ compute()

template<typename MatrixType_, typename PermutationIndex_>
template<typename InputType>
CompleteOrthogonalDecomposition & Eigen::CompleteOrthogonalDecomposition< MatrixType_, PermutationIndex_ >::compute ( const EigenBase< InputType > & matrix)
inline

Computes the COD of matrix.

See also
class CompleteOrthogonalDecomposition

◆ pseudoInverse()

template<typename MatrixType_, typename PermutationIndex_>
Inverse< CompleteOrthogonalDecomposition > Eigen::CompleteOrthogonalDecomposition< MatrixType_, PermutationIndex_ >::pseudoInverse ( ) const
inline
Returns
the pseudo-inverse of the matrix of which *this is the complete orthogonal decomposition.
Warning
Do not compute this->pseudoInverse()*rhs to solve a linear system. It is more efficient and numerically stable to call this->solve(rhs).

The documentation for this class was generated from the following files: