From ca4bd5851cd26df7d6cefaa44cb07587adb3d8de Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 19 Oct 2010 11:59:11 +0200 Subject: [PATCH] update style of the quick ref guide --- doc/QuickReference.dox | 72 +++++++++++++++++++++--------------------- doc/eigendoxy.css | 2 ++ 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/doc/QuickReference.dox b/doc/QuickReference.dox index a7d42767c..467899fb5 100644 --- a/doc/QuickReference.dox +++ b/doc/QuickReference.dox @@ -20,19 +20,19 @@ namespace Eigen { 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. - - +
ModuleHeader fileContents
+ - + - + - + - + - +
ModuleHeader fileContents
\link Core_Module Core \endlink\code#include \endcodeMatrix and Array classes, basic linear algebra (including triangular and selfadjoint products), array manipulation
\link Geometry_Module Geometry \endlink\code#include \endcodeTransform, Translation, Scaling, Rotation2D and 3D rotations (Quaternion, AngleAxis)
\link Geometry_Module Geometry \endlink\code#include \endcodeTransform, Translation, Scaling, Rotation2D and 3D rotations (Quaternion, AngleAxis)
\link LU_Module LU \endlink\code#include \endcodeInverse, determinant, LU decompositions with solver (FullPivLU, PartialPivLU)
\link Cholesky_Module Cholesky \endlink\code#include \endcodeLLT and LDLT Cholesky factorization with solver
\link Householder_Module Householder \endlink\code#include \endcodeHouseholder transformations; this module is used by several linear algebra modules
\link Householder_Module Householder \endlink\code#include \endcodeHouseholder transformations; this module is used by several linear algebra modules
\link SVD_Module SVD \endlink\code#include \endcodeSVD decomposition with least-squares solver (JacobiSVD)
\link QR_Module QR \endlink\code#include \endcodeQR decomposition with solver (HouseholderQR, ColPivHouseholderQR, FullPivHouseholderQR)
\link QR_Module QR \endlink\code#include \endcodeQR decomposition with solver (HouseholderQR, ColPivHouseholderQR, FullPivHouseholderQR)
\link Eigenvalues_Module Eigenvalues \endlink\code#include \endcodeEigenvalue, eigenvector decompositions (EigenSolver, SelfAdjointEigenSolver, ComplexEigenSolver)
\link Sparse_Module Sparse \endlink\code#include \endcode%Sparse matrix storage and related basic linear algebra (SparseMatrix, DynamicSparseMatrix, SparseVector)
\link Sparse_Module Sparse \endlink\code#include \endcode%Sparse matrix storage and related basic linear algebra (SparseMatrix, DynamicSparseMatrix, SparseVector)
\code#include \endcodeIncludes Core, Geometry, LU, Cholesky, SVD, QR, and Eigenvalues header files
\code#include \endcodeIncludes %Dense and %Sparse header files (the whole Eigen library)
\code#include \endcodeIncludes %Dense and %Sparse header files (the whole Eigen library)
top @@ -98,8 +98,8 @@ In the rest of this document we will use the following symbols to emphasize the \subsection QuickRef_Basics Basic matrix manipulation - - +
1D objects2D objectsNotes
+ - + - + - + - +
1D objects2D objectsNotes
Constructors \code Vector4d v4; @@ -119,7 +119,7 @@ MatrixXf m5; // empty object MatrixXf m6(nb_rows, nb_columns); \endcode By default, the coefficients \n are left uninitialized
Comma initializer
Comma initializer \code Vector3f v1; v1 << x, y, z; ArrayXf v2(4); v2 << 1, 2, 3, 4; @@ -140,7 +140,7 @@ output:
Runtime info
Runtime info \code vector.size(); @@ -158,7 +158,7 @@ ObjectType::Scalar ObjectType::RowsAtCompileTime ObjectType::RealScalar ObjectType::ColsAtCompileTime ObjectType::Index ObjectType::SizeAtCompileTime \endcode
Resizing
Resizing \code vector.resize(size); @@ -183,7 +183,7 @@ vector[i] vector.y() matrix(i,j) \endcodeRange checking is disabled if \n NDEBUG or #EIGEN_NO_DEBUG is defined
Coeff access without \n range checking
Coeff access without \n range checking \code vector.coeff(i) vector.coeffRef(i) @@ -202,11 +202,11 @@ object_of_float = expression_of_double.cast(); \subsection QuickRef_PredefMat Predefined Matrices - +
- - - + + +
Fixed-size matrix or vectorDynamic-size matrixDynamic-size vectorFixed-size matrix or vectorDynamic-size matrixDynamic-size vector
@@ -303,7 +303,7 @@ VectorXf::Unit(4,1) == Vector4f(0,1,0,0) \subsection QuickRef_Map Mapping external arrays - +
Contiguous \n memory \code @@ -330,13 +330,13 @@ Map > m1(data,2,3,OuterStride<>(3)); // are equal t top \section QuickRef_ArithmeticOperators Arithmetic Operators - +
- - - @@ -370,7 +370,7 @@ scalar = vec1.norm(); scalar = vec1.squaredNorm() vec2 = vec1.normalized(); vec1.normalize(); // inplace \endcode - @@ -379,8 +379,8 @@ vec3 = vec1.cross(vec2);\endcodetop \section QuickRef_Coeffwise Coefficient-wise \& Array operators Coefficient-wise operators for matrices and vectors: -
add \n subtract\code mat3 = mat1 + mat2; mat3 += mat1; mat3 = mat1 - mat2; mat3 -= mat1;\endcode
+
scalar product\code mat3 = mat1 * s1; mat3 *= s1; mat3 = s1 * mat1; mat3 = mat1 / s1; mat3 /= s1;\endcode @@ -347,7 +347,7 @@ col2 = mat1 * col1; row2 = row1 * mat1; row1 *= mat1; mat3 = mat1 * mat2; mat3 *= mat1; \endcode
+
transposition \n adjoint \matrixworld\code mat1 = mat2.transpose(); mat1.transposeInPlace(); mat1 = mat2.adjoint(); mat1.adjointInPlace(); @@ -359,7 +359,7 @@ scalar = vec1.dot(vec2); scalar = col1.adjoint() * col2; scalar = (col1.adjoint() * col2).value();\endcode
+
outer product \matrixworld\code mat = col1 * col2.transpose();\endcode
+
\link MatrixBase::cross() cross product \endlink \matrixworld\code #include vec3 = vec1.cross(vec2);\endcode
- +
Matrix API \matrixworldVia Array conversions
+
Matrix API \matrixworldVia Array conversions
\code mat1.cwiseMin(mat2) mat1.cwiseMax(mat2) @@ -402,7 +402,7 @@ mat1.array() / mat2.array() Array operators:\arrayworld - +
Arithmetic operators\code array1 * array2 array1 / array2 array1 *= array2 array1 /= array2 array1 + scalar array1 - scalar array1 += scalar array1 -= scalar @@ -443,14 +443,14 @@ Eigen provides several reduction methods such as: All reduction operations can be done matrix-wise, \link DenseBase::colwise() column-wise \endlink \redstar or \link DenseBase::rowwise() row-wise \endlink \redstar. Usage example: - -
\code + + - - +
\code 5 3 1 mat = 2 7 8 9 4 6 \endcode \code mat.minCoeff(); \endcode\code 1 \endcode
\code mat.colwise().minCoeff(); \endcode\code 2 3 1 \endcode
\code mat.rowwise().minCoeff(); \endcode\code +
\code mat.colwise().minCoeff(); \endcode\code 2 3 1 \endcode
\code mat.rowwise().minCoeff(); \endcode\code 1 2 4 @@ -486,19 +486,19 @@ mat1.col(j1).swap(mat1.col(j2)); Read-write access to sub-vectors: - +
- - - + + + - +Read-write access to sub-matrices: diff --git a/doc/eigendoxy.css b/doc/eigendoxy.css index 516ee7800..372cda685 100644 --- a/doc/eigendoxy.css +++ b/doc/eigendoxy.css @@ -754,6 +754,8 @@ table.manual th { table.manual td { padding: 0.3em 0.5em 0.3em 0.5em; vertical-align:top; + border-width: 1px; + border-color: #cccccc; } table.manual td.alt, table.manual tr.alt {
Default versionsOptimized versions when the size \n is known at compile time
Default versionsOptimized versions when the size \n is known at compile time
\code vec1.head(n)\endcode\code vec1.head()\endcodethe first \c n coeffs
\code vec1.tail(n)\endcode\code vec1.tail()\endcodethe last \c n coeffs
\code vec1.segment(pos,n)\endcode\code vec1.segment(pos)\endcode the \c n coeffs in \n the range [\c pos : \c pos + \c n [
+
-Read-write access to sub-matrices:
\code mat1.block(i,j,rows,cols)\endcode \link DenseBase::block(Index,Index,Index,Index) (more) \endlink