From 1b8277fc2a2675253b8bd49b468cda84a3bf099d Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 30 Jun 2010 10:37:23 +0200 Subject: update the big linear algebra table (fixes, add notes and definitions) --- doc/TopicLinearAlgebraDecompositions.dox | 44 +++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 9 deletions(-) (limited to 'doc/TopicLinearAlgebraDecompositions.dox') diff --git a/doc/TopicLinearAlgebraDecompositions.dox b/doc/TopicLinearAlgebraDecompositions.dox index adaa6cf35..0a8d89b2e 100644 --- a/doc/TopicLinearAlgebraDecompositions.dox +++ b/doc/TopicLinearAlgebraDecompositions.dox @@ -99,7 +99,7 @@ namespace Eigen { LDLT - Positive or negative semidefinite + Positive or negative semidefinite1 Very fast Good - @@ -109,6 +109,8 @@ namespace Eigen { Soon: blocking + \n Singular values and eigenvalues decompositions + SVD - @@ -136,7 +138,7 @@ namespace Eigen { SelfAdjointEigenSolver Self-adjoint - Fast, depends on condition number + Fast-average2 Good Yes Eigenvalues/vectors @@ -148,7 +150,7 @@ namespace Eigen { ComplexEigenSolver Square - Slow, depends on condition number + Slow-very slow2 Depends on condition number Yes Eigenvalues/vectors @@ -160,7 +162,7 @@ namespace Eigen { EigenSolver Square and real - Average, depends on condition number + Average-slow2 Depends on condition number Yes Eigenvalues/vectors @@ -172,7 +174,7 @@ namespace Eigen { GeneralizedSelfAdjointEigenSolver Square - Fast, depends on condition number + Fast-average2 Depends on condition number - Generalized eigenvalues/vectors @@ -181,10 +183,12 @@ namespace Eigen { - + \n Helper decompositions + RealSchur Square and real - Average, depends on condition number + Average-slow2 Depends on condition number Yes - @@ -196,7 +200,7 @@ namespace Eigen { ComplexSchur Square and real - Slow, depends on condition number + Slow-very slow2 Depends on condition number Yes - @@ -231,7 +235,7 @@ namespace Eigen { HessenbergDecomposition - - + Square Average Good - @@ -243,10 +247,32 @@ namespace Eigen { +\b Notes: + + \section TopicLinAlgTerminology Terminology -TODO explain selfadjoint, positive definite/semidefinite, blocking, unrollers, .... +
+
Selfadjoint
+
For a real matrix, selfadjoint is a synonym for symmetric. For a complex matrix, selfadjoint is a synonym for \em hermitian. + More generally, a matrix \f$ A \f$ is selfadjoint if and only if it is equal to its adjoint \f$ A^* \f$. The adjoint is also called the \em conjugate \em transpose.
+
Positive/negative definite
+
A selfadjoint matrix \f$ A \f$ is positive definite if \f$ v^* A v > 0 \f$ for any non zero vector \f$ v \f$. + In the same vein, it is negative definite if \f$ v^* A v < 0 \f$ for any non zero vector \f$ v \f$
+
Positive/negative semidefinite
+
A selfadjoint matrix \f$ A \f$ is positive semi-definite if \f$ v^* A v \ge 0 \f$ for any non zero vector \f$ v \f$. + In the same vein, it is negative semi-definite if \f$ v^* A v \le 0 \f$ for any non zero vector \f$ v \f$
+
Blocking
+
Means the algorithm can work per block, whence guarantying a good scaling of the performance for large matrices.
+
Meta-unroller
+
Means the algorithm is automatically and explicitly unrolled for very small fixed size matrices.
+
+
+
*/ -- cgit v1.2.3