aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/TutorialLinearAlgebra.dox
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2018-04-11 10:46:11 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2018-04-11 10:46:11 +0200
commite798466871ceef80a5bd78eba460735fca829a8c (patch)
tree2edc5b16c23c1356d8714bb414227f886c017c5d /doc/TutorialLinearAlgebra.dox
parentc91906b065ddfd80997204e3072bb66bc9297bcd (diff)
bug #1538: update manual pages regarding BDCSVD.
Diffstat (limited to 'doc/TutorialLinearAlgebra.dox')
-rw-r--r--doc/TutorialLinearAlgebra.dox28
1 files changed, 24 insertions, 4 deletions
diff --git a/doc/TutorialLinearAlgebra.dox b/doc/TutorialLinearAlgebra.dox
index cb92ceeae..a72724143 100644
--- a/doc/TutorialLinearAlgebra.dox
+++ b/doc/TutorialLinearAlgebra.dox
@@ -73,7 +73,7 @@ depending on your matrix and the trade-off you want to make:
<td>ColPivHouseholderQR</td>
<td>colPivHouseholderQr()</td>
<td>None</td>
- <td>++</td>
+ <td>+</td>
<td>-</td>
<td>+++</td>
</tr>
@@ -86,6 +86,14 @@ depending on your matrix and the trade-off you want to make:
<td>+++</td>
</tr>
<tr class="alt">
+ <td>CompleteOrthogonalDecomposition</td>
+ <td>completeOrthogonalDecomposition()</td>
+ <td>None</td>
+ <td>+</td>
+ <td>-</td>
+ <td>+++</td>
+ </tr>
+ <tr class="alt">
<td>LLT</td>
<td>llt()</td>
<td>Positive definite</td>
@@ -102,14 +110,23 @@ depending on your matrix and the trade-off you want to make:
<td>++</td>
</tr>
<tr class="alt">
+ <td>BDCSVD</td>
+ <td>bdcSvd()</td>
+ <td>None</td>
+ <td>-</td>
+ <td>-</td>
+ <td>+++</td>
+ </tr>
+ <tr class="alt">
<td>JacobiSVD</td>
<td>jacobiSvd()</td>
<td>None</td>
- <td>- -</td>
+ <td>-</td>
<td>- - -</td>
<td>+++</td>
</tr>
</table>
+To get an overview of the true relative speed of the different decompositions, check this \link DenseDecompositionBenchmark benchmark \endlink.
All of these decompositions offer a solve() method that works as in the above example.
@@ -183,8 +200,11 @@ Here is an example:
\section TutorialLinAlgLeastsquares Least squares solving
-The most accurate method to do least squares solving is with a SVD decomposition. Eigen provides one
-as the JacobiSVD class, and its solve() is doing least-squares solving.
+The most accurate method to do least squares solving is with a SVD decomposition.
+Eigen provides two implementations.
+The recommended one is the BDCSVD class, which scale well for large problems
+and automatically fall-back to the JacobiSVD class for smaller problems.
+For both classes, their solve() method is doing least-squares solving.
Here is an example:
<table class="example">