From 9466e5f94edbff1219cd48639fd0ef80e11b85a9 Mon Sep 17 00:00:00 2001 From: Benoit Jacob Date: Tue, 19 Aug 2008 04:30:28 +0000 Subject: [PATCH] * doc improvements in Cwise and PartialRedux: - 33 new snippets - unfuck doxygen output in Cwise (issues with function macros) - more see-also links from outside, making Cwise more discoverable * rename matrixNorm() to operatorNorm(). There are many matrix norms (the L2 is another one) but only one is called the operator norm. Risk of confusion with keyword operator is not too scary after all. --- Eigen/QR | 2 +- Eigen/src/Array/CwiseOperators.h | 149 ++++++++++++++++++++---- Eigen/src/Array/PartialRedux.h | 35 +++++- Eigen/src/Core/Cwise.h | 15 ++- Eigen/src/Core/CwiseBinaryOp.h | 23 +++- Eigen/src/Core/CwiseUnaryOp.h | 12 +- Eigen/src/Core/MatrixBase.h | 2 +- Eigen/src/Core/Product.h | 4 +- Eigen/src/QR/SelfAdjointEigenSolver.h | 14 +-- doc/Doxyfile.in | 6 +- doc/snippets/Cwise_abs.cpp | 2 + doc/snippets/Cwise_abs2.cpp | 2 + doc/snippets/Cwise_cos.cpp | 2 + doc/snippets/Cwise_cube.cpp | 2 + doc/snippets/Cwise_equal_equal.cpp | 2 + doc/snippets/Cwise_exp.cpp | 2 + doc/snippets/Cwise_greater.cpp | 2 + doc/snippets/Cwise_greater_equal.cpp | 2 + doc/snippets/Cwise_inverse.cpp | 2 + doc/snippets/Cwise_less.cpp | 2 + doc/snippets/Cwise_less_equal.cpp | 2 + doc/snippets/Cwise_log.cpp | 2 + doc/snippets/Cwise_max.cpp | 2 + doc/snippets/Cwise_min.cpp | 2 + doc/snippets/Cwise_minus.cpp | 2 + doc/snippets/Cwise_minus_equal.cpp | 3 + doc/snippets/Cwise_not_equal.cpp | 2 + doc/snippets/Cwise_plus.cpp | 2 + doc/snippets/Cwise_plus_equal.cpp | 3 + doc/snippets/Cwise_pow.cpp | 2 + doc/snippets/Cwise_quotient.cpp | 2 + doc/snippets/Cwise_sin.cpp | 2 + doc/snippets/Cwise_sqrt.cpp | 2 + doc/snippets/Cwise_square.cpp | 2 + doc/snippets/MatrixBase_colwise.cpp | 5 + doc/snippets/MatrixBase_cwise.cpp | 4 + doc/snippets/MatrixBase_cwise_const.cpp | 4 + doc/snippets/MatrixBase_rowwise.cpp | 5 + doc/snippets/PartialRedux_maxCoeff.cpp | 3 + doc/snippets/PartialRedux_minCoeff.cpp | 3 + doc/snippets/PartialRedux_norm.cpp | 3 + doc/snippets/PartialRedux_norm2.cpp | 3 + doc/snippets/PartialRedux_sum.cpp | 3 + 43 files changed, 299 insertions(+), 46 deletions(-) create mode 100644 doc/snippets/Cwise_abs.cpp create mode 100644 doc/snippets/Cwise_abs2.cpp create mode 100644 doc/snippets/Cwise_cos.cpp create mode 100644 doc/snippets/Cwise_cube.cpp create mode 100644 doc/snippets/Cwise_equal_equal.cpp create mode 100644 doc/snippets/Cwise_exp.cpp create mode 100644 doc/snippets/Cwise_greater.cpp create mode 100644 doc/snippets/Cwise_greater_equal.cpp create mode 100644 doc/snippets/Cwise_inverse.cpp create mode 100644 doc/snippets/Cwise_less.cpp create mode 100644 doc/snippets/Cwise_less_equal.cpp create mode 100644 doc/snippets/Cwise_log.cpp create mode 100644 doc/snippets/Cwise_max.cpp create mode 100644 doc/snippets/Cwise_min.cpp create mode 100644 doc/snippets/Cwise_minus.cpp create mode 100644 doc/snippets/Cwise_minus_equal.cpp create mode 100644 doc/snippets/Cwise_not_equal.cpp create mode 100644 doc/snippets/Cwise_plus.cpp create mode 100644 doc/snippets/Cwise_plus_equal.cpp create mode 100644 doc/snippets/Cwise_pow.cpp create mode 100644 doc/snippets/Cwise_quotient.cpp create mode 100644 doc/snippets/Cwise_sin.cpp create mode 100644 doc/snippets/Cwise_sqrt.cpp create mode 100644 doc/snippets/Cwise_square.cpp create mode 100644 doc/snippets/MatrixBase_colwise.cpp create mode 100644 doc/snippets/MatrixBase_cwise.cpp create mode 100644 doc/snippets/MatrixBase_cwise_const.cpp create mode 100644 doc/snippets/MatrixBase_rowwise.cpp create mode 100644 doc/snippets/PartialRedux_maxCoeff.cpp create mode 100644 doc/snippets/PartialRedux_minCoeff.cpp create mode 100644 doc/snippets/PartialRedux_norm.cpp create mode 100644 doc/snippets/PartialRedux_norm2.cpp create mode 100644 doc/snippets/PartialRedux_sum.cpp diff --git a/Eigen/QR b/Eigen/QR index 3ed9204b1..0c23db2f8 100644 --- a/Eigen/QR +++ b/Eigen/QR @@ -20,7 +20,7 @@ namespace Eigen { * This module also provides some MatrixBase methods, including: * - MatrixBase::qr(), * - MatrixBase::eigenvalues(), - * - MatrixBase::matrixNorm() + * - MatrixBase::operatorNorm() * * \code * #include diff --git a/Eigen/src/Array/CwiseOperators.h b/Eigen/src/Array/CwiseOperators.h index 0dd7bb01c..498bc86f2 100644 --- a/Eigen/src/Array/CwiseOperators.h +++ b/Eigen/src/Array/CwiseOperators.h @@ -29,7 +29,13 @@ /** \array_module * - * \returns an expression of the coefficient-wise square root of *this. */ + * \returns an expression of the coefficient-wise square root of *this. + * + * Example: \include Cwise_sqrt.cpp + * Output: \verbinclude Cwise_sqrt.out + * + * \sa pow(), square() + */ template inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_sqrt_op) Cwise::sqrt() const @@ -39,7 +45,13 @@ Cwise::sqrt() const /** \array_module * - * \returns an expression of the coefficient-wise exponential of *this. */ + * \returns an expression of the coefficient-wise exponential of *this. + * + * Example: \include Cwise_exp.cpp + * Output: \verbinclude Cwise_exp.out + * + * \sa pow(), log(), sin(), cos() + */ template inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_exp_op) Cwise::exp() const @@ -49,7 +61,13 @@ Cwise::exp() const /** \array_module * - * \returns an expression of the coefficient-wise logarithm of *this. */ + * \returns an expression of the coefficient-wise logarithm of *this. + * + * Example: \include Cwise_log.cpp + * Output: \verbinclude Cwise_log.out + * + * \sa exp() + */ template inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_log_op) Cwise::log() const @@ -59,7 +77,13 @@ Cwise::log() const /** \array_module * - * \returns an expression of the coefficient-wise cosine of *this. */ + * \returns an expression of the coefficient-wise cosine of *this. + * + * Example: \include Cwise_cos.cpp + * Output: \verbinclude Cwise_cos.out + * + * \sa sin(), exp() + */ template inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_cos_op) Cwise::cos() const @@ -70,7 +94,13 @@ Cwise::cos() const /** \array_module * - * \returns an expression of the coefficient-wise sine of *this. */ + * \returns an expression of the coefficient-wise sine of *this. + * + * Example: \include Cwise_sin.cpp + * Output: \verbinclude Cwise_sin.out + * + * \sa cos(), exp() + */ template inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_sin_op) Cwise::sin() const @@ -81,7 +111,13 @@ Cwise::sin() const /** \array_module * - * \returns an expression of the coefficient-wise power of *this to the given exponent. */ + * \returns an expression of the coefficient-wise power of *this to the given exponent. + * + * Example: \include Cwise_pow.cpp + * Output: \verbinclude Cwise_pow.out + * + * \sa exp(), log() + */ template inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_pow_op) Cwise::pow(const Scalar& exponent) const @@ -92,7 +128,13 @@ Cwise::pow(const Scalar& exponent) const /** \array_module * - * \returns an expression of the coefficient-wise inverse of *this. */ + * \returns an expression of the coefficient-wise inverse of *this. + * + * Example: \include Cwise_inverse.cpp + * Output: \verbinclude Cwise_inverse.out + * + * \sa operator/(), operator*() + */ template inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_inverse_op) Cwise::inverse() const @@ -102,7 +144,13 @@ Cwise::inverse() const /** \array_module * - * \returns an expression of the coefficient-wise square of *this. */ + * \returns an expression of the coefficient-wise square of *this. + * + * Example: \include Cwise_square.cpp + * Output: \verbinclude Cwise_square.out + * + * \sa operator/(), operator*(), abs2() + */ template inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_square_op) Cwise::square() const @@ -112,7 +160,13 @@ Cwise::square() const /** \array_module * - * \returns an expression of the coefficient-wise cube of *this. */ + * \returns an expression of the coefficient-wise cube of *this. + * + * Example: \include Cwise_cube.cpp + * Output: \verbinclude Cwise_cube.out + * + * \sa square(), pow() + */ template inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_cube_op) Cwise::cube() const @@ -127,9 +181,10 @@ Cwise::cube() const * * \returns an expression of the coefficient-wise \< operator of *this and \a other * - * See MatrixBase::all() for an example. + * Example: \include Cwise_less.cpp + * Output: \verbinclude Cwise_less.out * - * \sa class CwiseBinaryOp + * \sa MatrixBase::all(), MatrixBase::any(), operator>(), operator<=() */ template template @@ -143,7 +198,10 @@ Cwise::operator<(const MatrixBase &other) const * * \returns an expression of the coefficient-wise \<= operator of *this and \a other * - * \sa class CwiseBinaryOp + * Example: \include Cwise_less_equal.cpp + * Output: \verbinclude Cwise_less_equal.out + * + * \sa MatrixBase::all(), MatrixBase::any(), operator>=(), operator<() */ template template @@ -157,9 +215,10 @@ Cwise::operator<=(const MatrixBase &other) const * * \returns an expression of the coefficient-wise \> operator of *this and \a other * - * See MatrixBase::all() for an example. + * Example: \include Cwise_greater.cpp + * Output: \verbinclude Cwise_greater.out * - * \sa class CwiseBinaryOp + * \sa MatrixBase::all(), MatrixBase::any(), operator>=(), operator<() */ template template @@ -173,7 +232,10 @@ Cwise::operator>(const MatrixBase &other) const * * \returns an expression of the coefficient-wise \>= operator of *this and \a other * - * \sa class CwiseBinaryOp + * Example: \include Cwise_greater_equal.cpp + * Output: \verbinclude Cwise_greater_equal.out + * + * \sa MatrixBase::all(), MatrixBase::any(), operator>(), operator<=() */ template template @@ -187,7 +249,15 @@ Cwise::operator>=(const MatrixBase &other) const * * \returns an expression of the coefficient-wise == operator of *this and \a other * - * \sa class CwiseBinaryOp + * \warning this performs an exact comparison, which is generally a bad idea with floating-point types. + * In order to check for equality between two vectors or matrices with floating-point coefficients, it is + * generally a far better idea to use a fuzzy comparison as provided by MatrixBase::isApprox() and + * MatrixBase::isMuchSmallerThan(). + * + * Example: \include Cwise_equal_equal.cpp + * Output: \verbinclude Cwise_equal_equal.out + * + * \sa MatrixBase::all(), MatrixBase::any(), MatrixBase::isApprox(), MatrixBase::isMuchSmallerThan() */ template template @@ -201,7 +271,15 @@ Cwise::operator==(const MatrixBase &other) const * * \returns an expression of the coefficient-wise != operator of *this and \a other * - * \sa class CwiseBinaryOp + * \warning this performs an exact comparison, which is generally a bad idea with floating-point types. + * In order to check for equality between two vectors or matrices with floating-point coefficients, it is + * generally a far better idea to use a fuzzy comparison as provided by MatrixBase::isApprox() and + * MatrixBase::isMuchSmallerThan(). + * + * Example: \include Cwise_not_equal.cpp + * Output: \verbinclude Cwise_not_equal.out + * + * \sa MatrixBase::all(), MatrixBase::any(), MatrixBase::isApprox(), MatrixBase::isMuchSmallerThan() */ template template @@ -213,7 +291,14 @@ Cwise::operator!=(const MatrixBase &other) const /** \array_module - * \returns an expression of \c *this with each coeff incremented by the constant \a scalar */ + * + * \returns an expression of \c *this with each coeff incremented by the constant \a scalar + * + * Example: \include Cwise_plus.cpp + * Output: \verbinclude Cwise_plus.out + * + * \sa operator+=(), operator-() + */ template inline const typename Cwise::ScalarAddReturnType Cwise::operator+(const Scalar& scalar) const @@ -222,7 +307,14 @@ Cwise::operator+(const Scalar& scalar) const } /** \array_module - * \see operator+() */ + * + * Adds the given \a scalar to each coeff of this expression. + * + * Example: \include Cwise_plus_equal.cpp + * Output: \verbinclude Cwise_plus_equal.out + * + * \sa operator+(), operator-=() + */ template inline ExpressionType& Cwise::operator+=(const Scalar& scalar) { @@ -230,7 +322,14 @@ inline ExpressionType& Cwise::operator+=(const Scalar& scalar) } /** \array_module - * \returns an expression of \c *this with each coeff decremented by the constant \a scalar */ + * + * \returns an expression of \c *this with each coeff decremented by the constant \a scalar + * + * Example: \include Cwise_minus.cpp + * Output: \verbinclude Cwise_minus.out + * + * \sa operator+(), operator-=() + */ template inline const typename Cwise::ScalarAddReturnType Cwise::operator-(const Scalar& scalar) const @@ -239,7 +338,15 @@ Cwise::operator-(const Scalar& scalar) const } /** \array_module - * \see operator- */ + * + * Substracts the given \a scalar from each coeff of this expression. + * + * Example: \include Cwise_minus_equal.cpp + * Output: \verbinclude Cwise_minus_equal.out + * + * \sa operator+=(), operator-() + */ + template inline ExpressionType& Cwise::operator-=(const Scalar& scalar) { diff --git a/Eigen/src/Array/PartialRedux.h b/Eigen/src/Array/PartialRedux.h index 48daad770..bdd657368 100644 --- a/Eigen/src/Array/PartialRedux.h +++ b/Eigen/src/Array/PartialRedux.h @@ -139,10 +139,13 @@ struct ei_member_redux { * \param ExpressionType the type of the object on which to do partial reductions * \param Direction indicates the direction of the redux (Vertical or Horizontal) * - * This class represents an expression with additional partial reduction features. + * This class represents a pseudo expression with partial reduction features. * It is the return type of MatrixBase::colwise() and MatrixBase::rowwise() * and most of the time this is the only way it is used. * + * Example: \include MatrixBase_colwise.cpp + * Output: \verbinclude MatrixBase_colwise.out + * * \sa MatrixBase::colwise(), MatrixBase::rowwise(), class PartialReduxExpr */ template class PartialRedux @@ -180,30 +183,50 @@ template class PartialRedux /** \returns a row (or column) vector expression of the smallest coefficient * of each column (or row) of the referenced expression. + * + * Example: \include PartialRedux_minCoeff.cpp + * Output: \verbinclude PartialRedux_minCoeff.out + * * \sa MatrixBase::minCoeff() */ const typename ReturnType::Type minCoeff() const { return _expression(); } /** \returns a row (or column) vector expression of the largest coefficient * of each column (or row) of the referenced expression. + * + * Example: \include PartialRedux_maxCoeff.cpp + * Output: \verbinclude PartialRedux_maxCoeff.out + * * \sa MatrixBase::maxCoeff() */ const typename ReturnType::Type maxCoeff() const { return _expression(); } /** \returns a row (or column) vector expression of the squared norm * of each column (or row) of the referenced expression. + * + * Example: \include PartialRedux_norm2.cpp + * Output: \verbinclude PartialRedux_norm2.out + * * \sa MatrixBase::norm2() */ const typename ReturnType::Type norm2() const { return _expression(); } /** \returns a row (or column) vector expression of the norm * of each column (or row) of the referenced expression. + * + * Example: \include PartialRedux_norm.cpp + * Output: \verbinclude PartialRedux_norm.out + * * \sa MatrixBase::norm() */ const typename ReturnType::Type norm() const { return _expression(); } /** \returns a row (or column) vector expression of the sum * of each column (or row) of the referenced expression. + * + * Example: \include PartialRedux_sum.cpp + * Output: \verbinclude PartialRedux_sum.out + * * \sa MatrixBase::sum() */ const typename ReturnType::Type sum() const { return _expression(); } @@ -216,7 +239,10 @@ template class PartialRedux * * \returns a PartialRedux wrapper of *this providing additional partial reduction operations * - * \sa class PartialRedux + * Example: \include MatrixBase_colwise.cpp + * Output: \verbinclude MatrixBase_colwise.out + * + * \sa rowwise(), class PartialRedux */ template inline const PartialRedux @@ -229,7 +255,10 @@ MatrixBase::colwise() const * * \returns a PartialRedux wrapper of *this providing additional partial reduction operations * - * \sa class PartialRedux + * Example: \include MatrixBase_rowwise.cpp + * Output: \verbinclude MatrixBase_rowwise.out + * + * \sa colwise(), class PartialRedux */ template inline const PartialRedux diff --git a/Eigen/src/Core/Cwise.h b/Eigen/src/Core/Cwise.h index d89800faa..0f81a8a4b 100644 --- a/Eigen/src/Core/Cwise.h +++ b/Eigen/src/Core/Cwise.h @@ -48,7 +48,10 @@ * * Note that some methods are defined in the \ref Array module. * - * \sa MatrixBase::cwise() + * Example: \include MatrixBase_cwise_const.cpp + * Output: \verbinclude MatrixBase_cwise_const.out + * + * \sa MatrixBase::cwise() const, MatrixBase::cwise() */ template class Cwise { @@ -133,7 +136,10 @@ template class Cwise /** \returns a Cwise wrapper of *this providing additional coefficient-wise operations * - * \sa class Cwise + * Example: \include MatrixBase_cwise_const.cpp + * Output: \verbinclude MatrixBase_cwise_const.out + * + * \sa class Cwise, cwise() */ template inline const Cwise @@ -144,7 +150,10 @@ MatrixBase::cwise() const /** \returns a Cwise wrapper of *this providing additional coefficient-wise operations * - * \sa class Cwise + * Example: \include MatrixBase_cwise.cpp + * Output: \verbinclude MatrixBase_cwise.out + * + * \sa class Cwise, cwise() const */ template inline Cwise diff --git a/Eigen/src/Core/CwiseBinaryOp.h b/Eigen/src/Core/CwiseBinaryOp.h index dcf2c9063..2f506377f 100644 --- a/Eigen/src/Core/CwiseBinaryOp.h +++ b/Eigen/src/Core/CwiseBinaryOp.h @@ -125,7 +125,9 @@ class CwiseBinaryOp : ei_no_assignment_operator, /**\returns an expression of the difference of \c *this and \a other * - * \sa class CwiseBinaryOp, MatrixBase::operator-=() + * \note If you want to substract a given scalar from all coefficients, see Cwise::operator-(). + * + * \sa class CwiseBinaryOp, MatrixBase::operator-=(), Cwise::operator-() */ template template @@ -153,7 +155,9 @@ MatrixBase::operator-=(const MatrixBase &other) * * \returns an expression of the sum of \c *this and \a other * - * \sa class CwiseBinaryOp, MatrixBase::operator+=() + * \note If you want to add a given scalar to all coefficients, see Cwise::operator+(). + * + * \sa class CwiseBinaryOp, MatrixBase::operator+=(), Cwise::operator+() */ template template @@ -176,13 +180,11 @@ MatrixBase::operator+=(const MatrixBase& other) } /** \returns an expression of the Schur product (coefficient wise product) of *this and \a other - * - * \addexample CwiseProduct \label How to perform a component wise product of two matrices. * * Example: \include Cwise_product.cpp * Output: \verbinclude Cwise_product.out * - * \sa class CwiseBinaryOp + * \sa class CwiseBinaryOp, operator/(), square() */ template template @@ -194,7 +196,10 @@ Cwise::operator*(const MatrixBase &other) const /** \returns an expression of the coefficient-wise quotient of *this and \a other * - * \sa class CwiseBinaryOp + * Example: \include Cwise_quotient.cpp + * Output: \verbinclude Cwise_quotient.out + * + * \sa class CwiseBinaryOp, operator*(), inverse() */ template template @@ -205,6 +210,9 @@ Cwise::operator/(const MatrixBase &other) const } /** \returns an expression of the coefficient-wise min of *this and \a other + * + * Example: \include Cwise_min.cpp + * Output: \verbinclude Cwise_min.out * * \sa class CwiseBinaryOp */ @@ -217,6 +225,9 @@ Cwise::min(const MatrixBase &other) const } /** \returns an expression of the coefficient-wise max of *this and \a other + * + * Example: \include Cwise_max.cpp + * Output: \verbinclude Cwise_max.out * * \sa class CwiseBinaryOp */ diff --git a/Eigen/src/Core/CwiseUnaryOp.h b/Eigen/src/Core/CwiseUnaryOp.h index e9aeb6608..85a8872c0 100644 --- a/Eigen/src/Core/CwiseUnaryOp.h +++ b/Eigen/src/Core/CwiseUnaryOp.h @@ -111,7 +111,7 @@ class CwiseUnaryOp : ei_no_assignment_operator, * * \addexample CustomCwiseUnaryFunctors \label How to use custom coeff wise unary functors * - * Here is an example: + * Example: * \include class_CwiseUnaryOp.cpp * Output: \verbinclude class_CwiseUnaryOp.out * @@ -135,6 +135,11 @@ MatrixBase::operator-() const } /** \returns an expression of the coefficient-wise absolute value of \c *this + * + * Example: \include Cwise_abs.cpp + * Output: \verbinclude Cwise_abs.out + * + * \sa abs2() */ template inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_abs_op) @@ -144,6 +149,11 @@ Cwise::abs() const } /** \returns an expression of the coefficient-wise squared absolute value of \c *this + * + * Example: \include Cwise_abs2.cpp + * Output: \verbinclude Cwise_abs2.out + * + * \sa abs(), square() */ template inline const EIGEN_CWISE_UNOP_RETURN_TYPE(ei_scalar_abs2_op) diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h index 52b64283e..aa8e8983c 100644 --- a/Eigen/src/Core/MatrixBase.h +++ b/Eigen/src/Core/MatrixBase.h @@ -555,7 +555,7 @@ template class MatrixBase const QR qr() const; EigenvaluesReturnType eigenvalues() const; - RealScalar matrixNorm() const; + RealScalar operatorNorm() const; /////////// Geometry module /////////// diff --git a/Eigen/src/Core/Product.h b/Eigen/src/Core/Product.h index 9bdbe3f26..2774b3f3b 100644 --- a/Eigen/src/Core/Product.h +++ b/Eigen/src/Core/Product.h @@ -261,7 +261,9 @@ template class Product /** \returns the matrix product of \c *this and \a other. * - * \sa lazy(), operator*=(const MatrixBase&) + * \note If instead of the matrix product you want the coefficient-wise product, see Cwise::operator*(). + * + * \sa lazy(), operator*=(const MatrixBase&), Cwise::operator*() */ template template diff --git a/Eigen/src/QR/SelfAdjointEigenSolver.h b/Eigen/src/QR/SelfAdjointEigenSolver.h index d366bafc7..f8bd7bfad 100644 --- a/Eigen/src/QR/SelfAdjointEigenSolver.h +++ b/Eigen/src/QR/SelfAdjointEigenSolver.h @@ -259,10 +259,10 @@ MatrixBase::eigenvalues() const } template -struct ei_matrixNorm_selector +struct ei_operatorNorm_selector { static inline typename NumTraits::Scalar>::Real - matrixNorm(const MatrixBase& m) + operatorNorm(const MatrixBase& m) { // FIXME if it is really guaranteed that the eigenvalues are already sorted, // then we don't need to compute a maxCoeff() here, comparing the 1st and last ones is enough. @@ -270,10 +270,10 @@ struct ei_matrixNorm_selector } }; -template struct ei_matrixNorm_selector +template struct ei_operatorNorm_selector { static inline typename NumTraits::Scalar>::Real - matrixNorm(const MatrixBase& m) + operatorNorm(const MatrixBase& m) { typename Derived::Eval m_eval(m); // FIXME if it is really guaranteed that the eigenvalues are already sorted, @@ -293,10 +293,10 @@ template struct ei_matrixNorm_selector */ template inline typename NumTraits::Scalar>::Real -MatrixBase::matrixNorm() const +MatrixBase::operatorNorm() const { - return ei_matrixNorm_selector - ::matrixNorm(derived()); + return ei_operatorNorm_selector + ::operatorNorm(derived()); } #ifndef EIGEN_EXTERN_INSTANTIATIONS diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 353d3b1d4..dab473627 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -31,7 +31,7 @@ PROJECT_NAME = Eigen # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.0-alpha6 +PROJECT_NUMBER = 2.0-alpha7 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. @@ -1195,7 +1195,9 @@ PREDEFINED = EIGEN_EMPTY_STRUCT \ EXPAND_AS_DEFINED = EIGEN_MAKE_SCALAR_OPS \ EIGEN_MAKE_TYPEDEFS \ - EIGEN_MAKE_TYPEDEFS_ALL_SIZES + EIGEN_MAKE_TYPEDEFS_ALL_SIZES \ + EIGEN_CWISE_UNOP_RETURN_TYPE \ + EIGEN_CWISE_BINOP_RETURN_TYPE # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone diff --git a/doc/snippets/Cwise_abs.cpp b/doc/snippets/Cwise_abs.cpp new file mode 100644 index 000000000..7f94dbdc2 --- /dev/null +++ b/doc/snippets/Cwise_abs.cpp @@ -0,0 +1,2 @@ +Vector3d v(1,-2,-3); +cout << v.cwise().abs() << endl; diff --git a/doc/snippets/Cwise_abs2.cpp b/doc/snippets/Cwise_abs2.cpp new file mode 100644 index 000000000..3b338af3e --- /dev/null +++ b/doc/snippets/Cwise_abs2.cpp @@ -0,0 +1,2 @@ +Vector3d v(1,-2,-3); +cout << v.cwise().abs2() << endl; diff --git a/doc/snippets/Cwise_cos.cpp b/doc/snippets/Cwise_cos.cpp new file mode 100644 index 000000000..4eb230a80 --- /dev/null +++ b/doc/snippets/Cwise_cos.cpp @@ -0,0 +1,2 @@ +Vector3d v(M_PI, M_PI/2, M_PI/3); +cout << v.cwise().cos() << endl; diff --git a/doc/snippets/Cwise_cube.cpp b/doc/snippets/Cwise_cube.cpp new file mode 100644 index 000000000..fd404365a --- /dev/null +++ b/doc/snippets/Cwise_cube.cpp @@ -0,0 +1,2 @@ +Vector3d v(2,3,4); +cout << v.cwise().cube() << endl; diff --git a/doc/snippets/Cwise_equal_equal.cpp b/doc/snippets/Cwise_equal_equal.cpp new file mode 100644 index 000000000..ea49120f0 --- /dev/null +++ b/doc/snippets/Cwise_equal_equal.cpp @@ -0,0 +1,2 @@ +Vector3d v(1,2,3), w(3,2,1); +cout << (v.cwise()==w) << endl; diff --git a/doc/snippets/Cwise_exp.cpp b/doc/snippets/Cwise_exp.cpp new file mode 100644 index 000000000..c22fd4cb7 --- /dev/null +++ b/doc/snippets/Cwise_exp.cpp @@ -0,0 +1,2 @@ +Vector3d v(1,2,3); +cout << v.cwise().exp() << endl; diff --git a/doc/snippets/Cwise_greater.cpp b/doc/snippets/Cwise_greater.cpp new file mode 100644 index 000000000..54641e1ce --- /dev/null +++ b/doc/snippets/Cwise_greater.cpp @@ -0,0 +1,2 @@ +Vector3d v(1,2,3), w(3,2,1); +cout << (v.cwise()>w) << endl; diff --git a/doc/snippets/Cwise_greater_equal.cpp b/doc/snippets/Cwise_greater_equal.cpp new file mode 100644 index 000000000..744a9ae1e --- /dev/null +++ b/doc/snippets/Cwise_greater_equal.cpp @@ -0,0 +1,2 @@ +Vector3d v(1,2,3), w(3,2,1); +cout << (v.cwise()>=w) << endl; diff --git a/doc/snippets/Cwise_inverse.cpp b/doc/snippets/Cwise_inverse.cpp new file mode 100644 index 000000000..7f6eee85d --- /dev/null +++ b/doc/snippets/Cwise_inverse.cpp @@ -0,0 +1,2 @@ +Vector3d v(2,3,4); +cout << v.cwise().inverse() << endl; diff --git a/doc/snippets/Cwise_less.cpp b/doc/snippets/Cwise_less.cpp new file mode 100644 index 000000000..008e3d9e6 --- /dev/null +++ b/doc/snippets/Cwise_less.cpp @@ -0,0 +1,2 @@ +Vector3d v(1,2,3), w(3,2,1); +cout << (v.cwise()