diff options
-rw-r--r-- | Eigen/src/Geometry/OrthoMethods.h | 6 | ||||
-rw-r--r-- | doc/QuickStartGuide.dox | 10 |
2 files changed, 10 insertions, 6 deletions
diff --git a/Eigen/src/Geometry/OrthoMethods.h b/Eigen/src/Geometry/OrthoMethods.h index 3c310badd..19ab65da4 100644 --- a/Eigen/src/Geometry/OrthoMethods.h +++ b/Eigen/src/Geometry/OrthoMethods.h @@ -27,7 +27,11 @@ #define EIGEN_ORTHOMETHODS_H /** \geometry_module - * \returns the cross product of \c *this and \a other */ + * + * \returns the cross product of \c *this and \a other + * + * Here is a very good explanation of cross-product: http://xkcd.com/199/ + */ template<typename Derived> template<typename OtherDerived> inline typename MatrixBase<Derived>::EvalType diff --git a/doc/QuickStartGuide.dox b/doc/QuickStartGuide.dox index 64166f43d..b4f173285 100644 --- a/doc/QuickStartGuide.dox +++ b/doc/QuickStartGuide.dox @@ -17,7 +17,7 @@ namespace Eigen { - \ref TutorialCoreMatrixInitialization - \ref TutorialCoreArithmeticOperators - \ref TutorialCoreReductions - - \ref TutorialCoreSubMatrix + - \ref TutorialCoreMatrixBlocks - \ref TutorialCoreDiagonalMatrices - \ref TutorialCoreTransposeAdjoint - \ref TutorialCoreDotNorm @@ -379,7 +379,7 @@ Also note that maxCoeff and minCoeff can takes optional arguments returning the -<a href="#" class="top">top</a>\section TutorialCoreSubMatrix Sub matrices +<a href="#" class="top">top</a>\section TutorialCoreMatrixBlocks Matrix blocks Read-write access to a \link MatrixBase::col(int) column \endlink or a \link MatrixBase::row(int) row \endlink of a matrix: @@ -472,7 +472,7 @@ mat3 = mat1.adjoint() * mat2; <tr><td> \link MatrixBase::norm() norm \endlink of a vector \n \link MatrixBase::norm2() squared norm \endlink of a vector -</td><td>\code vec.norm(); \n vec.norm2() \endcode +</td><td>\code vec.norm(); \endcode \n \code vec.norm2() \endcode </td></tr> <tr><td> returns a \link MatrixBase::normalized() normalized \endlink vector \n @@ -493,7 +493,7 @@ When you write a line of code involving a complex expression such as \code mat1 = mat2 + mat3 * (mat4 + mat5); \endcode -Eigen tries to determine automatically whether to evaluate each sub-expression into temporary variables. Indeed, in certain cases it is better to evaluate immediately a sub-expression into a temporary variable, while in other cases it is better to avoid that. +Eigen determines automatically, for each sub-expression, whether to evaluate it into a temporary variable. Indeed, in certain cases it is better to evaluate immediately a sub-expression into a temporary variable, while in other cases it is better to avoid that. A traditional math library without expression templates always evaluates all sub-expressions into temporaries. So with this code, @@ -543,7 +543,7 @@ Again, \link MatrixBase::lazy() .lazy() \endlink can be used to force lazy evalu \code matrix1 = matrix2 * (matrix3 + matrix4); \endcode -Here, each coefficienct of the expression <tt>matrix3 + matrix4</tt> is going to be used several times in the matrix product. Instead of computing the sum everytime, it is much better to compute it once and store it in a temporary variable. Eigen understands this and evaluates <tt>matrix3 + matrix4</tt> into a temporary variable before evaluating the product. +Here, provided the matrices have at least 2 rows and 2 columns, each coefficienct of the expression <tt>matrix3 + matrix4</tt> is going to be used several times in the matrix product. Instead of computing the sum everytime, it is much better to compute it once and store it in a temporary variable. Eigen understands this and evaluates <tt>matrix3 + matrix4</tt> into a temporary variable before evaluating the product. */ |