diff options
Diffstat (limited to 'doc/TopicLinearAlgebraDecompositions.dox')
-rw-r--r-- | doc/TopicLinearAlgebraDecompositions.dox | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/doc/TopicLinearAlgebraDecompositions.dox b/doc/TopicLinearAlgebraDecompositions.dox index ad8d0abea..203a05dd8 100644 --- a/doc/TopicLinearAlgebraDecompositions.dox +++ b/doc/TopicLinearAlgebraDecompositions.dox @@ -112,27 +112,15 @@ namespace Eigen { <tr><td colspan="9">\n Singular values and eigenvalues decompositions</td></tr> <tr> - <td>SVD</td> - <td>-</td> - <td>Average</td> - <td>Good</td> - <td>Yes</td> - <td>Singular values/vectors, least squares</td> - <td>Yes</td> - <td>Average</td> - <td>-</td> - </tr> - - <tr> - <td>JacobiSVD</td> + <td>JacobiSVD (two-sided)</td> <td>-</td> <td>Slow (but fast for small matrices)</td> - <td>Proven</td> + <td>Excellent-Proven<sup><a href="#note3">3</a></sup></td> <td>Yes</td> <td>Singular values/vectors, least squares</td> - <td>-</td> + <td>Yes (and does least squares)</td> <td>Excellent</td> - <td>-</td> + <td>R-SVD</td> </tr> <tr> @@ -251,6 +239,7 @@ namespace Eigen { <ul> <li><a name="note1">\b 1: </a>There exist two variants of the LDLT algorithm. Eigen's one produces a pure diagonal D matrix, and therefore it cannot handle indefinite matrices, unlike Lapack's one which produces a block diagonal D matrix.</li> <li><a name="note2">\b 2: </a>Eigenvalues, SVD and Schur decompositions rely on iterative algorithms. Their convergence speed depends on how well the eigenvalues are separated.</li> +<li><a name="note3">\b 3: </a>Our JacobiSVD is two-sided, making for proven and optimal precision for square matrices. For non-square matrices, we have to use a QR preconditioner first. The default choice, ColPivHouseholderQR, is already very reliable, but if you want it to be proven, use FullPivHouseholderQR instead. </ul> \section TopicLinAlgTerminology Terminology |