Various documentation improvements.

* Add short documentation for Array class
* Put all classes explicitly in Core module (where applicable)
* Section on Modules in Quick Reference Guide
* Put Page 7 after Page 6 in Contents :)
This commit is contained in:
Jitse Niesen 2010-07-06 13:10:08 +01:00
parent 3428d80d20
commit 49747fa4a9
45 changed files with 80 additions and 15 deletions

View File

@ -25,6 +25,20 @@
#ifndef EIGEN_ARRAY_H #ifndef EIGEN_ARRAY_H
#define EIGEN_ARRAY_H #define EIGEN_ARRAY_H
/** \class Array
* \ingroup Core_Module
*
* \brief General-purpose arrays with easy API for coefficient-wise operations
*
* The %Array class is very similar to the Matrix class. It provides
* general-purpose one- and two-dimensional arrays. The difference between the
* %Array and the %Matrix class is primarily in the API: the API for the
* %Array class provides easy access to coefficient-wise operations, while the
* API for the %Matrix class provides easy access to linear-algebra
* operations.
*
* \sa \ref TutorialArrayClass
*/
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols> template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
struct ei_traits<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > : ei_traits<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > struct ei_traits<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > : ei_traits<Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >
{ {
@ -231,6 +245,7 @@ class Array
}; };
/** \defgroup arraytypedefs Global array typedefs /** \defgroup arraytypedefs Global array typedefs
* \ingroup Core_Module
* *
* Eigen defines several typedef shortcuts for most common 1D and 2D array types. * Eigen defines several typedef shortcuts for most common 1D and 2D array types.
* *

View File

@ -28,6 +28,7 @@
template<typename ExpressionType> class MatrixWrapper; template<typename ExpressionType> class MatrixWrapper;
/** \class ArrayBase /** \class ArrayBase
* \ingroup Core_Module
* *
* \brief Base class for all 1D and 2D array, and related expressions * \brief Base class for all 1D and 2D array, and related expressions
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_ARRAYWRAPPER_H #define EIGEN_ARRAYWRAPPER_H
/** \class ArrayWrapper /** \class ArrayWrapper
* \ingroup Core_Module
* *
* \brief Expression of a mathematical vector or matrix as an array object * \brief Expression of a mathematical vector or matrix as an array object
* *
@ -110,6 +111,7 @@ class ArrayWrapper : public ArrayBase<ArrayWrapper<ExpressionType> >
}; };
/** \class MatrixWrapper /** \class MatrixWrapper
* \ingroup Core_Module
* *
* \brief Expression of an array as a mathematical vector or matrix * \brief Expression of an array as a mathematical vector or matrix
* *

View File

@ -27,6 +27,7 @@
/** /**
* \class BandMatrix * \class BandMatrix
* \ingroup Core_Module
* *
* \brief Represents a rectangular matrix with a banded storage * \brief Represents a rectangular matrix with a banded storage
* *
@ -205,6 +206,7 @@ class BandMatrix : public EigenBase<BandMatrix<_Scalar,Rows,Cols,Supers,Subs,Opt
/** /**
* \class TridiagonalMatrix * \class TridiagonalMatrix
* \ingroup Core_Module
* *
* \brief Represents a tridiagonal matrix * \brief Represents a tridiagonal matrix
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_BLOCK_H #define EIGEN_BLOCK_H
/** \class Block /** \class Block
* \ingroup Core_Module
* *
* \brief Expression of a fixed-size or dynamic-size block * \brief Expression of a fixed-size or dynamic-size block
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_COMMAINITIALIZER_H #define EIGEN_COMMAINITIALIZER_H
/** \class CommaInitializer /** \class CommaInitializer
* \ingroup Core_Module
* *
* \brief Helper class used by the comma initializer operator * \brief Helper class used by the comma initializer operator
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_CWISE_BINARY_OP_H #define EIGEN_CWISE_BINARY_OP_H
/** \class CwiseBinaryOp /** \class CwiseBinaryOp
* \ingroup Core_Module
* *
* \brief Generic expression where a coefficient-wise binary operator is applied to two expressions * \brief Generic expression where a coefficient-wise binary operator is applied to two expressions
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_CWISE_NULLARY_OP_H #define EIGEN_CWISE_NULLARY_OP_H
/** \class CwiseNullaryOp /** \class CwiseNullaryOp
* \ingroup Core_Module
* *
* \brief Generic expression of a matrix where all coefficients are defined by a functor * \brief Generic expression of a matrix where all coefficients are defined by a functor
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_CWISE_UNARY_OP_H #define EIGEN_CWISE_UNARY_OP_H
/** \class CwiseUnaryOp /** \class CwiseUnaryOp
* \ingroup Core_Module
* *
* \brief Generic expression where a coefficient-wise unary operator is applied to an expression * \brief Generic expression where a coefficient-wise unary operator is applied to an expression
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_CWISE_UNARY_VIEW_H #define EIGEN_CWISE_UNARY_VIEW_H
/** \class CwiseUnaryView /** \class CwiseUnaryView
* \ingroup Core_Module
* *
* \brief Generic lvalue expression of a coefficient-wise unary operator of a matrix or a vector * \brief Generic lvalue expression of a coefficient-wise unary operator of a matrix or a vector
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_DENSEBASE_H #define EIGEN_DENSEBASE_H
/** \class DenseBase /** \class DenseBase
* \ingroup Core_Module
* *
* \brief Base class for all dense matrices, vectors, and arrays * \brief Base class for all dense matrices, vectors, and arrays
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_DIAGONAL_H #define EIGEN_DIAGONAL_H
/** \class Diagonal /** \class Diagonal
* \ingroup Core_Module
* *
* \brief Expression of a diagonal/subdiagonal/superdiagonal in a matrix * \brief Expression of a diagonal/subdiagonal/superdiagonal in a matrix
* *

View File

@ -87,6 +87,7 @@ void DiagonalBase<Derived>::evalTo(MatrixBase<DenseDerived> &other) const
#endif #endif
/** \class DiagonalMatrix /** \class DiagonalMatrix
* \ingroup Core_Module
* *
* \brief Represents a diagonal matrix with its storage * \brief Represents a diagonal matrix with its storage
* *
@ -188,6 +189,7 @@ class DiagonalMatrix
}; };
/** \class DiagonalWrapper /** \class DiagonalWrapper
* \ingroup Core_Module
* *
* \brief Expression of a diagonal matrix * \brief Expression of a diagonal matrix
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_FLAGGED_H #define EIGEN_FLAGGED_H
/** \class Flagged /** \class Flagged
* \ingroup Core_Module
* *
* \brief Expression with modified flags * \brief Expression with modified flags
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_FORCEALIGNEDACCESS_H #define EIGEN_FORCEALIGNEDACCESS_H
/** \class ForceAlignedAccess /** \class ForceAlignedAccess
* \ingroup Core_Module
* *
* \brief Enforce aligned packet loads and stores regardless of what is requested * \brief Enforce aligned packet loads and stores regardless of what is requested
* *

View File

@ -31,6 +31,7 @@ enum { StreamPrecision = -1,
FullPrecision = -2 }; FullPrecision = -2 };
/** \class IOFormat /** \class IOFormat
* \ingroup Core_Module
* *
* \brief Stores a set of parameters controlling the way matrices are printed * \brief Stores a set of parameters controlling the way matrices are printed
* *
@ -80,6 +81,7 @@ struct IOFormat
}; };
/** \class WithFormat /** \class WithFormat
* \ingroup Core_Module
* *
* \brief Pseudo expression providing matrix output with given format * \brief Pseudo expression providing matrix output with given format
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_MAP_H #define EIGEN_MAP_H
/** \class Map /** \class Map
* \ingroup Core_Module
* *
* \brief A matrix or vector expression mapping an existing array of data. * \brief A matrix or vector expression mapping an existing array of data.
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_MAPBASE_H #define EIGEN_MAPBASE_H
/** \class MapBase /** \class MapBase
* \ingroup Core_Module
* *
* \brief Base class for Map and Block expression with direct access * \brief Base class for Map and Block expression with direct access
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_MATRIX_H #define EIGEN_MATRIX_H
/** \class Matrix /** \class Matrix
* \ingroup Core_Module
* *
* \brief The matrix class, also used for vectors and row-vectors * \brief The matrix class, also used for vectors and row-vectors
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_MATRIXBASE_H #define EIGEN_MATRIXBASE_H
/** \class MatrixBase /** \class MatrixBase
* \ingroup Core_Module
* *
* \brief Base class for all dense matrices, vectors, and expressions * \brief Base class for all dense matrices, vectors, and expressions
* *

View File

@ -79,6 +79,7 @@ struct ei_matrix_array<T, 0, MatrixOptions, Alignment>
/** \internal /** \internal
* *
* \class ei_matrix_storage * \class ei_matrix_storage
* \ingroup Core_Module
* *
* \brief Stores the data of a matrix * \brief Stores the data of a matrix
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_NESTBYVALUE_H #define EIGEN_NESTBYVALUE_H
/** \class NestByValue /** \class NestByValue
* \ingroup Core_Module
* *
* \brief Expression which must be nested by value * \brief Expression which must be nested by value
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_NOALIAS_H #define EIGEN_NOALIAS_H
/** \class NoAlias /** \class NoAlias
* \ingroup Core_Module
* *
* \brief Pseudo expression providing an operator = assuming no aliasing * \brief Pseudo expression providing an operator = assuming no aliasing
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_NUMTRAITS_H #define EIGEN_NUMTRAITS_H
/** \class NumTraits /** \class NumTraits
* \ingroup Core_Module
* *
* \brief Holds information about the various numeric (i.e. scalar) types allowed by Eigen. * \brief Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_PERMUTATIONMATRIX_H #define EIGEN_PERMUTATIONMATRIX_H
/** \class PermutationMatrix /** \class PermutationMatrix
* \ingroup Core_Module
* *
* \brief Permutation matrix * \brief Permutation matrix
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_PRODUCT_H #define EIGEN_PRODUCT_H
/** \class GeneralProduct /** \class GeneralProduct
* \ingroup Core_Module
* *
* \brief Expression of the product of two general matrices or vectors * \brief Expression of the product of two general matrices or vectors
* *
@ -120,6 +121,7 @@ template<> struct ei_product_type_selector<Small,Large,Small> { en
template<> struct ei_product_type_selector<Large,Large,Small> { enum { ret = GemmProduct }; }; template<> struct ei_product_type_selector<Large,Large,Small> { enum { ret = GemmProduct }; };
/** \class ProductReturnType /** \class ProductReturnType
* \ingroup Core_Module
* *
* \brief Helper class to get the correct and optimized returned type of operator* * \brief Helper class to get the correct and optimized returned type of operator*
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_PRODUCTBASE_H #define EIGEN_PRODUCTBASE_H
/** \class ProductBase /** \class ProductBase
* \ingroup Core_Module
* *
*/ */
template<typename Derived, typename _Lhs, typename _Rhs> template<typename Derived, typename _Lhs, typename _Rhs>

