Base class for all dense matrices, vectors, and expressions.
This class is the base that is inherited by all matrix, vector, and related expression types. Most of the Eigen API is contained in this class, and its base classes. Other important classes for the Eigen API are Matrix, and VectorwiseOp.
Note that some methods are defined in other modules such as the LU module LU module for all functions related to matrix inversions.
| Derived | is the derived type, e.g. a matrix type, or an expression, etc. |
When writing a function taking Eigen objects as argument, if you want your function to take as argument any matrix, vector, or expression, just let it take a MatrixBase argument. As an example, here is a function printFirstRow which, given a matrix, vector, or expression x, prints the first row of x.
template<typename Derived> void printFirstRow(const Eigen::MatrixBase<Derived>& x) { cout << x.row(0) << endl; }
This class can be extended with the help of the plugin mechanism described on the page TopicCustomizingEigen by defining the preprocessor symbol EIGEN_MATRIXBASE_PLUGIN.

Classes | |||
| struct | ConstDiagonalIndexReturnType | ||
| struct | ConstSelfAdjointViewReturnType | ||
| struct | ConstTriangularViewReturnType | ||
| struct | DiagonalIndexReturnType | ||
| struct | SelfAdjointViewReturnType | ||
| struct | TriangularViewReturnType | ||
Public Types | |||
| enum | { HomogeneousReturnTypeDirection = ColsAtCompileTime==1?Vertical:Horizontal } | ||
| enum | { SizeMinusOne = SizeAtCompileTime==Dynamic ? Dynamic : SizeAtCompileTime-1 } | ||
| typedef Matrix< typename internal::traits< Derived > ::Scalar, internal::traits < Derived >::RowsAtCompileTime, internal::traits< Derived > ::ColsAtCompileTime, AutoAlign|(internal::traits < Derived >::Flags &RowMajorBit?RowMajor:ColMajor), internal::traits< Derived > ::MaxRowsAtCompileTime, internal::traits< Derived > ::MaxColsAtCompileTime > | PlainObject | ||
| The plain matrix type corresponding to this expression. | |||
| typedef Diagonal< Derived > | DiagonalReturnType | ||
| typedef const Diagonal< const Derived > | ConstDiagonalReturnType | ||
| typedef Homogeneous< Derived, HomogeneousReturnTypeDirection > | HomogeneousReturnType | ||
| typedef Block< const Derived, internal::traits< Derived > ::ColsAtCompileTime==1?SizeMinusOne:1, internal::traits< Derived > ::ColsAtCompileTime==1?1:SizeMinusOne > | ConstStartMinusOne | ||
| typedef CwiseUnaryOp < internal::scalar_quotient1_op < typename internal::traits < Derived >::Scalar >, const ConstStartMinusOne > | HNormalizedReturnType | ||
| typedef internal::stem_function < Scalar >::type | StemFunction | ||
| enum | |||
| enum | |||
| typedef internal::traits < Derived >::StorageKind | StorageKind | ||
| typedef internal::traits < Derived >::Index | Index | ||
| The type of indices. | |||
| typedef internal::traits < Derived >::Scalar | Scalar | ||
| typedef internal::packet_traits < Scalar >::type | PacketScalar | ||
| typedef NumTraits< Scalar >::Real | RealScalar | ||
| typedef DenseCoeffsBase< Derived > | Base | ||
| typedef Base::CoeffReturnType | CoeffReturnType | ||
| typedef const Transpose< const Derived > | ConstTransposeReturnType | ||
| typedef VectorBlock< Derived > | SegmentReturnType | ||
| typedef const VectorBlock < const Derived > | ConstSegmentReturnType | ||
| typedef VectorwiseOp< Derived, Horizontal > | RowwiseReturnType | ||
| typedef const VectorwiseOp < const Derived, Horizontal > | ConstRowwiseReturnType | ||
| typedef VectorwiseOp< Derived, Vertical > | ColwiseReturnType | ||
| typedef const VectorwiseOp < const Derived, Vertical > | ConstColwiseReturnType | ||
| typedef Reverse< Derived, BothDirections > | ReverseReturnType | ||
| typedef const Reverse< const Derived, BothDirections > | ConstReverseReturnType | ||
MRPT plugin: Types | |||
| enum | { static_size = RowsAtCompileTime*ColsAtCompileTime } | ||
| typedef Scalar | value_type | ||
| Type of the elements. | |||
Public Member Functions | |||
| Index | diagonalSize () const | ||
| const CwiseUnaryOp < internal::scalar_opposite_op < typename internal::traits < Derived >::Scalar >, const Derived > | operator- () const | ||
| const ScalarMultipleReturnType | operator* (const Scalar &scalar) const | ||
| const ScalarMultipleReturnType | operator* (const RealScalar &scalar) const | ||
| const CwiseUnaryOp < internal::scalar_quotient1_op < typename internal::traits < Derived >::Scalar >, const Derived > | operator/ (const Scalar &scalar) const | ||
| const CwiseUnaryOp < internal::scalar_multiple2_op < Scalar, std::complex< Scalar > >, const Derived > | operator* (const std::complex< Scalar > &scalar) const | ||
| Overloaded for efficient real matrix times complex scalar value. | |||
| template<typename NewType > | |||
| internal::cast_return_type < Derived, const CwiseUnaryOp < internal::scalar_cast_op < typename internal::traits < Derived >::Scalar, NewType > , const Derived > >::type | cast () const | ||
| ConjugateReturnType | conjugate () const | ||
| RealReturnType | real () const | ||
| const ImagReturnType | imag () const | ||
| template<typename CustomUnaryOp > | |||
| const CwiseUnaryOp < CustomUnaryOp, const Derived > | unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const | ||
| Apply a unary operator coefficient-wise. | |||
| template<typename CustomViewOp > | |||
| const CwiseUnaryView < CustomViewOp, const Derived > | unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const | ||
| NonConstRealReturnType | real () | ||
| NonConstImagReturnType | imag () | ||
| template<typename CustomBinaryOp , typename OtherDerived > | |||
| EIGEN_STRONG_INLINE const CwiseBinaryOp< CustomBinaryOp, const Derived, const OtherDerived > | binaryExpr (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const | ||
| EIGEN_STRONG_INLINE const CwiseUnaryOp < internal::scalar_abs_op < Scalar >, const Derived > | cwiseAbs () const | ||
| EIGEN_STRONG_INLINE const CwiseUnaryOp < internal::scalar_abs2_op < Scalar >, const Derived > | cwiseAbs2 () const | ||
| const CwiseUnaryOp < internal::scalar_sqrt_op < Scalar >, const Derived > | cwiseSqrt () const | ||
| const CwiseUnaryOp < internal::scalar_inverse_op < Scalar >, const Derived > | cwiseInverse () const | ||
| const CwiseUnaryOp < std::binder1st < std::equal_to< Scalar > >, const Derived > | cwiseEqual (const Scalar &s) const | ||
| template<typename OtherDerived > | |||
| EIGEN_STRONG_INLINE const | EIGEN_CWISE_PRODUCT_RETURN_TYPE (Derived, OtherDerived) cwiseProduct(const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| template<typename OtherDerived > | |||
| const CwiseBinaryOp < std::equal_to< Scalar > , const Derived, const OtherDerived > | cwiseEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| template<typename OtherDerived > | |||
| const CwiseBinaryOp < std::not_equal_to< Scalar > , const Derived, const OtherDerived > | cwiseNotEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| template<typename OtherDerived > | |||
| EIGEN_STRONG_INLINE const CwiseBinaryOp < internal::scalar_min_op < Scalar >, const Derived, const OtherDerived > | cwiseMin (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| template<typename OtherDerived > | |||
| EIGEN_STRONG_INLINE const CwiseBinaryOp < internal::scalar_max_op < Scalar >, const Derived, const OtherDerived > | cwiseMax (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| template<typename OtherDerived > | |||
| EIGEN_STRONG_INLINE const CwiseBinaryOp < internal::scalar_quotient_op < Scalar >, const Derived, const OtherDerived > | cwiseQuotient (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const | ||
| template<class OtherDerived > | |||
| EIGEN_STRONG_INLINE void | extractRow (size_t nRow, Eigen::EigenBase< OtherDerived > &v, size_t startingCol=0) const | ||
| Extract one row from the matrix into a row vector. | |||
| template<typename T > | |||
| void | extractRow (size_t nRow, std::vector< T > &v, size_t startingCol=0) const | ||
| template<class VECTOR > | |||
| EIGEN_STRONG_INLINE void | extractRowAsCol (size_t nRow, VECTOR &v, size_t startingCol=0) const | ||
| Extract one row from the matrix into a column vector. | |||
| template<class VECTOR > | |||
| EIGEN_STRONG_INLINE void | extractCol (size_t nCol, VECTOR &v, size_t startingRow=0) const | ||
| Extract one column from the matrix into a column vector. | |||
| template<typename T > | |||
| void | extractCol (size_t nCol, std::vector< T > &v, size_t startingRow=0) const | ||
| template<class MATRIX > | |||
| EIGEN_STRONG_INLINE void | extractMatrix (const size_t firstRow, const size_t firstCol, MATRIX &m) const | ||
| template<class MATRIX > | |||
| EIGEN_STRONG_INLINE void | extractMatrix (const size_t firstRow, const size_t firstCol, const size_t nRows, const size_t nCols, MATRIX &m) const | ||
| template<class MATRIX > | |||
| EIGEN_STRONG_INLINE void | extractSubmatrix (const size_t row_first, const size_t row_last, const size_t col_first, const size_t col_last, MATRIX &out) const | ||
| Get a submatrix, given its bounds: first & last column and row (inclusive). | |||
| template<class MATRIX > | |||
| void | extractSubmatrixSymmetricalBlocks (const size_t block_size, const std::vector< size_t > &block_indices, MATRIX &out) const | ||
| Get a submatrix from a square matrix, by collecting the elements M(idxs,idxs), where idxs is a sequence {block_indices(i):block_indices(i)+block_size-1} for all "i" up to the size of block_indices. | |||
| template<class MATRIX > | |||
| void | extractSubmatrixSymmetrical (const std::vector< size_t > &indices, MATRIX &out) const | ||
| Get a submatrix from a square matrix, by collecting the elements M(idxs,idxs), where idxs is the sequence of indices passed as argument. | |||
| Derived & | operator= (const MatrixBase &other) | ||
| Special case of the template operator=, in order to prevent the compiler from generating a default operator= (issue hit with g++ 4.1) | |||
| template<typename OtherDerived > | |||
| Derived & | operator= (const DenseBase< OtherDerived > &other) | ||
| Copies other into *this. | |||
| template<typename OtherDerived > | |||
| Derived & | operator= (const EigenBase< OtherDerived > &other) | ||
| template<typename OtherDerived > | |||
| Derived & | operator= (const ReturnByValue< OtherDerived > &other) | ||
| template<typename OtherDerived > | |||
| Derived & | operator+= (const MatrixBase< OtherDerived > &other) | ||
replaces *this by *this + other. | |||
| template<typename OtherDerived > | |||
| Derived & | operator-= (const MatrixBase< OtherDerived > &other) | ||
replaces *this by *this - other. | |||
| template<typename OtherDerived > | |||
| const ProductReturnType < Derived, OtherDerived > ::Type | operator* (const MatrixBase< OtherDerived > &other) const | ||
| template<typename OtherDerived > | |||
| const LazyProductReturnType < Derived, OtherDerived > ::Type | lazyProduct (const MatrixBase< OtherDerived > &other) const | ||
| template<typename OtherDerived > | |||
| Derived & | operator*= (const EigenBase< OtherDerived > &other) | ||
replaces *this by *this * other. | |||
| template<typename OtherDerived > | |||
| void | applyOnTheLeft (const EigenBase< OtherDerived > &other) | ||
replaces *this by *this * other. | |||
| template<typename OtherDerived > | |||
| void | applyOnTheRight (const EigenBase< OtherDerived > &other) | ||
replaces *this by *this * other. | |||
| template<typename DiagonalDerived > | |||
| const DiagonalProduct< Derived, DiagonalDerived, OnTheRight > | operator* (const DiagonalBase< DiagonalDerived > &diagonal) const | ||
| template<typename OtherDerived > | |||
| internal::scalar_product_traits < typename internal::traits < Derived >::Scalar, typename internal::traits< OtherDerived > ::Scalar >::ReturnType | dot (const MatrixBase< OtherDerived > &other) const | ||
| RealScalar | squaredNorm () const | ||
| RealScalar | norm () const | ||
| RealScalar | stableNorm () const | ||
| RealScalar | blueNorm () const | ||
| RealScalar | hypotNorm () const | ||
| const PlainObject | normalized () const | ||
| void | normalize () | ||
| Normalizes the vector, i.e. | |||
| const AdjointReturnType | adjoint () const | ||
| void | adjointInPlace () | ||
This is the "in place" version of adjoint(): it replaces *this by its own transpose. | |||
| DiagonalReturnType | diagonal () | ||
| const ConstDiagonalReturnType | diagonal () const | ||
| This is the const version of diagonal(). | |||
| template<int Index> | |||
| DiagonalIndexReturnType< Index > ::Type | diagonal () | ||
| template<int Index> | |||
| ConstDiagonalIndexReturnType < Index >::Type | diagonal () const | ||
| DiagonalIndexReturnType < Dynamic >::Type | diagonal (Index index) | ||
| ConstDiagonalIndexReturnType < Dynamic >::Type | diagonal (Index index) const | ||
| This is the const version of diagonal(Index). | |||
| template<unsigned int Mode> | |||
| TriangularViewReturnType< Mode > ::Type | triangularView () | ||
| template<unsigned int Mode> | |||
| ConstTriangularViewReturnType < Mode >::Type | triangularView () const | ||
| This is the const version of MatrixBase::triangularView() | |||
| template<unsigned int UpLo> | |||
| SelfAdjointViewReturnType < UpLo >::Type | selfadjointView () | ||
| template<unsigned int UpLo> | |||
| ConstSelfAdjointViewReturnType < UpLo >::Type | selfadjointView () const | ||
| const SparseView< Derived > | sparseView (const Scalar &m_reference=Scalar(0), typename NumTraits< Scalar >::Real m_epsilon=NumTraits< Scalar >::dummy_precision()) const | ||
| const DiagonalWrapper< const Derived > | asDiagonal () const | ||
| const PermutationWrapper < const Derived > | asPermutation () const | ||
| Derived & | setIdentity () | ||
| Writes the identity expression (not necessarily square) into *this. | |||
| Derived & | setIdentity (Index rows, Index cols) | ||
| Resizes to the given size, and writes the identity expression (not necessarily square) into *this. | |||
| bool | isIdentity (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isDiagonal (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isUpperTriangular (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isLowerTriangular (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| template<typename OtherDerived > | |||
| bool | isOrthogonal (const MatrixBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isUnitary (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| template<typename OtherDerived > | |||
| bool | operator== (const MatrixBase< OtherDerived > &other) const | ||
| template<typename OtherDerived > | |||
| bool | operator!= (const MatrixBase< OtherDerived > &other) const | ||
| NoAlias< Derived, Eigen::MatrixBase > | noalias () | ||
| const ForceAlignedAccess< Derived > | forceAlignedAccess () const | ||
| ForceAlignedAccess< Derived > | forceAlignedAccess () | ||
| template<bool Enable> | |||
| internal::add_const_on_value_type < typename internal::conditional< Enable, ForceAlignedAccess< Derived > , Derived & >::type >::type | forceAlignedAccessIf () const | ||
| template<bool Enable> | |||
| internal::conditional< Enable, ForceAlignedAccess< Derived > , Derived & >::type | forceAlignedAccessIf () | ||
| Scalar | trace () const | ||
| template<int p> | |||
| RealScalar | lpNorm () const | ||
| MatrixBase< Derived > & | matrix () | ||
| const MatrixBase< Derived > & | matrix () const | ||
| ArrayWrapper< Derived > | array () | ||
| const ArrayWrapper< Derived > | array () const | ||
| const FullPivLU< PlainObject > | fullPivLu () const | ||
| | |||
| const PartialPivLU< PlainObject > | partialPivLu () const | ||
| | |||
| const PartialPivLU< PlainObject > | lu () const | ||
| | |||
| const internal::inverse_impl < Derived > | inverse () const | ||
| | |||
| template<typename ResultType > | |||
| void | computeInverseAndDetWithCheck (ResultType &inverse, typename ResultType::Scalar &determinant, bool &invertible, const RealScalar &absDeterminantThreshold=NumTraits< Scalar >::dummy_precision()) const | ||
| | |||
| template<typename ResultType > | |||
| void | computeInverseWithCheck (ResultType &inverse, bool &invertible, const RealScalar &absDeterminantThreshold=NumTraits< Scalar >::dummy_precision()) const | ||
| | |||
| Scalar | determinant () const | ||
| | |||
| const LLT< PlainObject > | llt () const | ||
| | |||
| const LDLT< PlainObject > | ldlt () const | ||
| | |||
| const HouseholderQR< PlainObject > | householderQr () const | ||
| const ColPivHouseholderQR < PlainObject > | colPivHouseholderQr () const | ||
| const FullPivHouseholderQR < PlainObject > | fullPivHouseholderQr () const | ||
| EigenvaluesReturnType | eigenvalues () const | ||
| Computes the eigenvalues of a matrix. | |||
| RealScalar | operatorNorm () const | ||
| Computes the L2 operator norm. | |||
| JacobiSVD< PlainObject > | jacobiSvd (unsigned int computationOptions=0) const | ||
| template<typename OtherDerived > | |||
| cross_product_return_type < OtherDerived >::type | cross (const MatrixBase< OtherDerived > &other) const | ||
| | |||
| template<typename OtherDerived > | |||
| PlainObject | cross3 (const MatrixBase< OtherDerived > &other) const | ||
| | |||
| PlainObject | unitOrthogonal (void) const | ||
| Matrix< Scalar, 3, 1 > | eulerAngles (Index a0, Index a1, Index a2) const | ||
| | |||
| ScalarMultipleReturnType | operator* (const UniformScaling< Scalar > &s) const | ||
| Concatenates a linear transformation matrix and a uniform scaling. | |||
| HomogeneousReturnType | homogeneous () const | ||
| | |||
| const HNormalizedReturnType | hnormalized () const | ||
| | |||
| void | makeHouseholderInPlace (Scalar &tau, RealScalar &beta) | ||
| template<typename EssentialPart > | |||
| void | makeHouseholder (EssentialPart &essential, Scalar &tau, RealScalar &beta) const | ||
Computes the elementary reflector H such that: where the transformation H is: and the vector v is: . | |||
| template<typename EssentialPart > | |||
| void | applyHouseholderOnTheLeft (const EssentialPart &essential, const Scalar &tau, Scalar *workspace) | ||
| template<typename EssentialPart > | |||
| void | applyHouseholderOnTheRight (const EssentialPart &essential, const Scalar &tau, Scalar *workspace) | ||
| template<typename OtherScalar > | |||
| void | applyOnTheLeft (Index p, Index q, const JacobiRotation< OtherScalar > &j) | ||
Applies the rotation in the plane j to the rows p and q of *this, i.e., it computes B = J * B, with . | |||
| template<typename OtherScalar > | |||
| void | applyOnTheRight (Index p, Index q, const JacobiRotation< OtherScalar > &j) | ||
Applies the rotation in the plane j to the columns p and q of *this, i.e., it computes B = B * J with . | |||
| const MatrixExponentialReturnValue < Derived > | exp () const | ||
| const MatrixFunctionReturnValue < Derived > | matrixFunction (StemFunction f) const | ||
| const MatrixFunctionReturnValue < Derived > | cosh () const | ||
| const MatrixFunctionReturnValue < Derived > | sinh () const | ||
| const MatrixFunctionReturnValue < Derived > | cos () const | ||
| const MatrixFunctionReturnValue < Derived > | sin () const | ||
| const MatrixSquareRootReturnValue < Derived > | sqrt () const | ||
| const MatrixLogarithmReturnValue < Derived > | log () const | ||
| Index | nonZeros () const | ||
| Index | outerSize () const | ||
| Index | innerSize () const | ||
| void | resize (Index size) | ||
| Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are Matrix::resize() and Array::resize(). | |||
| void | resize (Index rows, Index cols) | ||
| Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are Matrix::resize() and Array::resize(). | |||
| Derived & | operator+= (const EigenBase< OtherDerived > &other) | ||
| Derived & | operator-= (const EigenBase< OtherDerived > &other) | ||
| CommaInitializer< Derived > | operator<< (const Scalar &s) | ||
| CommaInitializer< Derived > | operator<< (const DenseBase< OtherDerived > &other) | ||
| const Flagged< Derived, Added, Removed > | flagged () const | ||
| Eigen::Transpose< Derived > | transpose () | ||
| ConstTransposeReturnType | transpose () const | ||
| void | transposeInPlace () | ||
| SegmentReturnType | segment (Index start, Index size) | ||
| DenseBase::ConstSegmentReturnType | segment (Index start, Index size) const | ||
| FixedSegmentReturnType< Size > ::Type | segment (Index start) | ||
| ConstFixedSegmentReturnType < Size >::Type | segment (Index start) const | ||
| SegmentReturnType | head (Index size) | ||
| DenseBase::ConstSegmentReturnType | head (Index size) const | ||
| FixedSegmentReturnType< Size > ::Type | head () | ||
| ConstFixedSegmentReturnType < Size >::Type | head () const | ||
| SegmentReturnType | tail (Index size) | ||
| DenseBase::ConstSegmentReturnType | tail (Index size) const | ||
| FixedSegmentReturnType< Size > ::Type | tail () | ||
| ConstFixedSegmentReturnType < Size >::Type | tail () const | ||
| void | fill (const Scalar &value) | ||
| Derived & | setConstant (const Scalar &value) | ||
| Derived & | setLinSpaced (Index size, const Scalar &low, const Scalar &high) | ||
| Derived & | setLinSpaced (const Scalar &low, const Scalar &high) | ||
| Derived & | setZero () | ||
| Derived & | setOnes () | ||
| Derived & | setRandom () | ||
| bool | isApprox (const DenseBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isMuchSmallerThan (const RealScalar &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isMuchSmallerThan (const DenseBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isApproxToConstant (const Scalar &value, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isConstant (const Scalar &value, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isZero (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| bool | isOnes (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const | ||
| Derived & | operator*= (const Scalar &other) | ||
| Derived & | operator/= (const Scalar &other) | ||
| EIGEN_STRONG_INLINE const internal::eval< Derived > ::type | eval () const | ||
| void | swap (const DenseBase< OtherDerived > &other, int=OtherDerived::ThisConstantIsPrivateInPlainObjectBase) | ||
| swaps *this with the expression other. | |||
| void | swap (PlainObjectBase< OtherDerived > &other) | ||
| swaps *this with the matrix or array other. | |||
| const NestByValue< Derived > | nestByValue () const | ||
| Scalar | sum () const | ||
| Scalar | prod () const | ||
| internal::traits< Derived >::Scalar | minCoeff () const | ||
| internal::traits< Derived >::Scalar | minCoeff (IndexType *row, IndexType *col) const | ||
| internal::traits< Derived >::Scalar | minCoeff (IndexType *index) const | ||
| internal::traits< Derived >::Scalar | maxCoeff () const | ||
| internal::traits< Derived >::Scalar | maxCoeff (IndexType *row, IndexType *col) const | ||
| internal::traits< Derived >::Scalar | maxCoeff (IndexType *index) const | ||
| internal::result_of< BinaryOp(typename internal::traits< Derived > ::Scalar)>::type | redux (const BinaryOp &func) const | ||
| void | visit (Visitor &func) const | ||
| const WithFormat< Derived > | format (const IOFormat &fmt) const | ||
| CoeffReturnType | value () const | ||
| bool | all (void) const | ||
| bool | any (void) const | ||
| Index | count () const | ||
| ConstRowwiseReturnType | rowwise () const | ||
| RowwiseReturnType | rowwise () | ||
| ConstColwiseReturnType | colwise () const | ||
| ColwiseReturnType | colwise () | ||
| const Select< Derived, ThenDerived, ElseDerived > | select (const DenseBase< ThenDerived > &thenMatrix, const DenseBase< ElseDerived > &elseMatrix) const | ||
| const Select< Derived, ThenDerived, typename ThenDerived::ConstantReturnType > | select (const DenseBase< ThenDerived > &thenMatrix, typename ThenDerived::Scalar elseScalar) const | ||
| const Select< Derived, typename ElseDerived::ConstantReturnType, ElseDerived > | select (typename ElseDerived::Scalar thenScalar, const DenseBase< ElseDerived > &elseMatrix) const | ||
| const Replicate< Derived, RowFactor, ColFactor > | replicate () const | ||
| const Replicate< Derived, Dynamic, Dynamic > | replicate (Index rowFacor, Index colFactor) const | ||
| ReverseReturnType | reverse () | ||
| ConstReverseReturnType | reverse () const | ||
| void | reverseInPlace () | ||
| Block< Derived > | block (Index startRow, Index startCol, Index blockRows, Index blockCols) | ||
| const Block< const Derived > | block (Index startRow, Index startCol, Index blockRows, Index blockCols) const | ||
| This is the const version of block(Index,Index,Index,Index). | |||
| Block< Derived, BlockRows, BlockCols > | block (Index startRow, Index startCol) | ||
| const Block< const Derived, BlockRows, BlockCols > | block (Index startRow, Index startCol) const | ||
| This is the const version of block<>(Index, Index). | |||
| Block< Derived > | topRightCorner (Index cRows, Index cCols) | ||
| const Block< const Derived > | topRightCorner (Index cRows, Index cCols) const | ||
| This is the const version of topRightCorner(Index, Index). | |||
| Block< Derived, CRows, CCols > | topRightCorner () | ||
| const Block< const Derived, CRows, CCols > | topRightCorner () const | ||
| This is the const version of topRightCorner<int, int>(). | |||
| Block< Derived > | topLeftCorner (Index cRows, Index cCols) | ||
| const Block< const Derived > | topLeftCorner (Index cRows, Index cCols) const | ||
| This is the const version of topLeftCorner(Index, Index). | |||
| Block< Derived, CRows, CCols > | topLeftCorner () | ||
| const Block< const Derived, CRows, CCols > | topLeftCorner () const | ||
| This is the const version of topLeftCorner<int, int>(). | |||
| Block< Derived > | bottomRightCorner (Index cRows, Index cCols) | ||
| const Block< const Derived > | bottomRightCorner (Index cRows, Index cCols) const | ||
| This is the const version of bottomRightCorner(Index, Index). | |||
| Block< Derived, CRows, CCols > | bottomRightCorner () | ||
| const Block< const Derived, CRows, CCols > | bottomRightCorner () const | ||
| This is the const version of bottomRightCorner<int, int>(). | |||
| Block< Derived > | bottomLeftCorner (Index cRows, Index cCols) | ||
| const Block< const Derived > | bottomLeftCorner (Index cRows, Index cCols) const | ||
| This is the const version of bottomLeftCorner(Index, Index). | |||
| Block< Derived, CRows, CCols > | bottomLeftCorner () | ||
| const Block< const Derived, CRows, CCols > | bottomLeftCorner () const | ||
| This is the const version of bottomLeftCorner<int, int>(). | |||
| RowsBlockXpr | topRows (Index n) | ||
| ConstRowsBlockXpr | topRows (Index n) const | ||
| This is the const version of topRows(Index). | |||
| NRowsBlockXpr< N >::Type | topRows () | ||
| ConstNRowsBlockXpr< N >::Type | topRows () const | ||
| This is the const version of topRows<int>(). | |||
| RowsBlockXpr | bottomRows (Index n) | ||
| ConstRowsBlockXpr | bottomRows (Index n) const | ||
| This is the const version of bottomRows(Index). | |||
| NRowsBlockXpr< N >::Type | bottomRows () | ||
| ConstNRowsBlockXpr< N >::Type | bottomRows () const | ||
| This is the const version of bottomRows<int>(). | |||
| RowsBlockXpr | middleRows (Index startRow, Index numRows) | ||
| ConstRowsBlockXpr | middleRows (Index startRow, Index numRows) const | ||
| This is the const version of middleRows(Index,Index). | |||
| NRowsBlockXpr< N >::Type | middleRows (Index startRow) | ||
| ConstNRowsBlockXpr< N >::Type | middleRows (Index startRow) const | ||
| This is the const version of middleRows<int>(). | |||
| ColsBlockXpr | leftCols (Index n) | ||
| ConstColsBlockXpr | leftCols (Index n) const | ||
| This is the const version of leftCols(Index). | |||
| NColsBlockXpr< N >::Type | leftCols () | ||
| ConstNColsBlockXpr< N >::Type | leftCols () const | ||
| This is the const version of leftCols<int>(). | |||
| ColsBlockXpr | rightCols (Index n) | ||
| ConstColsBlockXpr | rightCols (Index n) const | ||
| This is the const version of rightCols(Index). | |||
| NColsBlockXpr< N >::Type | rightCols () | ||
| ConstNColsBlockXpr< N >::Type | rightCols () const | ||
| This is the const version of rightCols<int>(). | |||
| ColsBlockXpr | middleCols (Index startCol, Index numCols) | ||
| ConstColsBlockXpr | middleCols (Index startCol, Index numCols) const | ||
| This is the const version of middleCols(Index,Index). | |||
| NColsBlockXpr< N >::Type | middleCols (Index startCol) | ||
| ConstNColsBlockXpr< N >::Type | middleCols (Index startCol) const | ||
| This is the const version of middleCols<int>(). | |||
| ColXpr | col (Index i) | ||
| ConstColXpr | col (Index i) const | ||
| This is the const version of col(). | |||
| RowXpr | row (Index i) | ||
| ConstRowXpr | row (Index i) const | ||
| This is the const version of row(). | |||
| void | evalTo (Dest &) const | ||
MRPT plugin: Set/get/load/save and other miscelaneous methods | |||
| EIGEN_STRONG_INLINE void | fill (const Scalar v) | ||
| EIGEN_STRONG_INLINE void | assign (const Scalar v) | ||
| EIGEN_STRONG_INLINE void | assign (size_t N, const Scalar v) | ||
| EIGEN_STRONG_INLINE size_t | getRowCount () const | ||
| Get number of rows. | |||
| EIGEN_STRONG_INLINE size_t | getColCount () const | ||
| Get number of columns. | |||
| EIGEN_STRONG_INLINE void | unit (const size_t nRows, const Scalar diag_vals) | ||
| Make the matrix an identity matrix (the diagonal values can be 1.0 or any other value) | |||
| EIGEN_STRONG_INLINE void | unit () | ||
| Make the matrix an identity matrix. | |||
| EIGEN_STRONG_INLINE void | eye () | ||
| Make the matrix an identity matrix. | |||
| EIGEN_STRONG_INLINE void | zeros () | ||
| Set all elements to zero. | |||
| EIGEN_STRONG_INLINE void | zeros (const size_t row, const size_t col) | ||
| Resize and set all elements to zero. | |||
| EIGEN_STRONG_INLINE void | ones (const size_t row, const size_t col) | ||
| Resize matrix and set all elements to one. | |||
| EIGEN_STRONG_INLINE void | ones () | ||
| Set all elements to one. | |||
| EIGEN_STRONG_INLINE Scalar * | get_unsafe_row (size_t row) | ||
| Fast but unsafe method to obtain a pointer to a given row of the matrix (Use only in time critical applications) VERY IMPORTANT WARNING: You must be aware of the memory layout, either Column or Row-major ordering. | |||
| EIGEN_STRONG_INLINE const Scalar * | get_unsafe_row (size_t row) const | ||
| EIGEN_STRONG_INLINE Scalar | get_unsafe (const size_t row, const size_t col) const | ||
| Read-only access to one element (Use with caution, bounds are not checked!) | |||
| EIGEN_STRONG_INLINE Scalar & | get_unsafe (const size_t row, const size_t col) | ||
| Reference access to one element (Use with caution, bounds are not checked!) | |||
| EIGEN_STRONG_INLINE void | set_unsafe (const size_t row, const size_t col, const Scalar val) | ||
| Sets an element (Use with caution, bounds are not checked!) | |||
| EIGEN_STRONG_INLINE void | push_back (Scalar val) | ||
| Insert an element at the end of the container (for 1D vectors/arrays) | |||
| EIGEN_STRONG_INLINE bool | isSquare () const | ||
| EIGEN_STRONG_INLINE bool | isSingular (const Scalar absThreshold=0) const | ||
| bool | fromMatlabStringFormat (const std::string &s, bool dumpErrorMsgToStdErr=true) | ||
| Read a matrix from a string in Matlab-like format, for example "[1 0 2; 0 4 -1]" The string must start with '[' and end with ']'. | |||
| std::string | inMatlabFormat (const size_t decimal_digits=6) const | ||
| Dump matrix in matlab format. | |||
| void | saveToTextFile (const std::string &file, mrpt::math::TMatrixTextFileFormat fileFormat=mrpt::math::MATRIX_FORMAT_ENG, bool appendMRPTHeader=false, const std::string &userHeader=std::string()) const | ||
| Save matrix to a text file, compatible with MATLAB text format (see also the methods of matrix classes themselves). | |||
| void | loadFromTextFile (const std::string &file) | ||
| Load matrix from a text file, compatible with MATLAB text format. | |||
| void | loadFromTextFile (std::istream &_input_text_stream) | ||
| EIGEN_STRONG_INLINE void | multiplyColumnByScalar (size_t c, Scalar s) | ||
| EIGEN_STRONG_INLINE void | multiplyRowByScalar (size_t r, Scalar s) | ||
| EIGEN_STRONG_INLINE void | swapCols (size_t i1, size_t i2) | ||
| EIGEN_STRONG_INLINE void | swapRows (size_t i1, size_t i2) | ||
| EIGEN_STRONG_INLINE size_t | countNonZero () const | ||
| EIGEN_STRONG_INLINE Scalar | maximum () const | ||
[VECTORS OR MATRICES] Finds the maximum value
| |||
| EIGEN_STRONG_INLINE Scalar | minimum () const | ||
| [VECTORS OR MATRICES] Finds the minimum value | |||
| EIGEN_STRONG_INLINE void | minimum_maximum (Scalar &out_min, Scalar &out_max) const | ||
| [VECTORS OR MATRICES] Compute the minimum and maximum of a container at once | |||
| EIGEN_STRONG_INLINE Scalar | maximum (size_t *maxIndex) const | ||
| [VECTORS ONLY] Finds the maximum value (and the corresponding zero-based index) from a given container. | |||
| void | find_index_max_value (size_t &u, size_t &v, Scalar &valMax) const | ||
| [VECTORS OR MATRICES] Finds the maximum value (and the corresponding zero-based index) from a given container. | |||
| EIGEN_STRONG_INLINE Scalar | minimum (size_t *minIndex) const | ||
| [VECTORS ONLY] Finds the minimum value (and the corresponding zero-based index) from a given container. | |||
| EIGEN_STRONG_INLINE void | minimum_maximum (Scalar &out_min, Scalar &out_max, size_t *minIndex, size_t *maxIndex) const | ||
| [VECTORS ONLY] Compute the minimum and maximum of a container at once | |||
| EIGEN_STRONG_INLINE Scalar | norm_inf () const | ||
| Compute the norm-infinite of a vector ($f[ ||{v}||_ $f]), ie the maximum absolute value of the elements. | |||
| EIGEN_STRONG_INLINE Scalar | squareNorm () const | ||
| Compute the square norm of a vector/array/matrix (the Euclidean distance to the origin, taking all the elements as a single vector). | |||
| EIGEN_STRONG_INLINE Scalar | sumAll () const | ||
| template<typename OtherDerived > | |||
| EIGEN_STRONG_INLINE void | laplacian (Eigen::MatrixBase< OtherDerived > &ret) const | ||
| Computes the laplacian of this square graph weight matrix. | |||
| EIGEN_STRONG_INLINE void | setSize (size_t row, size_t col) | ||
| Changes the size of matrix, maintaining its previous content as possible and padding with zeros where applicable. | |||
| template<class OUTVECT > | |||
| void | largestEigenvector (OUTVECT &x, Scalar resolution=Scalar(0.01), size_t maxIterations=6, int *out_Iterations=NULL, float *out_estimatedResolution=NULL) const | ||
| Efficiently computes only the biggest eigenvector of the matrix using the Power Method, and returns it in the passed vector "x". | |||
| MatrixBase< Derived > & | operator^= (const unsigned int pow) | ||
| Combined matrix power and assignment operator. | |||
| EIGEN_STRONG_INLINE void | scalarPow (const Scalar s) | ||
| Scalar power of all elements to a given power, this is diferent of ^ operator. | |||
| EIGEN_STRONG_INLINE bool | isDiagonal () const | ||
| Checks for matrix type. | |||
| EIGEN_STRONG_INLINE Scalar | maximumDiagonal () const | ||
| Finds the maximum value in the diagonal of the matrix. | |||
| EIGEN_STRONG_INLINE double | mean () const | ||
| Computes the mean of the entire matrix. | |||
| template<class VEC > | |||
| void | meanAndStd (VEC &outMeanVector, VEC &outStdVector, const bool unbiased_variance=true) const | ||
| Computes a row with the mean values of each column in the matrix and the associated vector with the standard deviation of each column. | |||
| void | meanAndStdAll (double &outMean, double &outStd, const bool unbiased_variance=true) const | ||
| Computes the mean and standard deviation of all the elements in the matrix as a whole. | |||
| template<typename MAT > | |||
| EIGEN_STRONG_INLINE void | insertMatrix (size_t r, size_t c, const MAT &m) | ||
| Insert matrix "m" into this matrix at indices (r,c), that is, (*this)(r,c)=m(0,0) and so on. | |||
| template<typename MAT > | |||
| EIGEN_STRONG_INLINE void | insertMatrixTranspose (size_t r, size_t c, const MAT &m) | ||
| template<typename MAT > | |||
| EIGEN_STRONG_INLINE void | insertRow (size_t nRow, const MAT &aRow) | ||
| template<typename MAT > | |||
| EIGEN_STRONG_INLINE void | insertCol (size_t nCol, const MAT &aCol) | ||
| template<typename R > | |||
| void | insertRow (size_t nRow, const std::vector< R > &aRow) | ||
| template<typename R > | |||
| void | insertCol (size_t nCol, const std::vector< R > &aCol) | ||
| EIGEN_STRONG_INLINE void | removeColumns (const std::vector< size_t > &idxsToRemove) | ||
| Remove columns of the matrix. | |||
| EIGEN_STRONG_INLINE void | unsafeRemoveColumns (const std::vector< size_t > &idxs) | ||
| Remove columns of the matrix. | |||
| EIGEN_STRONG_INLINE void | removeRows (const std::vector< size_t > &idxsToRemove) | ||
| Remove rows of the matrix. | |||
| EIGEN_STRONG_INLINE void | unsafeRemoveRows (const std::vector< size_t > &idxs) | ||
| Remove rows of the matrix. | |||
| EIGEN_STRONG_INLINE const AdjointReturnType | t () const | ||
| Transpose. | |||
| EIGEN_STRONG_INLINE PlainObject | inv () const | ||
| template<class MATRIX > | |||
| EIGEN_STRONG_INLINE void | inv (MATRIX &outMat) const | ||
| template<class MATRIX > | |||
| EIGEN_STRONG_INLINE void | inv_fast (MATRIX &outMat) const | ||
| EIGEN_STRONG_INLINE Scalar | det () const | ||
MRPT plugin: Multiply and extra addition functions | |||
| EIGEN_STRONG_INLINE bool | empty () const | ||
| template<typename OTHERMATRIX > | |||
| EIGEN_STRONG_INLINE void | add_Ac (const OTHERMATRIX &m, const Scalar c) | ||
| template<typename OTHERMATRIX > | |||
| EIGEN_STRONG_INLINE void | substract_Ac (const OTHERMATRIX &m, const Scalar c) | ||
| template<typename OTHERMATRIX > | |||
| EIGEN_STRONG_INLINE void | substract_At (const OTHERMATRIX &m) | ||
| template<typename OTHERMATRIX > | |||
| EIGEN_STRONG_INLINE void | substract_An (const OTHERMATRIX &m, const size_t n) | ||
| template<typename OTHERMATRIX > | |||
| EIGEN_STRONG_INLINE void | add_AAt (const OTHERMATRIX &A) | ||
| template<typename OTHERMATRIX > | |||
| EIGEN_STRONG_INLINE void | substract_AAt (const OTHERMATRIX &A) | ||
| template<class MATRIX1 , class MATRIX2 > | |||
| EIGEN_STRONG_INLINE void | multiply (const MATRIX1 &A, const MATRIX2 &B) | ||
| template<class MATRIX1 , class MATRIX2 > | |||
| EIGEN_STRONG_INLINE void | multiply_AB (const MATRIX1 &A, const MATRIX2 &B) | ||
| template<typename MATRIX1 , typename MATRIX2 > | |||
| EIGEN_STRONG_INLINE void | multiply_AtB (const MATRIX1 &A, const MATRIX2 &B) | ||
| template<typename OTHERVECTOR1 , typename OTHERVECTOR2 > | |||
| EIGEN_STRONG_INLINE void | multiply_Ab (const OTHERVECTOR1 &vIn, OTHERVECTOR2 &vOut, bool accumToOutput=false) const | ||
| template<typename OTHERVECTOR1 , typename OTHERVECTOR2 > | |||
| EIGEN_STRONG_INLINE void | multiply_Atb (const OTHERVECTOR1 &vIn, OTHERVECTOR2 &vOut, bool accumToOutput=false) const | ||
| template<typename MAT_C , typename MAT_R > | |||
| EIGEN_STRONG_INLINE void | multiply_HCHt (const MAT_C &C, MAT_R &R, bool accumResultInOutput=false) const | ||
| template<typename MAT_C , typename MAT_R > | |||
| EIGEN_STRONG_INLINE void | multiply_HtCH (const MAT_C &C, MAT_R &R, bool accumResultInOutput=false) const | ||
| template<typename MAT_C > | |||
| EIGEN_STRONG_INLINE Scalar | multiply_HCHt_scalar (const MAT_C &C) const | ||
| template<typename MAT_C > | |||
| EIGEN_STRONG_INLINE Scalar | multiply_HtCH_scalar (const MAT_C &C) const | ||
| template<typename MAT_A > | |||
| EIGEN_STRONG_INLINE void | multiply_AAt_scalar (const MAT_A &A, typename MAT_A::value_type f) | ||
| template<typename MAT_A > | |||
| EIGEN_STRONG_INLINE void | multiply_AtA_scalar (const MAT_A &A, typename MAT_A::value_type f) | ||
| template<class MAT_A , class SKEW_3VECTOR > | |||
| void | multiply_A_skew3 (const MAT_A &A, const SKEW_3VECTOR &v) | ||
| template<class SKEW_3VECTOR , class MAT_A > | |||
| void | multiply_skew3_A (const SKEW_3VECTOR &v, const MAT_A &A) | ||
| template<class MAT_A , class MAT_OUT > | |||
| EIGEN_STRONG_INLINE void | multiply_subMatrix (const MAT_A &A, MAT_OUT &outResult, const size_t A_cols_offset, const size_t A_rows_offset, const size_t A_col_count) const | ||
| outResult = this * A | |||
| template<class MAT_A , class MAT_B , class MAT_C > | |||
| void | multiply_ABC (const MAT_A &A, const MAT_B &B, const MAT_C &C) | ||
| template<class MAT_A , class MAT_B , class MAT_C > | |||
| void | multiply_ABCt (const MAT_A &A, const MAT_B &B, const MAT_C &C) | ||
| template<class MAT_A , class MAT_B , class MAT_C > | |||
| void | multiply_AtBC (const MAT_A &A, const MAT_B &B, const MAT_C &C) | ||
| template<class MAT_A , class MAT_B > | |||
| EIGEN_STRONG_INLINE void | multiply_ABt (const MAT_A &A, const MAT_B &B) | ||
| template<class MAT_A > | |||
| EIGEN_STRONG_INLINE void | multiply_AAt (const MAT_A &A) | ||
| template<class MAT_A > | |||
| EIGEN_STRONG_INLINE void | multiply_AtA (const MAT_A &A) | ||
| template<class MAT_A , class MAT_B > | |||
| EIGEN_STRONG_INLINE void | multiply_result_is_symmetric (const MAT_A &A, const MAT_B &B) | ||
| template<class MAT2 , class MAT3 > | |||
| EIGEN_STRONG_INLINE void | leftDivideSquare (const MAT2 &A, MAT3 &RES) const | ||
| Matrix left divide: RES = A-1 * this , with A being squared (using the Eigen::ColPivHouseholderQR method) | |||
| template<class MAT2 , class MAT3 > | |||
| EIGEN_STRONG_INLINE void | rightDivideSquare (const MAT2 &B, MAT3 &RES) const | ||
| Matrix right divide: RES = this * B-1, with B being squared (using the Eigen::ColPivHouseholderQR method) | |||
MRPT plugin: Eigenvalue / Eigenvectors | |||
| template<class MATRIX1 , class MATRIX2 > | |||
| EIGEN_STRONG_INLINE void | eigenVectors (MATRIX1 &eVecs, MATRIX2 &eVals) const | ||
| [For square matrices only] Compute the eigenvectors and eigenvalues (sorted), both returned as matrices: eigenvectors are the columns in "eVecs", and eigenvalues in ascending order as the diagonal of "eVals". | |||
| template<class MATRIX1 , class VECTOR1 > | |||
| EIGEN_STRONG_INLINE void | eigenVectorsVec (MATRIX1 &eVecs, VECTOR1 &eVals) const | ||
| [For square matrices only] Compute the eigenvectors and eigenvalues (sorted), eigenvectors are the columns in "eVecs", and eigenvalues are returned in in ascending order in the vector "eVals". | |||
| template<class VECTOR > | |||
| EIGEN_STRONG_INLINE void | eigenValues (VECTOR &eVals) const | ||
| [For square matrices only] Compute the eigenvectors and eigenvalues (sorted), and return only the eigenvalues in the vector "eVals". | |||
| template<class MATRIX1 , class MATRIX2 > | |||
| EIGEN_STRONG_INLINE void | eigenVectorsSymmetric (MATRIX1 &eVecs, MATRIX2 &eVals) const | ||
| [For symmetric matrices only] Compute the eigenvectors and eigenvalues (in no particular order), both returned as matrices: eigenvectors are the columns, and eigenvalues | |||
| template<class MATRIX1 , class VECTOR1 > | |||
| EIGEN_STRONG_INLINE void | eigenVectorsSymmetricVec (MATRIX1 &eVecs, VECTOR1 &eVals) const | ||
| [For symmetric matrices only] Compute the eigenvectors and eigenvalues (in no particular order), both returned as matrices: eigenvectors are the columns, and eigenvalues | |||
MRPT plugin: Linear algebra & decomposition-based methods | |||
| template<class MATRIX > | |||
| EIGEN_STRONG_INLINE bool | chol (MATRIX &U) const | ||
| Cholesky M=UT * U decomposition for simetric matrix (upper-half of the matrix will be actually ignored) | |||
| EIGEN_STRONG_INLINE size_t | rank (double threshold=0) const | ||
| Gets the rank of the matrix via the Eigen::ColPivHouseholderQR method. | |||
MRPT plugin: Scalar and element-wise extra operators | |||
| EIGEN_STRONG_INLINE MatrixBase < Derived > & | Sqrt () | ||
| EIGEN_STRONG_INLINE PlainObject | Sqrt () const | ||
| EIGEN_STRONG_INLINE MatrixBase < Derived > & | Abs () | ||
| EIGEN_STRONG_INLINE PlainObject | Abs () const | ||
| EIGEN_STRONG_INLINE MatrixBase < Derived > & | Log () | ||
| EIGEN_STRONG_INLINE PlainObject | Log () const | ||
| EIGEN_STRONG_INLINE MatrixBase < Derived > & | Exp () | ||
| EIGEN_STRONG_INLINE PlainObject | Exp () const | ||
| EIGEN_STRONG_INLINE MatrixBase < Derived > & | Square () | ||
| EIGEN_STRONG_INLINE PlainObject | Square () const | ||
| void | normalize (Scalar valMin, Scalar valMax) | ||
| Scales all elements such as the minimum & maximum values are shifted to the given values. | |||
| void | adjustRange (Scalar valMin, Scalar valMax) | ||
Static Public Member Functions | |||
| static const IdentityReturnType | Identity () | ||
| static const IdentityReturnType | Identity (Index rows, Index cols) | ||
| static const BasisReturnType | Unit (Index size, Index i) | ||
| static const BasisReturnType | Unit (Index i) | ||
| static const BasisReturnType | UnitX () | ||
| static const BasisReturnType | UnitY () | ||
| static const BasisReturnType | UnitZ () | ||
| static const BasisReturnType | UnitW () | ||
| static const ConstantReturnType | Constant (Index rows, Index cols, const Scalar &value) | ||
| static const ConstantReturnType | Constant (Index size, const Scalar &value) | ||
| static const ConstantReturnType | Constant (const Scalar &value) | ||
| static const SequentialLinSpacedReturnType | LinSpaced (Sequential_t, Index size, const Scalar &low, const Scalar &high) | ||
| static const RandomAccessLinSpacedReturnType | LinSpaced (Index size, const Scalar &low, const Scalar &high) | ||
| static const SequentialLinSpacedReturnType | LinSpaced (Sequential_t, const Scalar &low, const Scalar &high) | ||
| static const RandomAccessLinSpacedReturnType | LinSpaced (const Scalar &low, const Scalar &high) | ||
| static const CwiseNullaryOp < CustomNullaryOp, Derived > | NullaryExpr (Index rows, Index cols, const CustomNullaryOp &func) | ||
| static const CwiseNullaryOp < CustomNullaryOp, Derived > | NullaryExpr (Index size, const CustomNullaryOp &func) | ||
| static const CwiseNullaryOp < CustomNullaryOp, Derived > | NullaryExpr (const CustomNullaryOp &func) | ||
| static const ConstantReturnType | Zero (Index rows, Index cols) | ||
| static const ConstantReturnType | Zero (Index size) | ||
| static const ConstantReturnType | Zero () | ||
| static const ConstantReturnType | Ones (Index rows, Index cols) | ||
| static const ConstantReturnType | Ones (Index size) | ||
| static const ConstantReturnType | Ones () | ||
| static const CwiseNullaryOp < internal::scalar_random_op < Scalar >, Derived > | Random (Index rows, Index cols) | ||
| static const CwiseNullaryOp < internal::scalar_random_op < Scalar >, Derived > | Random (Index size) | ||
| static const CwiseNullaryOp < internal::scalar_random_op < Scalar >, Derived > | Random () | ||
Protected Member Functions | |||
| MatrixBase () | |||
| template<typename OtherDerived > | |||
| Derived & | operator+= (const ArrayBase< OtherDerived > &) | ||
| template<typename OtherDerived > | |||
| Derived & | operator-= (const ArrayBase< OtherDerived > &) | ||
| void | checkTransposeAliasing (const OtherDerived &other) const | ||
Private Member Functions | |||
| MatrixBase (int) | |||
| MatrixBase (int, int) | |||
| template<typename OtherDerived > | |||
| MatrixBase (const MatrixBase< OtherDerived > &) | |||
Friends | |||
| const ScalarMultipleReturnType | operator* (const Scalar &scalar, const StorageBaseType &matrix) | ||
| const CwiseUnaryOp < internal::scalar_multiple2_op < Scalar, std::complex< Scalar > >, const Derived > | operator* (const std::complex< Scalar > &scalar, const StorageBaseType &matrix) | ||
MRPT plugin: Basic iterators. These iterators are intended for 1D matrices only, i.e. column or row vectors. | |||
| typedef Scalar * | iterator | ||
| typedef const Scalar * | const_iterator | ||
| EIGEN_STRONG_INLINE iterator | begin () | ||
| EIGEN_STRONG_INLINE iterator | end () | ||
| EIGEN_STRONG_INLINE const_iterator | begin () const | ||
| EIGEN_STRONG_INLINE const_iterator | end () const | ||
typedef DenseCoeffsBase<Derived> Eigen::DenseBase::Base [inherited] |
typedef Base::CoeffReturnType Eigen::DenseBase::CoeffReturnType [inherited] |
typedef VectorwiseOp<Derived, Vertical> Eigen::DenseBase::ColwiseReturnType [inherited] |
| typedef const Scalar* Eigen::MatrixBase::const_iterator |
typedef const VectorwiseOp<const Derived, Vertical> Eigen::DenseBase::ConstColwiseReturnType [inherited] |
| typedef const Diagonal<const Derived> Eigen::MatrixBase::ConstDiagonalReturnType |
typedef const Reverse<const Derived, BothDirections> Eigen::DenseBase::ConstReverseReturnType [inherited] |
typedef const VectorwiseOp<const Derived, Horizontal> Eigen::DenseBase::ConstRowwiseReturnType [inherited] |
typedef const VectorBlock<const Derived> Eigen::DenseBase::ConstSegmentReturnType [inherited] |
| typedef Block<const Derived, internal::traits<Derived>::ColsAtCompileTime==1 ? SizeMinusOne : 1, internal::traits<Derived>::ColsAtCompileTime==1 ? 1 : SizeMinusOne> Eigen::MatrixBase::ConstStartMinusOne |
typedef const Transpose<const Derived> Eigen::DenseBase::ConstTransposeReturnType [inherited] |
| typedef Diagonal<Derived> Eigen::MatrixBase::DiagonalReturnType |
| typedef CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>, const ConstStartMinusOne > Eigen::MatrixBase::HNormalizedReturnType |
| typedef Homogeneous<Derived, HomogeneousReturnTypeDirection> Eigen::MatrixBase::HomogeneousReturnType |
typedef internal::traits<Derived>::Index Eigen::DenseBase::Index [inherited] |
| typedef Scalar* Eigen::MatrixBase::iterator |
typedef internal::packet_traits<Scalar>::type Eigen::DenseBase::PacketScalar [inherited] |
| typedef Matrix<typename internal::traits<Derived>::Scalar, internal::traits<Derived>::RowsAtCompileTime, internal::traits<Derived>::ColsAtCompileTime, AutoAlign | (internal::traits<Derived>::Flags&RowMajorBit ? RowMajor : ColMajor), internal::traits<Derived>::MaxRowsAtCompileTime, internal::traits<Derived>::MaxColsAtCompileTime > Eigen::MatrixBase::PlainObject |
The plain matrix type corresponding to this expression.
This is not necessarily exactly the return type of eval(). In the case of plain matrices, the return type of eval() is a const reference to a matrix, not a matrix! It is however guaranteed that the return type of eval() is either PlainObject or const PlainObject&.
Reimplemented in Eigen::CoeffBasedProduct, and Eigen::ProductBase.
typedef NumTraits<Scalar>::Real Eigen::DenseBase::RealScalar [inherited] |
typedef Reverse<Derived, BothDirections> Eigen::DenseBase::ReverseReturnType [inherited] |
typedef VectorwiseOp<Derived, Horizontal> Eigen::DenseBase::RowwiseReturnType [inherited] |
typedef internal::traits<Derived>::Scalar Eigen::DenseBase::Scalar [inherited] |
typedef VectorBlock<Derived> Eigen::DenseBase::SegmentReturnType [inherited] |
| typedef internal::stem_function<Scalar>::type Eigen::MatrixBase::StemFunction |
typedef internal::traits<Derived>::StorageKind Eigen::DenseBase::StorageKind [inherited] |
| typedef Scalar Eigen::MatrixBase::value_type |
| Eigen::MatrixBase::MatrixBase | ( | int | ) | [explicit, private] |
| Eigen::MatrixBase::MatrixBase | ( | int | , |
| int | |||
| ) | [private] |
| Eigen::MatrixBase::MatrixBase | ( | const MatrixBase< OtherDerived > & | ) | [explicit, private] |
| EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Abs | ( | ) | [inline] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Abs | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::add_AAt | ( | const OTHERMATRIX & | A | ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::add_Ac | ( | const OTHERMATRIX & | m, |
| const Scalar | c | ||
| ) | [inline] |
| const MatrixBase< Derived >::AdjointReturnType Eigen::MatrixBase::adjoint | ( | ) | const [inline] |
Example:
Output:
m = m.adjoint(); // bug!!! caused by aliasing effect
m.adjointInPlace();
m = m.adjoint().eval();
Definition at line 250 of file Core.
Referenced by mrpt::math::operator~().
| void Eigen::MatrixBase::adjointInPlace | ( | ) | [inline] |
This is the "in place" version of adjoint(): it replaces *this by its own transpose.
Thus, doing
m.adjointInPlace();
has the same effect on m as doing
m = m.adjoint().eval();
and is faster and also safer because in the latter line of code, forgetting the eval() results in a bug caused by aliasing.
Notice however that this method is only useful if you want to replace a matrix by its own adjoint. If you just need the adjoint of a matrix, use adjoint().
*this must be a resizable matrix.| bool Eigen::DenseBase::all | ( | void | ) | const [inherited] |
| bool Eigen::DenseBase::any | ( | void | ) | const [inherited] |
| void Eigen::MatrixBase::applyHouseholderOnTheLeft | ( | const EssentialPart & | essential, |
| const Scalar & | tau, | ||
| Scalar * | workspace | ||
| ) |
Definition at line 92 of file Householder.
| void Eigen::MatrixBase::applyHouseholderOnTheRight | ( | const EssentialPart & | essential, |
| const Scalar & | tau, | ||
| Scalar * | workspace | ||
| ) |
Definition at line 114 of file Householder.
| void Eigen::MatrixBase::applyOnTheLeft | ( | const EigenBase< OtherDerived > & | other | ) | [inline] |
| void Eigen::MatrixBase::applyOnTheLeft | ( | Index | p, |
| Index | q, | ||
| const JacobiRotation< OtherScalar > & | j | ||
| ) | [inline] |
Applies the rotation in the plane j to the rows p and q of *this, i.e., it computes B = J * B, with
.
| void Eigen::MatrixBase::applyOnTheRight | ( | const EigenBase< OtherDerived > & | other | ) | [inline] |
replaces *this by *this * other.
It is equivalent to MatrixBase::operator*=()
| ArrayWrapper<Derived> Eigen::MatrixBase::array | ( | ) | [inline] |
| const ArrayWrapper<Derived> Eigen::MatrixBase::array | ( | ) | const [inline] |
| const DiagonalWrapper< const Derived > Eigen::MatrixBase::asDiagonal | ( | ) | const [inline] |
Example:
Output:
| const PermutationWrapper< const Derived > Eigen::MatrixBase::asPermutation | ( | ) | const |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::assign | ( | const Scalar | v | ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::assign | ( | size_t | N, |
| const Scalar | v | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE iterator Eigen::MatrixBase::begin | ( | ) | [inline] |
| EIGEN_STRONG_INLINE const_iterator Eigen::MatrixBase::begin | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE const CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived> Eigen::MatrixBase::binaryExpr | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other, |
| const CustomBinaryOp & | func = CustomBinaryOp() |
||
| ) | const [inline] |
*this and other *this and other The template parameter CustomBinaryOp is the type of the functor of the custom operator (see class CwiseBinaryOp for an example)
Here is an example illustrating the use of custom functors:
Output:
| Block<Derived> Eigen::DenseBase::block | ( | Index | startRow, |
| Index | startCol, | ||
| Index | blockRows, | ||
| Index | blockCols | ||
| ) | [inline, inherited] |
| startRow | the first row in the block |
| startCol | the first column in the block |
| blockRows | the number of rows in the block |
| blockCols | the number of columns in the block |
Example:
Output:
| Block<Derived, BlockRows, BlockCols> Eigen::DenseBase::block | ( | Index | startRow, |
| Index | startCol | ||
| ) | [inline, inherited] |
The template parameters BlockRows and BlockCols are the number of rows and columns in the block.
| startRow | the first row in the block |
| startCol | the first column in the block |
Example:
Output:
m.template block<3,3>(1,1);
| NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::blueNorm | ( | ) | const [inline] |
*this using the Blue's algorithm. A Portable Fortran Program to Find the Euclidean Norm of a Vector, ACM TOMS, Vol 4, Issue 1, 1978.For architecture/scalar types without vectorization, this version is much faster than stableNorm(). Otherwise the stableNorm() is faster.
| Block<Derived, CRows, CCols> Eigen::DenseBase::bottomLeftCorner | ( | ) | [inline, inherited] |
| const Block<const Derived, CRows, CCols> Eigen::DenseBase::bottomLeftCorner | ( | ) | const [inline, inherited] |
| Block<Derived, CRows, CCols> Eigen::DenseBase::bottomRightCorner | ( | ) | [inline, inherited] |
| const Block<const Derived, CRows, CCols> Eigen::DenseBase::bottomRightCorner | ( | ) | const [inline, inherited] |
| RowsBlockXpr Eigen::DenseBase::bottomRows | ( | Index | n | ) | [inline, inherited] |
| ConstRowsBlockXpr Eigen::DenseBase::bottomRows | ( | Index | n | ) | const [inline, inherited] |
| NRowsBlockXpr<N>::Type Eigen::DenseBase::bottomRows | ( | ) | [inline, inherited] |
| ConstNRowsBlockXpr<N>::Type Eigen::DenseBase::bottomRows | ( | ) | const [inline, inherited] |
| internal::cast_return_type<Derived,const CwiseUnaryOp<internal::scalar_cast_op<typename internal::traits<Derived>::Scalar, NewType>, const Derived> >::type Eigen::MatrixBase::cast | ( | ) | const [inline] |
The template parameter NewScalar is the type we are casting the scalars to.
| void Eigen::DenseBase::checkTransposeAliasing | ( | const OtherDerived & | other | ) | const [protected, inherited] |
| EIGEN_STRONG_INLINE bool Eigen::MatrixBase::chol | ( | MATRIX & | U | ) | const [inline] |
| ColXpr Eigen::DenseBase::col | ( | Index | i | ) | [inline, inherited] |
| ConstColXpr Eigen::DenseBase::col | ( | Index | i | ) | const [inline, inherited] |
| const ColPivHouseholderQR< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::colPivHouseholderQr | ( | ) | const |
*this.| ConstColwiseReturnType Eigen::DenseBase::colwise | ( | ) | const [inherited] |
Example:
Output:
| ColwiseReturnType Eigen::DenseBase::colwise | ( | ) | [inherited] |
| void Eigen::MatrixBase::computeInverseAndDetWithCheck | ( | ResultType & | inverse, |
| typename ResultType::Scalar & | determinant, | ||
| bool & | invertible, | ||
| const RealScalar & | absDeterminantThreshold = NumTraits<Scalar>::dummy_precision() |
||
| ) | const [inline] |
Computation of matrix inverse and determinant, with invertibility check.
This is only for fixed-size square matrices of size up to 4x4.
| inverse | Reference to the matrix in which to store the inverse. |
| determinant | Reference to the variable in which to store the inverse. |
| invertible | Reference to the bool variable in which to store whether the matrix is invertible. |
| absDeterminantThreshold | Optional parameter controlling the invertibility check. The matrix will be declared invertible if the absolute value of its determinant is greater than this threshold. |
Example:
Output:
| void Eigen::MatrixBase::computeInverseWithCheck | ( | ResultType & | inverse, |
| bool & | invertible, | ||
| const RealScalar & | absDeterminantThreshold = NumTraits<Scalar>::dummy_precision() |
||
| ) | const [inline] |
Computation of matrix inverse, with invertibility check.
This is only for fixed-size square matrices of size up to 4x4.
| inverse | Reference to the matrix in which to store the inverse. |
| invertible | Reference to the bool variable in which to store whether the matrix is invertible. |
| absDeterminantThreshold | Optional parameter controlling the invertibility check. The matrix will be declared invertible if the absolute value of its determinant is greater than this threshold. |
Example:
Output:
| ConjugateReturnType Eigen::MatrixBase::conjugate | ( | ) | const [inline] |
| static const ConstantReturnType Eigen::DenseBase::Constant | ( | Index | rows, |
| Index | cols, | ||
| const Scalar & | value | ||
| ) | [static, inherited] |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this DenseBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Zero() should be used instead.
The template parameter CustomNullaryOp is the type of the functor.
| static const ConstantReturnType Eigen::DenseBase::Constant | ( | Index | size, |
| const Scalar & | value | ||
| ) | [static, inherited] |
The parameter size is the size of the returned vector. Must be compatible with this DenseBase type.
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Zero() should be used instead.
The template parameter CustomNullaryOp is the type of the functor.
| static const ConstantReturnType Eigen::DenseBase::Constant | ( | const Scalar & | value | ) | [static, inherited] |
This variant is only for fixed-size DenseBase types. For dynamic-size types, you need to use the variants taking size arguments.
The template parameter CustomNullaryOp is the type of the functor.
| const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::cos | ( | ) | const |
| const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::cosh | ( | ) | const |
| Index Eigen::DenseBase::count | ( | void | ) | const [inherited] |
| EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::countNonZero | ( | ) | const [inline] |
| MatrixBase< Derived >::template cross_product_return_type< OtherDerived >::type Eigen::MatrixBase::cross | ( | const MatrixBase< OtherDerived > & | other | ) | const [inline] |
*this and other Here is a very good explanation of cross-product: http://xkcd.com/199/
| MatrixBase< Derived >::PlainObject Eigen::MatrixBase::cross3 | ( | const MatrixBase< OtherDerived > & | other | ) | const [inline] |
*this and other using only the x, y, and z coefficientsThe size of *this and other must be four. This function is especially useful when using 4D vectors instead of 3D ones to get advantage of SSE/AltiVec vectorization.
| EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseAbs | ( | ) | const [inline] |
*this Example:
Output:
| EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseAbs2 | ( | ) | const [inline] |
*this Example:
Output:
| const CwiseBinaryOp<std::equal_to<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseEqual | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
Output:
| const CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >, const Derived> Eigen::MatrixBase::cwiseEqual | ( | const Scalar & | s | ) | const [inline] |
*this and a scalar s | const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseInverse | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseMax | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
Output:
| EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseMin | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
Output:
| const CwiseBinaryOp<std::not_equal_to<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseNotEqual | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
Output:
| EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseQuotient | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
Output:
| const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseSqrt | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::det | ( | ) | const [inline] |
| internal::traits< Derived >::Scalar Eigen::MatrixBase::determinant | ( | ) | const [inline] |
| MatrixBase< Derived >::template DiagonalIndexReturnType< Index >::Type Eigen::MatrixBase::diagonal | ( | ) | [inline] |
*this *this is not required to be square.
Example:
Output:
*this *this is not required to be square.
The template parameter DiagIndex represent a super diagonal if DiagIndex > 0 and a sub diagonal otherwise. DiagIndex == 0 is equivalent to the main diagonal.
Example:
Output:
| MatrixBase< Derived >::template ConstDiagonalIndexReturnType< Index >::Type Eigen::MatrixBase::diagonal | ( | ) | const [inline] |
This is the const version of diagonal().
This is the const version of diagonal<int>().
Reimplemented in Eigen::CoeffBasedProduct, Eigen::CoeffBasedProduct, Eigen::ProductBase, and Eigen::ProductBase.
| DiagonalIndexReturnType<Index>::Type Eigen::MatrixBase::diagonal | ( | ) |
| ConstDiagonalIndexReturnType<Index>::Type Eigen::MatrixBase::diagonal | ( | ) | const |
Reimplemented in Eigen::CoeffBasedProduct, Eigen::CoeffBasedProduct, Eigen::ProductBase, and Eigen::ProductBase.
| MatrixBase< Derived >::template DiagonalIndexReturnType< Dynamic >::Type Eigen::MatrixBase::diagonal | ( | Index | index | ) | [inline] |
*this *this is not required to be square.
The template parameter DiagIndex represent a super diagonal if DiagIndex > 0 and a sub diagonal otherwise. DiagIndex == 0 is equivalent to the main diagonal.
Example:
Output:
| MatrixBase< Derived >::template ConstDiagonalIndexReturnType< Dynamic >::Type Eigen::MatrixBase::diagonal | ( | Index | index | ) | const [inline] |
This is the const version of diagonal(Index).
Reimplemented in Eigen::CoeffBasedProduct, and Eigen::ProductBase.
| Index Eigen::MatrixBase::diagonalSize | ( | ) | const [inline] |
| internal::scalar_product_traits< typename internal::traits< Derived >::Scalar, typename internal::traits< OtherDerived >::Scalar >::ReturnType Eigen::MatrixBase::dot | ( | const MatrixBase< OtherDerived > & | other | ) | const |
| EIGEN_STRONG_INLINE const Eigen::MatrixBase::EIGEN_CWISE_PRODUCT_RETURN_TYPE | ( | Derived | , |
| OtherDerived | |||
| ) | const [inline] |
Example:
Output:
| MatrixBase< Derived >::EigenvaluesReturnType Eigen::MatrixBase::eigenvalues | ( | ) | const [inline] |
Computes the eigenvalues of a matrix.
This function computes the eigenvalues with the help of the EigenSolver class (for real matrices) or the ComplexEigenSolver class (for complex matrices).
The eigenvalues are repeated according to their algebraic multiplicity, so there are as many eigenvalues as rows in the matrix.
The SelfAdjointView class provides a better algorithm for selfadjoint matrices.
Example:
Output:
Definition at line 81 of file Eigenvalues.
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenValues | ( | VECTOR & | eVals | ) | const [inline] |
[For square matrices only] Compute the eigenvectors and eigenvalues (sorted), and return only the eigenvalues in the vector "eVals".
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectors | ( | MATRIX1 & | eVecs, |
| MATRIX2 & | eVals | ||
| ) | const |
[For square matrices only] Compute the eigenvectors and eigenvalues (sorted), both returned as matrices: eigenvectors are the columns in "eVecs", and eigenvalues in ascending order as the diagonal of "eVals".
Compute the eigenvectors and eigenvalues, both returned as matrices: eigenvectors are the columns, and eigenvalues.
Definition at line 88 of file eigen_plugins_impl.h.
References eigenVectorsVec().
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectorsSymmetric | ( | MATRIX1 & | eVecs, |
| MATRIX2 & | eVals | ||
| ) | const |
[For symmetric matrices only] Compute the eigenvectors and eigenvalues (in no particular order), both returned as matrices: eigenvectors are the columns, and eigenvalues
Compute the eigenvectors and eigenvalues, both returned as matrices: eigenvectors are the columns, and eigenvalues.
Definition at line 127 of file eigen_plugins_impl.h.
References eigenVectorsSymmetricVec().
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectorsSymmetricVec | ( | MATRIX1 & | eVecs, |
| VECTOR1 & | eVals | ||
| ) | const |
[For symmetric matrices only] Compute the eigenvectors and eigenvalues (in no particular order), both returned as matrices: eigenvectors are the columns, and eigenvalues
Compute the eigenvectors and eigenvalues, both returned as matrices: eigenvectors are the columns, and eigenvalues.
Definition at line 140 of file eigen_plugins_impl.h.
References Eigen::SelfAdjointEigenSolver::eigenvectors(), and Eigen::SelfAdjointEigenSolver::eigenvalues().
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eigenVectorsVec | ( | MATRIX1 & | eVecs, |
| VECTOR1 & | eVals | ||
| ) | const |
[For square matrices only] Compute the eigenvectors and eigenvalues (sorted), eigenvectors are the columns in "eVecs", and eigenvalues are returned in in ascending order in the vector "eVals".
Compute the eigenvectors and eigenvalues, both returned as matrices: eigenvectors are the columns, and eigenvalues.
Definition at line 101 of file eigen_plugins_impl.h.
References Eigen::EigenSolver::eigenvectors(), and Eigen::EigenSolver::eigenvalues().
| EIGEN_STRONG_INLINE bool Eigen::MatrixBase::empty | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE iterator Eigen::MatrixBase::end | ( | ) | [inline] |
| EIGEN_STRONG_INLINE const_iterator Eigen::MatrixBase::end | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE const internal::eval<Derived>::type Eigen::DenseBase::eval | ( | ) | const [inline, inherited] |
| void Eigen::DenseBase::evalTo | ( | Dest & | ) | const [inline, inherited] |
| const MatrixExponentialReturnValue<Derived> Eigen::MatrixBase::exp | ( | ) | const |
| EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Exp | ( | ) | [inline] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Exp | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractCol | ( | size_t | nCol, |
| VECTOR & | v, | ||
| size_t | startingRow = 0 |
||
| ) | const [inline] |
| void Eigen::MatrixBase::extractCol | ( | size_t | nCol, |
| std::vector< T > & | v, | ||
| size_t | startingRow = 0 |
||
| ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractMatrix | ( | const size_t | firstRow, |
| const size_t | firstCol, | ||
| MATRIX & | m | ||
| ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractMatrix | ( | const size_t | firstRow, |
| const size_t | firstCol, | ||
| const size_t | nRows, | ||
| const size_t | nCols, | ||
| MATRIX & | m | ||
| ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractRow | ( | size_t | nRow, |
| Eigen::EigenBase< OtherDerived > & | v, | ||
| size_t | startingCol = 0 |
||
| ) | const [inline] |
| void Eigen::MatrixBase::extractRow | ( | size_t | nRow, |
| std::vector< T > & | v, | ||
| size_t | startingCol = 0 |
||
| ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractRowAsCol | ( | size_t | nRow, |
| VECTOR & | v, | ||
| size_t | startingCol = 0 |
||
| ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractSubmatrix | ( | const size_t | row_first, |
| const size_t | row_last, | ||
| const size_t | col_first, | ||
| const size_t | col_last, | ||
| MATRIX & | out | ||
| ) | const [inline] |
| void Eigen::MatrixBase::extractSubmatrixSymmetrical | ( | const std::vector< size_t > & | indices, |
| MATRIX & | out | ||
| ) | const [inline] |
Get a submatrix from a square matrix, by collecting the elements M(idxs,idxs), where idxs is the sequence of indices passed as argument.
A perfect application of this method is in extracting covariance matrices of a subset of variables from the full covariance matrix.
| void Eigen::MatrixBase::extractSubmatrixSymmetricalBlocks | ( | const size_t | block_size, |
| const std::vector< size_t > & | block_indices, | ||
| MATRIX & | out | ||
| ) | const [inline] |
Get a submatrix from a square matrix, by collecting the elements M(idxs,idxs), where idxs is a sequence {block_indices(i):block_indices(i)+block_size-1} for all "i" up to the size of block_indices.
A perfect application of this method is in extracting covariance matrices of a subset of variables from the full covariance matrix.
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::eye | ( | ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::fill | ( | const Scalar | v | ) | [inline] |
| void Eigen::DenseBase::fill | ( | const Scalar & | value | ) | [inherited] |
Alias for setConstant(): sets all coefficients in this expression to value.
| void Eigen::MatrixBase::find_index_max_value | ( | size_t & | u, |
| size_t & | v, | ||
| Scalar & | valMax | ||
| ) | const [inline] |
[VECTORS OR MATRICES] Finds the maximum value (and the corresponding zero-based index) from a given container.
| std::exception | On an empty input vector |
| const Flagged<Derived, Added, Removed> Eigen::DenseBase::flagged | ( | ) | const [inherited] |
This is mostly for internal use.
| const ForceAlignedAccess< Derived > Eigen::MatrixBase::forceAlignedAccess | ( | ) | const [inline] |
Reimplemented from Eigen::DenseBase< Derived >.
| ForceAlignedAccess< Derived > Eigen::MatrixBase::forceAlignedAccess | ( | ) | [inline] |
Reimplemented from Eigen::DenseBase< Derived >.
| internal::add_const_on_value_type< typename internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type >::type Eigen::MatrixBase::forceAlignedAccessIf | ( | ) | const [inline] |
Reimplemented from Eigen::DenseBase< Derived >.
| internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type Eigen::MatrixBase::forceAlignedAccessIf | ( | ) | [inline] |
Reimplemented from Eigen::DenseBase< Derived >.
| const WithFormat<Derived> Eigen::DenseBase::format | ( | const IOFormat & | fmt | ) | const [inline, inherited] |
See class IOFormat for some examples.
| bool Eigen::MatrixBase::fromMatlabStringFormat | ( | const std::string & | s, |
| bool | dumpErrorMsgToStdErr = true |
||
| ) |
Read a matrix from a string in Matlab-like format, for example "[1 0 2; 0 4 -1]" The string must start with '[' and end with ']'.
Rows are separated by semicolons ';' and columns in each row by one or more whitespaces ' ', commas ',' or tabs ''.
This format is also used for CConfigFile::read_matrix.
This template method can be instantiated for matrices of the types: int, long, unsinged int, unsigned long, float, double, long double
Definition at line 150 of file eigen_plugins_impl.h.
References Eigen::Dynamic, and end().
| const FullPivHouseholderQR< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::fullPivHouseholderQr | ( | ) | const |
*this.| const FullPivLU< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::fullPivLu | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::get_unsafe | ( | const size_t | row, |
| const size_t | col | ||
| ) | const [inline] |
Read-only access to one element (Use with caution, bounds are not checked!)
Definition at line 103 of file Core.
Referenced by mrpt::utils::CImage::setFromMatrix().
| EIGEN_STRONG_INLINE Scalar& Eigen::MatrixBase::get_unsafe | ( | const size_t | row, |
| const size_t | col | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE Scalar* Eigen::MatrixBase::get_unsafe_row | ( | size_t | row | ) | [inline] |
| EIGEN_STRONG_INLINE const Scalar* Eigen::MatrixBase::get_unsafe_row | ( | size_t | row | ) | const [inline] |
| EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::getColCount | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::getRowCount | ( | ) | const [inline] |
| SegmentReturnType Eigen::DenseBase::head | ( | Index | size | ) | [inherited] |
| size | the number of coefficients in the block |
Example:
Output:
| DenseBase::ConstSegmentReturnType Eigen::DenseBase::head | ( | Index | size | ) | const [inherited] |
This is the const version of head(Index).
| FixedSegmentReturnType<Size>::Type Eigen::DenseBase::head | ( | ) | [inherited] |
The template parameter Size is the number of coefficients in the block
Example:
Output:
| ConstFixedSegmentReturnType<Size>::Type Eigen::DenseBase::head | ( | ) | const [inherited] |
This is the const version of head<int>().
| const MatrixBase< Derived >::HNormalizedReturnType Eigen::MatrixBase::hnormalized | ( | ) | const [inline] |
*this Example:
Output:
| MatrixBase< Derived >::HomogeneousReturnType Eigen::MatrixBase::homogeneous | ( | ) | const [inline] |
Example:
Output:
| const HouseholderQR< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::householderQr | ( | ) | const |
*this.| NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::hypotNorm | ( | ) | const [inline] |
*this avoiding undeflow and overflow. This version use a concatenation of hypot() calls, and it is very slow.| EIGEN_STRONG_INLINE const MatrixBase< Derived >::IdentityReturnType Eigen::MatrixBase::Identity | ( | ) | [static] |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variant taking size arguments.
Example:
Output:
| EIGEN_STRONG_INLINE const MatrixBase< Derived >::IdentityReturnType Eigen::MatrixBase::Identity | ( | Index | rows, |
| Index | cols | ||
| ) | [static] |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Identity() should be used instead.
Example:
Output:
| const ImagReturnType Eigen::MatrixBase::imag | ( | ) | const [inline] |
| NonConstImagReturnType Eigen::MatrixBase::imag | ( | ) | [inline] |
| std::string Eigen::MatrixBase::inMatlabFormat | ( | const size_t | decimal_digits = 6 | ) | const |
Dump matrix in matlab format.
This template method can be instantiated for matrices of the types: int, long, unsinged int, unsigned long, float, double, long double
Definition at line 245 of file eigen_plugins_impl.h.
| Index Eigen::DenseBase::innerSize | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertCol | ( | size_t | nCol, |
| const MAT & | aCol | ||
| ) | [inline] |
| void Eigen::MatrixBase::insertCol | ( | size_t | nCol, |
| const std::vector< R > & | aCol | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertMatrix | ( | size_t | r, |
| size_t | c, | ||
| const MAT & | m | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertMatrixTranspose | ( | size_t | r, |
| size_t | c, | ||
| const MAT & | m | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertRow | ( | size_t | nRow, |
| const MAT & | aRow | ||
| ) | [inline] |
| void Eigen::MatrixBase::insertRow | ( | size_t | nRow, |
| const std::vector< R > & | aRow | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::inv | ( | ) | const [inline] |
Definition at line 493 of file Core.
Referenced by mrpt::math::operator!().
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::inv | ( | MATRIX & | outMat | ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::inv_fast | ( | MATRIX & | outMat | ) | const [inline] |
| const internal::inverse_impl< Derived > Eigen::MatrixBase::inverse | ( | ) | const [inline] |
For small fixed sizes up to 4x4, this method uses cofactors. In the general case, this method uses class PartialPivLU.
| bool Eigen::DenseBase::isApprox | ( | const DenseBase< OtherDerived > & | other, |
| RealScalar | prec = NumTraits<Scalar>::dummy_precision() |
||
| ) | const [inherited] |
true if *this is approximately equal to other, within the precision determined by prec.
and
are considered to be approximately equal within precision
if
*this is approximately equal to the zero matrix or vector. Indeed, isApprox(zero) returns false unless *this itself is exactly the zero matrix or vector. If you want to test whether *this is zero, use internal::isMuchSmallerThan(const RealScalar&, RealScalar) instead.| bool Eigen::DenseBase::isApproxToConstant | ( | const Scalar & | value, |
| RealScalar | prec = NumTraits<Scalar>::dummy_precision() |
||
| ) | const [inherited] |
| bool Eigen::DenseBase::isConstant | ( | const Scalar & | value, |
| RealScalar | prec = NumTraits<Scalar>::dummy_precision() |
||
| ) | const [inherited] |
This is just an alias for isApproxToConstant().
| bool Eigen::MatrixBase::isDiagonal | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
Example:
Output:
| EIGEN_STRONG_INLINE bool Eigen::MatrixBase::isDiagonal | ( | ) | const [inline] |
| bool Eigen::MatrixBase::isIdentity | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
Example:
Output:
| bool Eigen::MatrixBase::isLowerTriangular | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
| bool Eigen::DenseBase::isMuchSmallerThan | ( | const RealScalar & | other, |
| RealScalar | prec = NumTraits<Scalar>::dummy_precision() |
||
| ) | const [inherited] |
| bool Eigen::DenseBase::isMuchSmallerThan | ( | const DenseBase< OtherDerived > & | other, |
| RealScalar | prec = NumTraits<Scalar>::dummy_precision() |
||
| ) | const [inherited] |
true if the norm of *this is much smaller than the norm of other, within the precision determined by prec.
is considered to be much smaller than a vector
within precision
if
| bool Eigen::DenseBase::isOnes | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const [inherited] |
Example:
Output:
| bool Eigen::MatrixBase::isOrthogonal | ( | const MatrixBase< OtherDerived > & | other, |
| RealScalar | prec = NumTraits<Scalar>::dummy_precision() |
||
| ) | const |
| EIGEN_STRONG_INLINE bool Eigen::MatrixBase::isSingular | ( | const Scalar | absThreshold = 0 | ) | const [inline] |
| EIGEN_STRONG_INLINE bool Eigen::MatrixBase::isSquare | ( | ) | const [inline] |
| bool Eigen::MatrixBase::isUnitary | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
m.isUnitary() returns true if and only if the columns (equivalently, the rows) of m form an orthonormal basis.Example:
Output:
| bool Eigen::MatrixBase::isUpperTriangular | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
| bool Eigen::DenseBase::isZero | ( | RealScalar | prec = NumTraits<Scalar>::dummy_precision() | ) | const [inherited] |
Example:
Output:
| JacobiSVD< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::jacobiSvd | ( | unsigned int | computationOptions = 0 | ) | const |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::laplacian | ( | Eigen::MatrixBase< OtherDerived > & | ret | ) | const [inline] |
| const LazyProductReturnType< Derived, OtherDerived >::Type Eigen::MatrixBase::lazyProduct | ( | const MatrixBase< OtherDerived > & | other | ) | const |
*this and other without implicit evaluation.The returned product will behave like any other expressions: the coefficients of the product will be computed once at a time as requested. This might be useful in some extremely rare cases when only a small and no coherent fraction of the result's coefficients have to be computed.
| const LDLT< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::ldlt | ( | ) | const [inline] |
| ColsBlockXpr Eigen::DenseBase::leftCols | ( | Index | n | ) | [inline, inherited] |
| ConstColsBlockXpr Eigen::DenseBase::leftCols | ( | Index | n | ) | const [inline, inherited] |
| NColsBlockXpr<N>::Type Eigen::DenseBase::leftCols | ( | ) | [inline, inherited] |
| ConstNColsBlockXpr<N>::Type Eigen::DenseBase::leftCols | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::leftDivideSquare | ( | const MAT2 & | A, |
| MAT3 & | RES | ||
| ) | const [inline] |
Matrix left divide: RES = A-1 * this , with A being squared (using the Eigen::ColPivHouseholderQR method)
| static const SequentialLinSpacedReturnType Eigen::DenseBase::LinSpaced | ( | Sequential_t | , |
| Index | size, | ||
| const Scalar & | low, | ||
| const Scalar & | high | ||
| ) | [static, inherited] |
Sets a linearly space vector.
The function generates 'size' equally spaced values in the closed interval [low,high]. This particular version of LinSpaced() uses sequential access, i.e. vector access is assumed to be a(0), a(1), ..., a(size). This assumption allows for better vectorization and yields faster code than the random access version.
Example:
Output:
| static const RandomAccessLinSpacedReturnType Eigen::DenseBase::LinSpaced | ( | Index | size, |
| const Scalar & | low, | ||
| const Scalar & | high | ||
| ) | [static, inherited] |
Sets a linearly space vector.
The function generates 'size' equally spaced values in the closed interval [low,high].
Example:
Output:
| static const SequentialLinSpacedReturnType Eigen::DenseBase::LinSpaced | ( | Sequential_t | , |
| const Scalar & | low, | ||
| const Scalar & | high | ||
| ) | [static, inherited] |
| static const RandomAccessLinSpacedReturnType Eigen::DenseBase::LinSpaced | ( | const Scalar & | low, |
| const Scalar & | high | ||
| ) | [static, inherited] |
| const LLT< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::llt | ( | ) | const [inline] |
| void Eigen::MatrixBase::loadFromTextFile | ( | const std::string & | file | ) |
Load matrix from a text file, compatible with MATLAB text format.
Lines starting with '%' or '#' are interpreted as comments and ignored.
Definition at line 308 of file eigen_plugins_impl.h.
References loadFromTextFile().
| void Eigen::MatrixBase::loadFromTextFile | ( | std::istream & | _input_text_stream | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 316 of file eigen_plugins_impl.h.
References Eigen::Dynamic.
| const MatrixLogarithmReturnValue<Derived> Eigen::MatrixBase::log | ( | ) | const |
| EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Log | ( | ) | [inline] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Log | ( | ) | const [inline] |
| NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::lpNorm | ( | ) | const [inline] |
norm of *this, that is, returns the p-th root of the sum of the p-th powers of the absolute values of the coefficients of *this. If p is the special value Eigen::Infinity, this function returns the
norm, that is the maximum of the absolute values of the coefficients of *this.Reimplemented from Eigen::DenseBase< Derived >.
| const PartialPivLU< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::lu | ( | ) | const [inline] |
Synonym of partialPivLu().
*this.| void Eigen::MatrixBase::makeHouseholder | ( | EssentialPart & | essential, |
| Scalar & | tau, | ||
| RealScalar & | beta | ||
| ) | const |
Computes the elementary reflector H such that:
where the transformation H is:
and the vector v is:
.
On output:
| essential | the essential part of the vector v |
| tau | the scaling factor of the householder transformation |
| beta | the result of H * *this |
Definition at line 63 of file Householder.
| void Eigen::MatrixBase::makeHouseholderInPlace | ( | Scalar & | tau, |
| RealScalar & | beta | ||
| ) |
Definition at line 40 of file Householder.
| MatrixBase<Derived>& Eigen::MatrixBase::matrix | ( | ) | [inline] |
| const MatrixBase<Derived>& Eigen::MatrixBase::matrix | ( | ) | const [inline] |
| const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::matrixFunction | ( | StemFunction | f | ) | const |
| internal::traits<Derived>::Scalar Eigen::DenseBase::maxCoeff | ( | ) | const [inherited] |
| internal::traits<Derived>::Scalar Eigen::DenseBase::maxCoeff | ( | IndexType * | row, |
| IndexType * | col | ||
| ) | const [inherited] |
| internal::traits<Derived>::Scalar Eigen::DenseBase::maxCoeff | ( | IndexType * | index | ) | const [inherited] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::maximum | ( | ) | const [inline] |
[VECTORS OR MATRICES] Finds the maximum value
| std::exception | On an empty input container |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::maximum | ( | size_t * | maxIndex | ) | const [inline] |
[VECTORS ONLY] Finds the maximum value (and the corresponding zero-based index) from a given container.
| std::exception | On an empty input vector |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::maximumDiagonal | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE double Eigen::MatrixBase::mean | ( | ) | const [inline] |
Computes the mean of the entire matrix.
Reimplemented from Eigen::DenseBase< Derived >.
| void Eigen::MatrixBase::meanAndStd | ( | VEC & | outMeanVector, |
| VEC & | outStdVector, | ||
| const bool | unbiased_variance = true |
||
| ) | const [inline] |
Computes a row with the mean values of each column in the matrix and the associated vector with the standard deviation of each column.
| std::exception | If the matrix/vector is empty. |
| unbiased_variance | Standard deviation is sum(vals-mean)/K, with K=N-1 or N for unbiased_variance=true or false, respectively. |
| void Eigen::MatrixBase::meanAndStdAll | ( | double & | outMean, |
| double & | outStd, | ||
| const bool | unbiased_variance = true |
||
| ) | const [inline] |
Computes the mean and standard deviation of all the elements in the matrix as a whole.
| std::exception | If the matrix/vector is empty. |
| unbiased_variance | Standard deviation is sum(vals-mean)/K, with K=N-1 or N for unbiased_variance=true or false, respectively. |
| NColsBlockXpr<N>::Type Eigen::DenseBase::middleCols | ( | Index | startCol | ) | [inline, inherited] |
| ConstNColsBlockXpr<N>::Type Eigen::DenseBase::middleCols | ( | Index | startCol | ) | const [inline, inherited] |
| NRowsBlockXpr<N>::Type Eigen::DenseBase::middleRows | ( | Index | startRow | ) | [inline, inherited] |
| ConstNRowsBlockXpr<N>::Type Eigen::DenseBase::middleRows | ( | Index | startRow | ) | const [inline, inherited] |
| internal::traits<Derived>::Scalar Eigen::DenseBase::minCoeff | ( | ) | const [inherited] |
| internal::traits<Derived>::Scalar Eigen::DenseBase::minCoeff | ( | IndexType * | row, |
| IndexType * | col | ||
| ) | const [inherited] |
| internal::traits<Derived>::Scalar Eigen::DenseBase::minCoeff | ( | IndexType * | index | ) | const [inherited] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::minimum | ( | ) | const [inline] |
[VECTORS OR MATRICES] Finds the minimum value
| std::exception | On an empty input container |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::minimum | ( | size_t * | minIndex | ) | const [inline] |
[VECTORS ONLY] Finds the minimum value (and the corresponding zero-based index) from a given container.
| std::exception | On an empty input vector |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::minimum_maximum | ( | Scalar & | out_min, |
| Scalar & | out_max | ||
| ) | const [inline] |
[VECTORS OR MATRICES] Compute the minimum and maximum of a container at once
| std::exception | On an empty input container |
Definition at line 213 of file Core.
Referenced by mrpt::math::minimum_maximum().
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::minimum_maximum | ( | Scalar & | out_min, |
| Scalar & | out_max, | ||
| size_t * | minIndex, | ||
| size_t * | maxIndex | ||
| ) | const [inline] |
[VECTORS ONLY] Compute the minimum and maximum of a container at once
| std::exception | On an empty input vector |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply | ( | const MATRIX1 & | A, |
| const MATRIX2 & | B | ||
| ) | [inline] |
| void Eigen::MatrixBase::multiply_A_skew3 | ( | const MAT_A & | A, |
| const SKEW_3VECTOR & | v | ||
| ) | [inline] |
this = A * skew(v), with v being a 3-vector (or 3-array) and skew(v) the skew symmetric matrix of v (see mrpt::math::skew_symmetric3)
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AAt | ( | const MAT_A & | A | ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AAt_scalar | ( | const MAT_A & | A, |
| typename MAT_A::value_type | f | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AB | ( | const MATRIX1 & | A, |
| const MATRIX2 & | B | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_Ab | ( | const OTHERVECTOR1 & | vIn, |
| OTHERVECTOR2 & | vOut, | ||
| bool | accumToOutput = false |
||
| ) | const [inline] |
| void Eigen::MatrixBase::multiply_ABC | ( | const MAT_A & | A, |
| const MAT_B & | B, | ||
| const MAT_C & | C | ||
| ) | [inline] |
| void Eigen::MatrixBase::multiply_ABCt | ( | const MAT_A & | A, |
| const MAT_B & | B, | ||
| const MAT_C & | C | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_ABt | ( | const MAT_A & | A, |
| const MAT_B & | B | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AtA | ( | const MAT_A & | A | ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AtA_scalar | ( | const MAT_A & | A, |
| typename MAT_A::value_type | f | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AtB | ( | const MATRIX1 & | A, |
| const MATRIX2 & | B | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_Atb | ( | const OTHERVECTOR1 & | vIn, |
| OTHERVECTOR2 & | vOut, | ||
| bool | accumToOutput = false |
||
| ) | const [inline] |
| void Eigen::MatrixBase::multiply_AtBC | ( | const MAT_A & | A, |
| const MAT_B & | B, | ||
| const MAT_C & | C | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_HCHt | ( | const MAT_C & | C, |
| MAT_R & | R, | ||
| bool | accumResultInOutput = false |
||
| ) | const [inline] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::multiply_HCHt_scalar | ( | const MAT_C & | C | ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_HtCH | ( | const MAT_C & | C, |
| MAT_R & | R, | ||
| bool | accumResultInOutput = false |
||
| ) | const [inline] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::multiply_HtCH_scalar | ( | const MAT_C & | C | ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_result_is_symmetric | ( | const MAT_A & | A, |
| const MAT_B & | B | ||
| ) | [inline] |
| void Eigen::MatrixBase::multiply_skew3_A | ( | const SKEW_3VECTOR & | v, |
| const MAT_A & | A | ||
| ) | [inline] |
this = skew(v)*A, with v being a 3-vector (or 3-array) and skew(v) the skew symmetric matrix of v (see mrpt::math::skew_symmetric3)
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_subMatrix | ( | const MAT_A & | A, |
| MAT_OUT & | outResult, | ||
| const size_t | A_cols_offset, | ||
| const size_t | A_rows_offset, | ||
| const size_t | A_col_count | ||
| ) | const [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiplyColumnByScalar | ( | size_t | c, |
| Scalar | s | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiplyRowByScalar | ( | size_t | r, |
| Scalar | s | ||
| ) | [inline] |
| const NestByValue<Derived> Eigen::DenseBase::nestByValue | ( | ) | const [inline, inherited] |
| NoAlias< Derived, MatrixBase > Eigen::MatrixBase::noalias | ( | ) |
*this with an operator= assuming no aliasing between *this and the source expression.More precisely, noalias() allows to bypass the EvalBeforeAssignBit flag. Currently, even though several expressions may alias, only product expressions have this flag. Therefore, noalias() is only usefull when the source expression contains a matrix product.
Here are some examples where noalias is usefull:
D.noalias() = A * B; D.noalias() += A.transpose() * B; D.noalias() -= 2 * A * B.adjoint();
On the other hand the following example will lead to a wrong result:
A.noalias() = A * B;
because the result matrix A is also an operand of the matrix product. Therefore, there is no alternative than evaluating A * B in a temporary, that is the default behavior when you write:
A = A * B;
| Index Eigen::DenseBase::nonZeros | ( | ) | const [inline, inherited] |
| NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::norm | ( | ) | const [inline] |
*this, and for matrices the Frobenius norm. In both cases, it consists in the square root of the sum of the square of all the matrix entries. For vectors, this is also equals to the square root of the dot product of *this with itself.| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::norm_inf | ( | ) | const [inline] |
| void Eigen::MatrixBase::normalize | ( | ) | [inline] |
| const MatrixBase< Derived >::PlainObject Eigen::MatrixBase::normalized | ( | ) | const [inline] |
| static const CwiseNullaryOp<CustomNullaryOp, Derived> Eigen::DenseBase::NullaryExpr | ( | Index | rows, |
| Index | cols, | ||
| const CustomNullaryOp & | func | ||
| ) | [static, inherited] |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Zero() should be used instead.
The template parameter CustomNullaryOp is the type of the functor.
| static const CwiseNullaryOp<CustomNullaryOp, Derived> Eigen::DenseBase::NullaryExpr | ( | Index | size, |
| const CustomNullaryOp & | func | ||
| ) | [static, inherited] |
The parameter size is the size of the returned vector. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Zero() should be used instead.
The template parameter CustomNullaryOp is the type of the functor.
| static const CwiseNullaryOp<CustomNullaryOp, Derived> Eigen::DenseBase::NullaryExpr | ( | const CustomNullaryOp & | func | ) | [static, inherited] |
This variant is only for fixed-size DenseBase types. For dynamic-size types, you need to use the variants taking size arguments.
The template parameter CustomNullaryOp is the type of the functor.
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::ones | ( | const size_t | row, |
| const size_t | col | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::ones | ( | ) | [inline] |
| static const ConstantReturnType Eigen::DenseBase::Ones | ( | Index | rows, |
| Index | cols | ||
| ) | [static, inherited] |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Ones() should be used instead.
Example:
Output:
| static const ConstantReturnType Eigen::DenseBase::Ones | ( | Index | size | ) | [static, inherited] |
The parameter size is the size of the returned vector. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Ones() should be used instead.
Example:
Output:
| static const ConstantReturnType Eigen::DenseBase::Ones | ( | ) | [static, inherited] |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variants taking size arguments.
Example:
Output:
| bool Eigen::MatrixBase::operator!= | ( | const MatrixBase< OtherDerived > & | other | ) | const [inline] |
*this and other are not exactly equal to each other. | const ScalarMultipleReturnType Eigen::MatrixBase::operator* | ( | const Scalar & | scalar | ) | const [inline] |
| const ScalarMultipleReturnType Eigen::MatrixBase::operator* | ( | const RealScalar & | scalar | ) | const |
| const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived> Eigen::MatrixBase::operator* | ( | const std::complex< Scalar > & | scalar | ) | const [inline] |
| const ProductReturnType< Derived, OtherDerived >::Type Eigen::MatrixBase::operator* | ( | const MatrixBase< OtherDerived > & | other | ) | const [inline] |
*this and other.| const DiagonalProduct< Derived, DiagonalDerived, OnTheRight > Eigen::MatrixBase::operator* | ( | const DiagonalBase< DiagonalDerived > & | diagonal | ) | const [inline] |
| MatrixBase< Derived >::ScalarMultipleReturnType Eigen::MatrixBase::operator* | ( | const UniformScaling< Scalar > & | s | ) | const |
| Derived & Eigen::MatrixBase::operator*= | ( | const EigenBase< OtherDerived > & | other | ) | [inline] |
| Derived& Eigen::DenseBase::operator*= | ( | const Scalar & | other | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase::operator+= | ( | const MatrixBase< OtherDerived > & | other | ) |
| Derived& Eigen::DenseBase::operator+= | ( | const EigenBase< OtherDerived > & | other | ) | [inherited] |
| Derived& Eigen::MatrixBase::operator+= | ( | const ArrayBase< OtherDerived > & | ) | [inline, protected] |
| const CwiseUnaryOp<internal::scalar_opposite_op<typename internal::traits<Derived>::Scalar>, const Derived> Eigen::MatrixBase::operator- | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase::operator-= | ( | const MatrixBase< OtherDerived > & | other | ) |
| Derived& Eigen::DenseBase::operator-= | ( | const EigenBase< OtherDerived > & | other | ) | [inherited] |
| Derived& Eigen::MatrixBase::operator-= | ( | const ArrayBase< OtherDerived > & | ) | [inline, protected] |
| const CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>, const Derived> Eigen::MatrixBase::operator/ | ( | const Scalar & | scalar | ) | const [inline] |
| Derived& Eigen::DenseBase::operator/= | ( | const Scalar & | other | ) | [inline, inherited] |
| CommaInitializer<Derived> Eigen::DenseBase::operator<< | ( | const Scalar & | s | ) | [inherited] |
| CommaInitializer<Derived> Eigen::DenseBase::operator<< | ( | const DenseBase< OtherDerived > & | other | ) | [inherited] |
| Derived& Eigen::MatrixBase::operator= | ( | const MatrixBase & | other | ) |
Special case of the template operator=, in order to prevent the compiler from generating a default operator= (issue hit with g++ 4.1)
| Derived& Eigen::MatrixBase::operator= | ( | const DenseBase< OtherDerived > & | other | ) |
Copies other into *this.
Reimplemented from Eigen::DenseBase< Derived >.
| Derived& Eigen::MatrixBase::operator= | ( | const EigenBase< OtherDerived > & | other | ) |
Reimplemented from Eigen::DenseBase< Derived >.
| Derived& Eigen::MatrixBase::operator= | ( | const ReturnByValue< OtherDerived > & | other | ) |
Reimplemented from Eigen::DenseBase< Derived >.
| bool Eigen::MatrixBase::operator== | ( | const MatrixBase< OtherDerived > & | other | ) | const [inline] |
*this and other are all exactly equal. | MatrixBase<Derived>& Eigen::MatrixBase::operator^= | ( | const unsigned int | pow | ) | [inline] |
| MatrixBase< Derived >::RealScalar Eigen::MatrixBase::operatorNorm | ( | ) | const [inline] |
Computes the L2 operator norm.
This function computes the L2 operator norm of a matrix, which is also known as the spectral norm. The norm of a matrix
is defined to be
where the maximum is over all vectors and the norm on the right is the Euclidean vector norm. The norm equals the largest singular value, which is the square root of the largest eigenvalue of the positive semi-definite matrix
.
The current implementation uses the eigenvalues of
, as computed by SelfAdjointView::eigenvalues(), to compute the operator norm of a matrix. The SelfAdjointView class provides a better algorithm for selfadjoint matrices.
Example:
Output:
Definition at line 136 of file Eigenvalues.
| Index Eigen::DenseBase::outerSize | ( | ) | const [inline, inherited] |
rows()==1 || cols()==1
| const PartialPivLU< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::partialPivLu | ( | ) | const [inline] |
*this.| Scalar Eigen::DenseBase::prod | ( | ) | const [inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::push_back | ( | Scalar | val | ) | [inline] |
| static const CwiseNullaryOp<internal::scalar_random_op<Scalar>,Derived> Eigen::DenseBase::Random | ( | Index | rows, |
| Index | cols | ||
| ) | [static, inherited] |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Random() should be used instead.
Example:
Output:
This expression has the "evaluate before nesting" flag so that it will be evaluated into a temporary matrix whenever it is nested in a larger expression. This prevents unexpected behavior with expressions involving random matrices.
| static const CwiseNullaryOp<internal::scalar_random_op<Scalar>,Derived> Eigen::DenseBase::Random | ( | Index | size | ) | [static, inherited] |
The parameter size is the size of the returned vector. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Random() should be used instead.
Example:
Output:
This expression has the "evaluate before nesting" flag so that it will be evaluated into a temporary vector whenever it is nested in a larger expression. This prevents unexpected behavior with expressions involving random matrices.
| static const CwiseNullaryOp<internal::scalar_random_op<Scalar>,Derived> Eigen::DenseBase::Random | ( | ) | [static, inherited] |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variants taking size arguments.
Example:
Output:
This expression has the "evaluate before nesting" flag so that it will be evaluated into a temporary matrix whenever it is nested in a larger expression. This prevents unexpected behavior with expressions involving random matrices.
| EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::rank | ( | double | threshold = 0 | ) | const [inline] |
Gets the rank of the matrix via the Eigen::ColPivHouseholderQR method.
| threshold | If set to >0, it's used as threshold instead of Eigen's default one. |
| RealReturnType Eigen::MatrixBase::real | ( | ) | const [inline] |
| NonConstRealReturnType Eigen::MatrixBase::real | ( | ) | [inline] |
| internal::result_of<BinaryOp(typename internal::traits<Derived>::Scalar)>::type Eigen::DenseBase::redux | ( | const BinaryOp & | func | ) | const [inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::removeColumns | ( | const std::vector< size_t > & | idxsToRemove | ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::removeRows | ( | const std::vector< size_t > & | idxsToRemove | ) | [inline] |
| const Replicate<Derived,RowFactor,ColFactor> Eigen::DenseBase::replicate | ( | ) | const [inherited] |
*this Example:
Output:
| const Replicate<Derived,Dynamic,Dynamic> Eigen::DenseBase::replicate | ( | Index | rowFacor, |
| Index | colFactor | ||
| ) | const [inherited] |
*this Example:
Output:
| void Eigen::DenseBase::resize | ( | Index | size | ) | [inline, inherited] |
| ReverseReturnType Eigen::DenseBase::reverse | ( | ) | [inherited] |
Example:
Output:
| ConstReverseReturnType Eigen::DenseBase::reverse | ( | ) | const [inherited] |
This is the const version of reverse().
| void Eigen::DenseBase::reverseInPlace | ( | ) | [inherited] |
This is the "in place" version of reverse: it reverses *this.
In most cases it is probably better to simply use the reversed expression of a matrix. However, when reversing the matrix data itself is really needed, then this "in-place" version is probably the right choice because it provides the following additional features:
m = m.reverse().eval();
| ColsBlockXpr Eigen::DenseBase::rightCols | ( | Index | n | ) | [inline, inherited] |
| ConstColsBlockXpr Eigen::DenseBase::rightCols | ( | Index | n | ) | const [inline, inherited] |
| NColsBlockXpr<N>::Type Eigen::DenseBase::rightCols | ( | ) | [inline, inherited] |
| ConstNColsBlockXpr<N>::Type Eigen::DenseBase::rightCols | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::rightDivideSquare | ( | const MAT2 & | B, |
| MAT3 & | RES | ||
| ) | const [inline] |
Matrix right divide: RES = this * B-1, with B being squared (using the Eigen::ColPivHouseholderQR method)
| RowXpr Eigen::DenseBase::row | ( | Index | i | ) | [inline, inherited] |
| ConstRowXpr Eigen::DenseBase::row | ( | Index | i | ) | const [inline, inherited] |
| ConstRowwiseReturnType Eigen::DenseBase::rowwise | ( | ) | const [inherited] |
Example:
Output:
| RowwiseReturnType Eigen::DenseBase::rowwise | ( | ) | [inherited] |
| void Eigen::MatrixBase::saveToTextFile | ( | const std::string & | file, |
| mrpt::math::TMatrixTextFileFormat | fileFormat = mrpt::math::MATRIX_FORMAT_ENG, |
||
| bool | appendMRPTHeader = false, |
||
| const std::string & | userHeader = std::string() |
||
| ) | const |
Save matrix to a text file, compatible with MATLAB text format (see also the methods of matrix classes themselves).
| theMatrix | It can be a CMatrixTemplate or a CMatrixFixedNumeric. |
| file | The target filename. |
| fileFormat | See TMatrixTextFileFormat. The format of the numbers in the text file. |
| appendMRPTHeader | Insert this header to the file "% File generated by MRPT. Load with MATLAB with: VAR=load(FILENAME);" |
| userHeader | Additional text to be written at the head of the file. Typically MALAB comments "% This file blah blah". Final end-of-line is not needed. |
Definition at line 261 of file eigen_plugins_impl.h.
References mrpt::system::os::fopen(), mrpt::system::os::fprintf(), mrpt::system::MRPT_getVersion(), mrpt::math::MATRIX_FORMAT_ENG, mrpt::math::MATRIX_FORMAT_FIXED, mrpt::math::MATRIX_FORMAT_INT, and mrpt::system::os::fclose().
Referenced by mrpt::system::vectorToTextFile().
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::scalarPow | ( | const Scalar | s | ) | [inline] |
| SegmentReturnType Eigen::DenseBase::segment | ( | Index | start, |
| Index | size | ||
| ) | [inherited] |
| start | the first coefficient in the segment |
| size | the number of coefficients in the segment |
Example:
Output:
| DenseBase::ConstSegmentReturnType Eigen::DenseBase::segment | ( | Index | start, |
| Index | size | ||
| ) | const [inherited] |
This is the const version of segment(Index,Index).
| FixedSegmentReturnType<Size>::Type Eigen::DenseBase::segment | ( | Index | start | ) | [inherited] |
*this The template parameter Size is the number of coefficients in the block
| start | the index of the first element of the sub-vector |
Example:
Output:
| ConstFixedSegmentReturnType<Size>::Type Eigen::DenseBase::segment | ( | Index | start | ) | const [inherited] |
This is the const version of segment<int>(Index).
| const Select<Derived,ThenDerived,ElseDerived> Eigen::DenseBase::select | ( | const DenseBase< ThenDerived > & | thenMatrix, |
| const DenseBase< ElseDerived > & | elseMatrix | ||
| ) | const [inherited] |
*this(i,j), and elseMatrix(i,j) otherwise.Example:
Output:
| const Select<Derived,ThenDerived, typename ThenDerived::ConstantReturnType> Eigen::DenseBase::select | ( | const DenseBase< ThenDerived > & | thenMatrix, |
| typename ThenDerived::Scalar | elseScalar | ||
| ) | const [inline, inherited] |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the else expression being a scalar value.
| const Select<Derived, typename ElseDerived::ConstantReturnType, ElseDerived > Eigen::DenseBase::select | ( | typename ElseDerived::Scalar | thenScalar, |
| const DenseBase< ElseDerived > & | elseMatrix | ||
| ) | const [inline, inherited] |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the then expression being a scalar value.
| MatrixBase< Derived >::template SelfAdjointViewReturnType< UpLo >::Type Eigen::MatrixBase::selfadjointView | ( | ) |
| MatrixBase< Derived >::template ConstSelfAdjointViewReturnType< UpLo >::Type Eigen::MatrixBase::selfadjointView | ( | ) | const |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::set_unsafe | ( | const size_t | row, |
| const size_t | col, | ||
| const Scalar | val | ||
| ) | [inline] |
| Derived& Eigen::DenseBase::setConstant | ( | const Scalar & | value | ) | [inherited] |
Sets all coefficients in this expression to value.
| EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase::setIdentity | ( | ) |
Writes the identity expression (not necessarily square) into *this.
Example:
Output:
Resizes to the given size, and writes the identity expression (not necessarily square) into *this.
| rows | the new number of rows |
| cols | the new number of columns |
Example:
Output:
| Derived& Eigen::DenseBase::setLinSpaced | ( | Index | size, |
| const Scalar & | low, | ||
| const Scalar & | high | ||
| ) | [inherited] |
Sets a linearly space vector.
The function generates 'size' equally spaced values in the closed interval [low,high].
Example:
Output:
| Derived& Eigen::DenseBase::setOnes | ( | ) | [inherited] |
Sets all coefficients in this expression to one.
Example:
Output:
| Derived& Eigen::DenseBase::setRandom | ( | ) | [inherited] |
Sets all coefficients in this expression to random values.
Example:
Output:
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::setSize | ( | size_t | row, |
| size_t | col | ||
| ) | [inline] |
| Derived& Eigen::DenseBase::setZero | ( | ) | [inherited] |
Sets all coefficients in this expression to zero.
Example:
Output:
| const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::sin | ( | ) | const |
| const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::sinh | ( | ) | const |
| const MatrixSquareRootReturnValue<Derived> Eigen::MatrixBase::sqrt | ( | ) | const |
| EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Sqrt | ( | ) | [inline] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Sqrt | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Square | ( | ) | [inline] |
| EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Square | ( | ) | const [inline] |
| EIGEN_STRONG_INLINE NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::squaredNorm | ( | ) | const |
*this, and for matrices the Frobenius norm. In both cases, it consists in the sum of the square of all the matrix entries. For vectors, this is also equals to the dot product of *this with itself.| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::squareNorm | ( | ) | const [inline] |
| NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::stableNorm | ( | ) | const [inline] |
*this avoiding underflow and overflow. This version use a blockwise two passes algorithm: 1 - find the absolute largest coefficient s 2 - compute
in a standard wayFor architecture/scalar types supporting vectorization, this version is faster than blueNorm(). Otherwise the blueNorm() is much faster.
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_AAt | ( | const OTHERMATRIX & | A | ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_Ac | ( | const OTHERMATRIX & | m, |
| const Scalar | c | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_An | ( | const OTHERMATRIX & | m, |
| const size_t | n | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_At | ( | const OTHERMATRIX & | m | ) | [inline] |
| Scalar Eigen::DenseBase::sum | ( | ) | const [inherited] |
| EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::sumAll | ( | ) | const [inline] |
| void Eigen::DenseBase::swap | ( | const DenseBase< OtherDerived > & | other, |
| int | = OtherDerived::ThisConstantIsPrivateInPlainObjectBase |
||
| ) | [inline, inherited] |
| void Eigen::DenseBase::swap | ( | PlainObjectBase< OtherDerived > & | other | ) | [inline, inherited] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::swapCols | ( | size_t | i1, |
| size_t | i2 | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::swapRows | ( | size_t | i1, |
| size_t | i2 | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE const AdjointReturnType Eigen::MatrixBase::t | ( | ) | const [inline] |
| SegmentReturnType Eigen::DenseBase::tail | ( | Index | size | ) | [inherited] |
| size | the number of coefficients in the block |
Example:
Output:
| DenseBase::ConstSegmentReturnType Eigen::DenseBase::tail | ( | Index | size | ) | const [inherited] |
This is the const version of tail(Index).
| FixedSegmentReturnType<Size>::Type Eigen::DenseBase::tail | ( | ) | [inherited] |
The template parameter Size is the number of coefficients in the block
Example:
Output:
| ConstFixedSegmentReturnType<Size>::Type Eigen::DenseBase::tail | ( | ) | const [inherited] |
This is the const version of tail<int>.
| Block<Derived, CRows, CCols> Eigen::DenseBase::topLeftCorner | ( | ) | [inline, inherited] |
| const Block<const Derived, CRows, CCols> Eigen::DenseBase::topLeftCorner | ( | ) | const [inline, inherited] |
| Block<Derived, CRows, CCols> Eigen::DenseBase::topRightCorner | ( | ) | [inline, inherited] |
| const Block<const Derived, CRows, CCols> Eigen::DenseBase::topRightCorner | ( | ) | const [inline, inherited] |
| RowsBlockXpr Eigen::DenseBase::topRows | ( | Index | n | ) | [inline, inherited] |
| ConstRowsBlockXpr Eigen::DenseBase::topRows | ( | Index | n | ) | const [inline, inherited] |
| NRowsBlockXpr<N>::Type Eigen::DenseBase::topRows | ( | ) | [inline, inherited] |
| ConstNRowsBlockXpr<N>::Type Eigen::DenseBase::topRows | ( | ) | const [inline, inherited] |
| EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::MatrixBase::trace | ( | ) | const |
*this, i.e. the sum of the coefficients on the main diagonal.*this can be any matrix, not necessarily square.
Reimplemented from Eigen::DenseBase< Derived >.
| Eigen::Transpose<Derived> Eigen::DenseBase::transpose | ( | ) | [inherited] |
Example:
Output:
m = m.transpose(); // bug!!! caused by aliasing effect
m.transposeInPlace();
m = m.transpose().eval();
| ConstTransposeReturnType Eigen::DenseBase::transpose | ( | ) | const [inherited] |
This is the const version of transpose().
Make sure you read the warning for transpose() !
| void Eigen::DenseBase::transposeInPlace | ( | ) | [inherited] |
This is the "in place" version of transpose(): it replaces *this by its own transpose.
Thus, doing
m.transposeInPlace();
has the same effect on m as doing
m = m.transpose().eval();
and is faster and also safer because in the latter line of code, forgetting the eval() results in a bug caused by aliasing.
Notice however that this method is only useful if you want to replace a matrix by its own transpose. If you just need the transpose of a matrix, use transpose().
*this must be a resizable matrix.| MatrixBase< Derived >::template TriangularViewReturnType< Mode >::Type Eigen::MatrixBase::triangularView | ( | ) |
The parameter Mode can have the following values: Upper, StrictlyUpper, UnitUpper, Lower, StrictlyLower, UnitLower.
Example:
Output:
| MatrixBase< Derived >::template ConstTriangularViewReturnType< Mode >::Type Eigen::MatrixBase::triangularView | ( | ) | const |
This is the const version of MatrixBase::triangularView()
| const CwiseUnaryOp<CustomUnaryOp, const Derived> Eigen::MatrixBase::unaryExpr | ( | const CustomUnaryOp & | func = CustomUnaryOp() | ) | const [inline] |
Apply a unary operator coefficient-wise.
| [in] | func | Functor implementing the unary operator |
| CustomUnaryOp | Type of func |
The function ptr_fun() from the C++ standard library can be used to make functors out of normal functions.
Example:
Output:
Genuine functors allow for more possibilities, for instance it may contain a state.
Example:
Output:
| const CwiseUnaryView<CustomViewOp, const Derived> Eigen::MatrixBase::unaryViewExpr | ( | const CustomViewOp & | func = CustomViewOp() | ) | const [inline] |
The template parameter CustomUnaryOp is the type of the functor of the custom unary operator.
Example:
Output:
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::unit | ( | const size_t | nRows, |
| const Scalar | diag_vals | ||
| ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::unit | ( | ) | [inline] |
| EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::Unit | ( | Index | size, |
| Index | i | ||
| ) | [static] |
| EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::Unit | ( | Index | i | ) | [static] |
This variant is for fixed-size vector only.
| MatrixBase< Derived >::PlainObject Eigen::MatrixBase::unitOrthogonal | ( | void | ) | const |
*this The size of *this must be at least 2. If the size is exactly 2, then the returned vector is a counter clock wise rotation of *this, i.e., (-y,x).normalized().
| EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::UnitW | ( | ) | [static] |
| EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::UnitX | ( | ) | [static] |
| EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::UnitY | ( | ) | [static] |
| EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::UnitZ | ( | ) | [static] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::unsafeRemoveColumns | ( | const std::vector< size_t > & | idxs | ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::unsafeRemoveRows | ( | const std::vector< size_t > & | idxs | ) | [inline] |
| CoeffReturnType Eigen::DenseBase::value | ( | void | ) | const [inline, inherited] |
| void Eigen::DenseBase::visit | ( | Visitor & | func | ) | const [inherited] |
Applies the visitor visitor to the whole coefficients of the matrix or vector.
The template parameter Visitor is the type of the visitor and provides the following interface:
struct MyVisitor { // called for the first coefficient void init(const Scalar& value, Index i, Index j); // called for all other coefficients void operator() (const Scalar& value, Index i, Index j); };
| static const ConstantReturnType Eigen::DenseBase::Zero | ( | Index | rows, |
| Index | cols | ||
| ) | [static, inherited] |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Zero() should be used instead.
Example:
Output:
| static const ConstantReturnType Eigen::DenseBase::Zero | ( | Index | size | ) | [static, inherited] |
The parameter size is the size of the returned vector. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Zero() should be used instead.
Example:
Output:
| static const ConstantReturnType Eigen::DenseBase::Zero | ( | ) | [static, inherited] |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variants taking size arguments.
Example:
Output:
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::zeros | ( | ) | [inline] |
| EIGEN_STRONG_INLINE void Eigen::MatrixBase::zeros | ( | const size_t | row, |
| const size_t | col | ||
| ) | [inline] |
| const ScalarMultipleReturnType operator* | ( | const Scalar & | scalar, |
| const StorageBaseType & | matrix | ||
| ) | [friend] |
| const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived> operator* | ( | const std::complex< Scalar > & | scalar, |
| const StorageBaseType & | matrix | ||
| ) | [friend] |
| Page generated by Doxygen 1.7.5 for MRPT 0.9.5 SVN: at Thu Oct 13 21:25:36 UTC 2011 |