![]() |
Eigen
5.0.1
|
#include <Eigen/src/QR/CompleteOrthogonalDecomposition.h>
Complete orthogonal decomposition (COD) of a matrix.
| 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.
Public Member Functions | |
| template<typename InputType> | |
| CompleteOrthogonalDecomposition & | compute (const EigenBase< InputType > &matrix) |
| Computes the COD of matrix. | |
| Inverse< CompleteOrthogonalDecomposition > | pseudoInverse () const |
|
inline |
Computes the COD of matrix.
|
inline |
this->pseudoInverse()*rhs to solve a linear system. It is more efficient and numerically stable to call this->solve(rhs).