View File

@ -27,6 +27,7 @@
/** /**
* \class Replicate * \class Replicate
* \ingroup Core_Module
* *
* \brief Expression of the multiple replication of a matrix or vector * \brief Expression of the multiple replication of a matrix or vector
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_RETURNBYVALUE_H #define EIGEN_RETURNBYVALUE_H
/** \class ReturnByValue /** \class ReturnByValue
* \ingroup Core_Module
* *
*/ */
template<typename Derived> template<typename Derived>

View File

@ -28,6 +28,7 @@
#define EIGEN_REVERSE_H #define EIGEN_REVERSE_H
/** \class Reverse /** \class Reverse
* \ingroup Core_Module
* *
* \brief Expression of the reverse of a vector or matrix * \brief Expression of the reverse of a vector or matrix
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_SELECT_H #define EIGEN_SELECT_H
/** \class Select /** \class Select
* \ingroup Core_Module
* *
* \brief Expression of a coefficient wise version of the C++ ternary operator ?: * \brief Expression of a coefficient wise version of the C++ ternary operator ?:
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_SELFADJOINTMATRIX_H #define EIGEN_SELFADJOINTMATRIX_H
/** \class SelfAdjointView /** \class SelfAdjointView
* \ingroup Core_Module
* *
* *
* \brief Expression of a selfadjoint matrix from a triangular part of a dense matrix * \brief Expression of a selfadjoint matrix from a triangular part of a dense matrix

View File

@ -26,6 +26,7 @@
#define EIGEN_SELFCWISEBINARYOP_H #define EIGEN_SELFCWISEBINARYOP_H
/** \class SelfCwiseBinaryOp /** \class SelfCwiseBinaryOp
* \ingroup Core_Module
* *
* \internal * \internal
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_STRIDE_H #define EIGEN_STRIDE_H
/** \class Stride /** \class Stride
* \ingroup Core_Module
* *
* \brief Holds strides information for Map * \brief Holds strides information for Map
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_SWAP_H #define EIGEN_SWAP_H
/** \class SwapWrapper /** \class SwapWrapper
* \ingroup Core_Module
* *
* \internal * \internal
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_TRANSPOSE_H #define EIGEN_TRANSPOSE_H
/** \class Transpose /** \class Transpose
* \ingroup Core_Module
* *
* \brief Expression of the transpose of a matrix * \brief Expression of the transpose of a matrix
* *

View File

@ -26,6 +26,7 @@
#define EIGEN_TRANSPOSITIONS_H #define EIGEN_TRANSPOSITIONS_H
/** \class Transpositions /** \class Transpositions
* \ingroup Core_Module
* *
* \brief Represents a sequence of transpositions (row/column interchange) * \brief Represents a sequence of transpositions (row/column interchange)
* *

View File

@ -29,6 +29,7 @@
/** \internal /** \internal
* *
* \class TriangularBase * \class TriangularBase
* \ingroup Core_Module
* *
* \brief Base class for triangular part in a matrix * \brief Base class for triangular part in a matrix
*/ */
@ -112,6 +113,7 @@ template<typename Derived> class TriangularBase : public EigenBase<Derived>
}; };
/** \class TriangularView /** \class TriangularView
* \ingroup Core_Module
* *
* \brief Base class for triangular part in a matrix * \brief Base class for triangular part in a matrix
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_VECTORBLOCK_H #define EIGEN_VECTORBLOCK_H
/** \class VectorBlock /** \class VectorBlock
* \ingroup Core_Module
* *
* \brief Expression of a fixed-size or dynamic-size sub-vector * \brief Expression of a fixed-size or dynamic-size sub-vector
* *

View File

@ -27,6 +27,7 @@
#define EIGEN_PARTIAL_REDUX_H #define EIGEN_PARTIAL_REDUX_H
/** \class PartialReduxExpr /** \class PartialReduxExpr
* \ingroup Core_Module
* *
* \brief Generic expression of a partially reduxed matrix * \brief Generic expression of a partially reduxed matrix
* *
@ -154,6 +155,7 @@ struct ei_member_redux {
}; };
/** \class VectorwiseOp /** \class VectorwiseOp
* \ingroup Core_Module
* *
* \brief Pseudo expression providing partial reduction operations * \brief Pseudo expression providing partial reduction operations
* *

View File

@ -38,7 +38,7 @@ const int Dynamic = -1;
*/ */
const int Infinity = -1; const int Infinity = -1;
/** \defgroup flags flags /** \defgroup flags Flags
* \ingroup Core_Module * \ingroup Core_Module
* *
* These are the possible bits which can be OR'ed to constitute the flags of a matrix or * These are the possible bits which can be OR'ed to constitute the flags of a matrix or

View File

@ -495,6 +495,7 @@ inline static Index ei_first_aligned(const Scalar* array, Index size)
/****************************************************************************/ /****************************************************************************/
/** \class aligned_allocator /** \class aligned_allocator
* \ingroup Core_Module
* *
* \brief STL compatible allocator to use with with 16 byte aligned types * \brief STL compatible allocator to use with with 16 byte aligned types
* *

View File

@ -23,8 +23,8 @@ For a first contact with Eigen, the best place is to have a look at the \ref Get
- \ref TutorialArrayClass - \ref TutorialArrayClass
- \ref TutorialBlockOperations - \ref TutorialBlockOperations
- \ref TutorialAdvancedInitialization - \ref TutorialAdvancedInitialization
- Coming soon: "Reductions, visitors, and broadcasting"
- \ref TutorialLinearAlgebra - \ref TutorialLinearAlgebra
- Coming soon: "Reductions, visitors, and broadcasting"
- \ref TutorialGeometry - \ref TutorialGeometry
- \ref TutorialSparse - \ref TutorialSparse
- \ref QuickRefPage - \ref QuickRefPage

View File

@ -18,18 +18,21 @@ namespace Eigen {
<a href="#" class="top">top</a> <a href="#" class="top">top</a>
\section QuickRef_Headers Modules and Header files \section QuickRef_Headers Modules and Header files
The Eigen library is divided in a Core module and several additional modules. Each module has a corresponding header file which has to be included in order to use the module. The \c %Dense and \c Eigen header files are provided to conveniently gain access to several modules at once.
<table class="tutorial_code"> <table class="tutorial_code">
<tr><td>Module</td><td>Header file</td><td>Contents</td></tr> <tr><td>Module</td><td>Header file</td><td>Contents</td></tr>
<tr><td>Core</td><td>\code#include <Eigen/Core>\endcode</td><td>Matrix and Array classes, basic linear algebra (including triangular and selfadjoint products), array manipulation</td></tr> <tr><td>\link Core_Module Core \endlink</td><td>\code#include <Eigen/Core>\endcode</td><td>Matrix and Array classes, basic linear algebra (including triangular and selfadjoint products), array manipulation</td></tr>
<tr><td>Geometry</td><td>\code#include <Eigen/Geometry>\endcode</td><td>Transformation, Translation, Scaling, 2D and 3D rotations (Quaternion, AngleAxis)</td></tr> <tr><td>\link Geometry_Module Geometry \endlink</td><td>\code#include <Eigen/Geometry>\endcode</td><td>Transform, Translation, Scaling, Rotation2D and 3D rotations (Quaternion, AngleAxis)</td></tr>
<tr><td>LU</td><td>\code#include <Eigen/LU>\endcode</td><td>Inverse, determinant, LU decompositions (FullPivLU, PartialPivLU) with solver</td></tr> <tr><td>\link LU_Module LU \endlink</td><td>\code#include <Eigen/LU>\endcode</td><td>Inverse, determinant, LU decompositions with solver (FullPivLU, PartialPivLU)</td></tr>
<tr><td>Cholesky</td><td>\code#include <Eigen/Cholesky>\endcode</td><td>LLT and LDLT Cholesky factorization with solver</td></tr> <tr><td>\link Cholesky_Module Cholesky \endlink</td><td>\code#include <Eigen/Cholesky>\endcode</td><td>LLT and LDLT Cholesky factorization with solver</td></tr>
<tr><td>SVD</td><td>\code#include <Eigen/SVD>\endcode</td><td>SVD decomposition with solver (HouseholderSVD, JacobiSVD)</td></tr> <tr><td>\link Householder_Module Householder \endlink</td><td>\code#include <Eigen/Householder>\endcode</td><td>Householder transformations; this module is used by several linear algebra modules</td></tr>
<tr><td>QR</td><td>\code#include <Eigen/QR>\endcode</td><td>QR decomposition with solver (HouseholderQR, ColPivHouseholerQR, FullPivHouseholderQR)</td></tr> <tr><td>\link SVD_Module SVD \endlink</td><td>\code#include <Eigen/SVD>\endcode</td><td>%SVD decomposition with solver (SVD, JacobiSVD)</td></tr>
<tr><td>Eigenvalues</td><td>\code#include <Eigen/Eigenvalues>\endcode</td><td>Eigenvalue, eigenvector decompositions for selfadjoint and non selfadjoint real or complex matrices.</td></tr> <tr><td>\link QR_Module QR \endlink</td><td>\code#include <Eigen/QR>\endcode</td><td>QR decomposition with solver (HouseholderQR, ColPivHouseholderQR, FullPivHouseholderQR)</td></tr>
<tr><td>Sparse</td><td>\code#include <Eigen/Sparse>\endcode</td><td>Sparse matrix storage and related basic linear algebra.</td></tr> <tr><td>\link Eigenvalues_Module Eigenvalues \endlink</td><td>\code#include <Eigen/Eigenvalues>\endcode</td><td>Eigenvalue, eigenvector decompositions (EigenSolver, SelfAdjointEigenSolver, ComplexEigenSolver)</td></tr>
<tr><td></td><td>\code#include <Eigen/Dense>\endcode</td><td>Includes Core, Geometry, LU, Cholesky, SVD, QR, and Eigenvalues</td></tr> <tr><td>\link Sparse_Module Sparse \endlink</td><td>\code#include <Eigen/Sparse>\endcode</td><td>%Sparse matrix storage and related basic linear algebra (SparseMatrix, DynamicSparseMatrix, SparseVector)</td></tr>
<tr><td></td><td>\code#include <Eigen/Eigen>\endcode</td><td>Includes Dense and Sparse</td></tr> <tr><td></td><td>\code#include <Eigen/Dense>\endcode</td><td>Includes Core, Geometry, LU, Cholesky, %SVD, QR, and Eigenvalues header files</td></tr>
<tr><td></td><td>\code#include <Eigen/Eigen>\endcode</td><td>Includes %Dense and %Sparse header files (the whole Eigen library)</td></tr>
</table> </table>
<a href="#" class="top">top</a> <a href="#" class="top">top</a>
@ -486,7 +489,7 @@ Read-write access to sub-vectors:
<tr><td>\code vec1.head(n)\endcode</td><td>\code vec1.head<n>()\endcode</td><td>the first \c n coeffs </td></tr> <tr><td>\code vec1.head(n)\endcode</td><td>\code vec1.head<n>()\endcode</td><td>the first \c n coeffs </td></tr>
<tr><td>\code vec1.tail(n)\endcode</td><td>\code vec1.tail<n>()\endcode</td><td>the last \c n coeffs </td></tr> <tr><td>\code vec1.tail(n)\endcode</td><td>\code vec1.tail<n>()\endcode</td><td>the last \c n coeffs </td></tr>
<tr><td>\code vec1.segment(pos,n)\endcode</td><td>\code vec1.segment<n>(pos)\endcode</td> <tr><td>\code vec1.segment(pos,n)\endcode</td><td>\code vec1.segment<n>(pos)\endcode</td>
<td>the \c size coeffs in \n the range [\c pos : \c pos + \c n [</td></tr> <td>the \c n coeffs in \n the range [\c pos : \c pos + \c n [</td></tr>
<tr style="border-style: dashed none dashed none;"><td> <tr style="border-style: dashed none dashed none;"><td>
Read-write access to sub-matrices:</td><td></td><td></td></tr> Read-write access to sub-matrices:</td><td></td><td></td></tr>

View File

@ -30,7 +30,7 @@
namespace Eigen { namespace Eigen {
/** \ingroup Unsupported_modules /** \ingroup Unsupported_modules
* \defgroup NumericalDiff_Module Numerical differenciation module * \defgroup NumericalDiff_Module Numerical differentiation module
* *
* \code * \code
* #include <unsupported/Eigen/NumericalDiff> * #include <unsupported/Eigen/NumericalDiff>
@ -51,7 +51,7 @@ namespace Eigen {
* want to achieve with Eigen. * want to achieve with Eigen.
* *
* This is why we will not provide wrappers for every great numerical * This is why we will not provide wrappers for every great numerical
* differenciation software that exist, but should rather stick with those * differentiation software that exist, but should rather stick with those
* basic ones, that still are useful for testing. * basic ones, that still are useful for testing.
* *
* Also, the \ref NonLinearOptimization_Module needs this in order to * Also, the \ref NonLinearOptimization_Module needs this in order to