Main MRPT website > C++ reference
MRPT logo
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Friends
Eigen::MatrixBase Class Reference

Detailed Description

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.

Template Parameters:
Derivedis 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.

See also:
TopicClassHierarchy
Inheritance diagram for Eigen::MatrixBase:
Inheritance graph
[legend]

List of all members.

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< PlainObjectfullPivLu () const
 
const PartialPivLU< PlainObjectpartialPivLu () const
 
const PartialPivLU< PlainObjectlu () 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< PlainObjectllt () const
 
const LDLT< PlainObjectldlt () const
 
const HouseholderQR< PlainObjecthouseholderQr () 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< PlainObjectjacobiSvd (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: $ H *this = [ beta 0 ... 0]^T $ where the transformation H is: $ H = I - tau v v^*$ and the vector v is: $ v^T = [1 essential^T] $.
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 $ B = \left ( \begin{array}{cc} \text{*this.row}(p) \\ \text{*this.row}(q) \end{array} \right ) $.
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 $ B = \left ( \begin{array}{cc} \text{*this.col}(p) & \text{*this.col}(q) \end{array} \right ) $.
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 Scalarget_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 Scalarget_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 Scalarget_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

Exceptions:
std::exceptionOn an empty input container

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 Scalariterator
typedef const Scalarconst_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

Member Typedef Documentation

typedef DenseCoeffsBase<Derived> Eigen::DenseBase::Base [inherited]

Definition at line 71 of file Core.

typedef Base::CoeffReturnType Eigen::DenseBase::CoeffReturnType [inherited]

Definition at line 102 of file Core.

typedef VectorwiseOp<Derived, Vertical> Eigen::DenseBase::ColwiseReturnType [inherited]

Definition at line 462 of file Core.

Definition at line 45 of file Core.

typedef const VectorwiseOp<const Derived, Vertical> Eigen::DenseBase::ConstColwiseReturnType [inherited]

Definition at line 463 of file Core.

Definition at line 228 of file Core.

typedef const Reverse<const Derived, BothDirections> Eigen::DenseBase::ConstReverseReturnType [inherited]

Definition at line 494 of file Core.

typedef const VectorwiseOp<const Derived, Horizontal> Eigen::DenseBase::ConstRowwiseReturnType [inherited]

Definition at line 461 of file Core.

typedef const VectorBlock<const Derived> Eigen::DenseBase::ConstSegmentReturnType [inherited]

Definition at line 299 of file Core.

typedef Block<const Derived, internal::traits<Derived>::ColsAtCompileTime==1 ? SizeMinusOne : 1, internal::traits<Derived>::ColsAtCompileTime==1 ? 1 : SizeMinusOne> Eigen::MatrixBase::ConstStartMinusOne

Definition at line 431 of file Core.

typedef const Transpose<const Derived> Eigen::DenseBase::ConstTransposeReturnType [inherited]

Definition at line 288 of file Core.

Definition at line 226 of file Core.

Definition at line 433 of file Core.

typedef Homogeneous<Derived, HomogeneousReturnTypeDirection> Eigen::MatrixBase::HomogeneousReturnType

Definition at line 422 of file Core.

typedef internal::traits<Derived>::Index Eigen::DenseBase::Index [inherited]

The type of indices.

To change this, #define the preprocessor symbol EIGEN_DEFAULT_DENSE_INDEX_TYPE.

See also:
TopicPreprocessorDirectives.

Definition at line 65 of file Core.

Definition at line 44 of file Core.

Definition at line 68 of file Core.

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.

Definition at line 129 of file Core.

typedef NumTraits<Scalar>::Real Eigen::DenseBase::RealScalar [inherited]

Definition at line 69 of file Core.

typedef Reverse<Derived, BothDirections> Eigen::DenseBase::ReverseReturnType [inherited]

Definition at line 493 of file Core.

typedef VectorwiseOp<Derived, Horizontal> Eigen::DenseBase::RowwiseReturnType [inherited]

Definition at line 460 of file Core.

typedef internal::traits<Derived>::Scalar Eigen::DenseBase::Scalar [inherited]

Definition at line 67 of file Core.

typedef VectorBlock<Derived> Eigen::DenseBase::SegmentReturnType [inherited]

Definition at line 298 of file Core.

Definition at line 461 of file Core.

typedef internal::traits<Derived>::StorageKind Eigen::DenseBase::StorageKind [inherited]

Definition at line 57 of file Core.

Type of the elements.

Definition at line 36 of file Core.


Member Enumeration Documentation

anonymous enum [inherited]

Definition at line 104 of file Core.

anonymous enum [inherited]

Definition at line 185 of file Core.

anonymous enum
Enumerator:
static_size 

Definition at line 38 of file Core.

anonymous enum
Enumerator:
HomogeneousReturnTypeDirection 

Definition at line 421 of file Core.

anonymous enum
Enumerator:
SizeMinusOne 

Definition at line 426 of file Core.


Constructor & Destructor Documentation

Eigen::MatrixBase::MatrixBase ( ) [inline, protected]

Definition at line 507 of file Core.

Eigen::MatrixBase::MatrixBase ( int  ) [explicit, private]
Eigen::MatrixBase::MatrixBase ( int  ,
int   
) [private]
template<typename OtherDerived >
Eigen::MatrixBase::MatrixBase ( const MatrixBase< OtherDerived > &  ) [explicit, private]

Member Function Documentation

EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Abs ( ) [inline]

Definition at line 740 of file Core.

EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Abs ( ) const [inline]

Definition at line 741 of file Core.

template<typename OTHERMATRIX >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::add_AAt ( const OTHERMATRIX &  A) [inline]

this += A + AT

Definition at line 518 of file Core.

template<typename OTHERMATRIX >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::add_Ac ( const OTHERMATRIX &  m,
const Scalar  c 
) [inline]

Add c (scalar) times A to this matrix: this += A * c

Definition at line 507 of file Core.

const MatrixBase< Derived >::AdjointReturnType Eigen::MatrixBase::adjoint ( ) const [inline]
Returns:
an expression of the adjoint (i.e. conjugate transpose) of *this.

Example:

Output:

Warning:
If you want to replace a matrix by its own adjoint, do NOT do this:
 m = m.adjoint(); // bug!!! caused by aliasing effect
Instead, use the adjointInPlace() method:
 m.adjointInPlace();
which gives Eigen good opportunities for optimization, or alternatively you can also do:
 m = m.adjoint().eval();
See also:
adjointInPlace(), transpose(), conjugate(), class Transpose, class internal::scalar_conjugate_op

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().

Note:
if the matrix is not square, then *this must be a resizable matrix.
See also:
transpose(), adjoint(), transposeInPlace()

Definition at line 332 of file Core.

void Eigen::MatrixBase::adjustRange ( Scalar  valMin,
Scalar  valMax 
) [inline]

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 764 of file Core.

bool Eigen::DenseBase::all ( void  ) const [inherited]
Returns:
true if all coefficients are true

Example:

Output:

See also:
any(), Cwise::operator<()
bool Eigen::DenseBase::any ( void  ) const [inherited]
Returns:
true if at least one coefficient is true
See also:
all()
template<typename EssentialPart >
void Eigen::MatrixBase::applyHouseholderOnTheLeft ( const EssentialPart &  essential,
const Scalar tau,
Scalar workspace 
)

Definition at line 92 of file Householder.

template<typename EssentialPart >
void Eigen::MatrixBase::applyHouseholderOnTheRight ( const EssentialPart &  essential,
const Scalar tau,
Scalar workspace 
)

Definition at line 114 of file Householder.

template<typename OtherDerived >
void Eigen::MatrixBase::applyOnTheLeft ( const EigenBase< OtherDerived > &  other) [inline]

replaces *this by *this * other.

Definition at line 168 of file Core.

template<typename OtherScalar >
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 $ B = \left ( \begin{array}{cc} \text{*this.row}(p) \\ \text{*this.row}(q) \end{array} \right ) $.

See also:
class JacobiRotation, MatrixBase::applyOnTheRight(), internal::apply_rotation_in_the_plane()

Definition at line 283 of file Jacobi.

template<typename OtherDerived >
void Eigen::MatrixBase::applyOnTheRight ( const EigenBase< OtherDerived > &  other) [inline]

replaces *this by *this * other.

It is equivalent to MatrixBase::operator*=()

Definition at line 160 of file Core.

ArrayWrapper<Derived> Eigen::MatrixBase::array ( ) [inline]
Returns:
an Array expression of this matrix
See also:
ArrayBase::matrix()

Definition at line 332 of file Core.

const ArrayWrapper<Derived> Eigen::MatrixBase::array ( ) const [inline]

Definition at line 333 of file Core.

const DiagonalWrapper< const Derived > Eigen::MatrixBase::asDiagonal ( ) const [inline]
Returns:
a pseudo-expression of a diagonal matrix with *this as vector of diagonal coefficients

Example:

Output:

See also:
class DiagonalWrapper, class DiagonalMatrix, diagonal(), isDiagonal()

Definition at line 275 of file Core.

const PermutationWrapper< const Derived > Eigen::MatrixBase::asPermutation ( ) const

Definition at line 692 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::assign ( const Scalar  v) [inline]

Fill all the elements with a given value

Definition at line 62 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::assign ( size_t  N,
const Scalar  v 
) [inline]

Resize to N and set all the elements to a given value

Definition at line 64 of file Core.

EIGEN_STRONG_INLINE iterator Eigen::MatrixBase::begin ( ) [inline]

Definition at line 47 of file Core.

EIGEN_STRONG_INLINE const_iterator Eigen::MatrixBase::begin ( ) const [inline]

Definition at line 49 of file Core.

template<typename CustomBinaryOp , typename OtherDerived >
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]
Returns:
an expression of the difference of *this and other
Note:
If you want to substract a given scalar from all coefficients, see Cwise::operator-().
See also:
class CwiseBinaryOp, operator-=()
Returns:
an expression of the sum of *this and other
Note:
If you want to add a given scalar to all coefficients, see Cwise::operator+().
See also:
class CwiseBinaryOp, operator+=()
Returns:
an expression of a custom coefficient-wise operator func of *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:

See also:
class CwiseBinaryOp, operator+(), operator-(), cwiseProduct()

Definition at line 58 of file Core.

Block<Derived> Eigen::DenseBase::block ( Index  startRow,
Index  startCol,
Index  blockRows,
Index  blockCols 
) [inline, inherited]
Returns:
a dynamic-size expression of a block in *this.
Parameters:
startRowthe first row in the block
startColthe first column in the block
blockRowsthe number of rows in the block
blockColsthe number of columns in the block

Example:

Output:

Note:
Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size matrix, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.
See also:
class Block, block(Index,Index)

Definition at line 70 of file Core.

const Block<const Derived> Eigen::DenseBase::block ( Index  startRow,
Index  startCol,
Index  blockRows,
Index  blockCols 
) const [inline, inherited]

This is the const version of block(Index,Index,Index,Index).

Definition at line 76 of file Core.

Block<Derived, BlockRows, BlockCols> Eigen::DenseBase::block ( Index  startRow,
Index  startCol 
) [inline, inherited]
Returns:
a fixed-size expression of a block in *this.

The template parameters BlockRows and BlockCols are the number of rows and columns in the block.

Parameters:
startRowthe first row in the block
startColthe first column in the block

Example:

Output:

Note:
since block is a templated member, the keyword template has to be used if the matrix type is also a template parameter:
 m.template block<3,3>(1,1); 
See also:
class Block, block(Index,Index,Index,Index)

Definition at line 550 of file Core.

const Block<const Derived, BlockRows, BlockCols> Eigen::DenseBase::block ( Index  startRow,
Index  startCol 
) const [inline, inherited]

This is the const version of block<>(Index, Index).

Definition at line 557 of file Core.

NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::blueNorm ( ) const [inline]
Returns:
the l2 norm of *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.

See also:
norm(), stableNorm(), hypotNorm()

Definition at line 88 of file Core.

Block<Derived> Eigen::DenseBase::bottomLeftCorner ( Index  cRows,
Index  cCols 
) [inline, inherited]
Returns:
a dynamic-size expression of a bottom-left corner of *this.
Parameters:
cRowsthe number of rows in the corner
cColsthe number of columns in the corner

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 230 of file Core.

const Block<const Derived> Eigen::DenseBase::bottomLeftCorner ( Index  cRows,
Index  cCols 
) const [inline, inherited]

This is the const version of bottomLeftCorner(Index, Index).

Definition at line 236 of file Core.

Block<Derived, CRows, CCols> Eigen::DenseBase::bottomLeftCorner ( ) [inline, inherited]
Returns:
an expression of a fixed-size bottom-left corner of *this.

The template parameters CRows and CCols are the number of rows and columns in the corner.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 251 of file Core.

const Block<const Derived, CRows, CCols> Eigen::DenseBase::bottomLeftCorner ( ) const [inline, inherited]

This is the const version of bottomLeftCorner<int, int>().

Definition at line 258 of file Core.

Block<Derived> Eigen::DenseBase::bottomRightCorner ( Index  cRows,
Index  cCols 
) [inline, inherited]
Returns:
a dynamic-size expression of a bottom-right corner of *this.
Parameters:
cRowsthe number of rows in the corner
cColsthe number of columns in the corner

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 185 of file Core.

const Block<const Derived> Eigen::DenseBase::bottomRightCorner ( Index  cRows,
Index  cCols 
) const [inline, inherited]

This is the const version of bottomRightCorner(Index, Index).

Definition at line 191 of file Core.

Block<Derived, CRows, CCols> Eigen::DenseBase::bottomRightCorner ( ) [inline, inherited]
Returns:
an expression of a fixed-size bottom-right corner of *this.

The template parameters CRows and CCols are the number of rows and columns in the corner.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 206 of file Core.

const Block<const Derived, CRows, CCols> Eigen::DenseBase::bottomRightCorner ( ) const [inline, inherited]

This is the const version of bottomRightCorner<int, int>().

Definition at line 213 of file Core.

RowsBlockXpr Eigen::DenseBase::bottomRows ( Index  n) [inline, inherited]
Returns:
a block consisting of the bottom rows of *this.
Parameters:
nthe number of rows in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 318 of file Core.

ConstRowsBlockXpr Eigen::DenseBase::bottomRows ( Index  n) const [inline, inherited]

This is the const version of bottomRows(Index).

Definition at line 324 of file Core.

NRowsBlockXpr<N>::Type Eigen::DenseBase::bottomRows ( ) [inline, inherited]
Returns:
a block consisting of the bottom rows of *this.
Template Parameters:
Nthe number of rows in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 339 of file Core.

ConstNRowsBlockXpr<N>::Type Eigen::DenseBase::bottomRows ( ) const [inline, inherited]

This is the const version of bottomRows<int>().

Definition at line 346 of file Core.

template<typename NewType >
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]
Returns:
an expression of *this with the Scalar type casted to NewScalar.

The template parameter NewScalar is the type we are casting the scalars to.

See also:
class CwiseUnaryOp

Definition at line 108 of file Core.

void Eigen::DenseBase::checkTransposeAliasing ( const OtherDerived &  other) const [protected, inherited]
template<class MATRIX >
EIGEN_STRONG_INLINE bool Eigen::MatrixBase::chol ( MATRIX &  U) const [inline]

Cholesky M=UT * U decomposition for simetric matrix (upper-half of the matrix will be actually ignored)

Definition at line 711 of file Core.

ColXpr Eigen::DenseBase::col ( Index  i) [inline, inherited]
Returns:
an expression of the i-th column of *this. Note that the numbering starts at 0.

Example:

Output:

See also:
row(), class Block

Definition at line 568 of file Core.

ConstColXpr Eigen::DenseBase::col ( Index  i) const [inline, inherited]

This is the const version of col().

Definition at line 574 of file Core.

const ColPivHouseholderQR< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::colPivHouseholderQr ( ) const
Returns:
the column-pivoting Householder QR decomposition of *this.
See also:
class ColPivHouseholderQR

Definition at line 527 of file QR.

ConstColwiseReturnType Eigen::DenseBase::colwise ( ) const [inherited]
Returns:
a VectorwiseOp wrapper of *this providing additional partial reduction operations

Example:

Output:

See also:
rowwise(), class VectorwiseOp
ColwiseReturnType Eigen::DenseBase::colwise ( ) [inherited]
Returns:
a writable VectorwiseOp wrapper of *this providing additional partial reduction operations
See also:
rowwise(), class VectorwiseOp
template<typename ResultType >
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.

Parameters:
inverseReference to the matrix in which to store the inverse.
determinantReference to the variable in which to store the inverse.
invertibleReference to the bool variable in which to store whether the matrix is invertible.
absDeterminantThresholdOptional 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:

See also:
inverse(), computeInverseWithCheck()

Definition at line 357 of file LU.

template<typename ResultType >
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.

Parameters:
inverseReference to the matrix in which to store the inverse.
invertibleReference to the bool variable in which to store whether the matrix is invertible.
absDeterminantThresholdOptional 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:

See also:
inverse(), computeInverseAndDetWithCheck()

Definition at line 396 of file LU.

ConjugateReturnType Eigen::MatrixBase::conjugate ( ) const [inline]
Returns:
an expression of the complex conjugate of *this.
See also:
adjoint()

Definition at line 117 of file Core.

static const ConstantReturnType Eigen::DenseBase::Constant ( Index  rows,
Index  cols,
const Scalar value 
) [static, inherited]
Returns:
an expression of a constant matrix of value value

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.

See also:
class CwiseNullaryOp
static const ConstantReturnType Eigen::DenseBase::Constant ( Index  size,
const Scalar value 
) [static, inherited]
Returns:
an expression of a constant matrix of value value

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.

See also:
class CwiseNullaryOp
static const ConstantReturnType Eigen::DenseBase::Constant ( const Scalar value) [static, inherited]
Returns:
an expression of a constant matrix of value value

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.

See also:
class CwiseNullaryOp
const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::cos ( ) const
const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::cosh ( ) const
Index Eigen::DenseBase::count ( void  ) const [inherited]
Returns:
the number of coefficients which evaluate to true
See also:
all(), any()
EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::countNonZero ( ) const [inline]

Definition at line 190 of file Core.

template<typename OtherDerived >
MatrixBase< Derived >::template cross_product_return_type< OtherDerived >::type Eigen::MatrixBase::cross ( const MatrixBase< OtherDerived > &  other) const [inline]

Returns:
the cross product of *this and other

Here is a very good explanation of cross-product: http://xkcd.com/199/

See also:
MatrixBase::cross3()

Definition at line 40 of file Geometry.

template<typename OtherDerived >
MatrixBase< Derived >::PlainObject Eigen::MatrixBase::cross3 ( const MatrixBase< OtherDerived > &  other) const [inline]

Returns:
the cross product of *this and other using only the x, y, and z coefficients

The 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.

See also:
MatrixBase::cross()

Definition at line 88 of file Geometry.

EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseAbs ( ) const [inline]
Returns:
an expression of the coefficient-wise absolute value of *this

Example:

Output:

See also:
cwiseAbs2()

Definition at line 37 of file Core.

EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseAbs2 ( ) const [inline]
Returns:
an expression of the coefficient-wise squared absolute value of *this

Example:

Output:

See also:
cwiseAbs()

Definition at line 47 of file Core.

template<typename OtherDerived >
const CwiseBinaryOp<std::equal_to<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseEqual ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const [inline]
Returns:
an expression of the coefficient-wise == operator of *this and other
Warning:
this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().

Example:

Output:

See also:
cwiseNotEqual(), isApprox(), isMuchSmallerThan()

Definition at line 57 of file Core.

const CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >, const Derived> Eigen::MatrixBase::cwiseEqual ( const Scalar s) const [inline]
Returns:
an expression of the coefficient-wise == operator of *this and a scalar s
Warning:
this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().
See also:
cwiseEqual(const MatrixBase<OtherDerived> &) const

Definition at line 79 of file Core.

const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseInverse ( ) const [inline]
Returns:
an expression of the coefficient-wise inverse of *this.

Example:

Output:

See also:
cwiseProduct()

Definition at line 67 of file Core.

template<typename OtherDerived >
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]
Returns:
an expression of the coefficient-wise max of *this and other

Example:

Output:

See also:
class CwiseBinaryOp, min()

Definition at line 104 of file Core.

template<typename OtherDerived >
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]
Returns:
an expression of the coefficient-wise min of *this and other

Example:

Output:

See also:
class CwiseBinaryOp, max()

Definition at line 90 of file Core.

template<typename OtherDerived >
const CwiseBinaryOp<std::not_equal_to<Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::cwiseNotEqual ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const [inline]
Returns:
an expression of the coefficient-wise != operator of *this and other
Warning:
this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().

Example:

Output:

See also:
cwiseEqual(), isApprox(), isMuchSmallerThan()

Definition at line 76 of file Core.

template<typename OtherDerived >
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]
Returns:
an expression of the coefficient-wise quotient of *this and other

Example:

Output:

See also:
class CwiseBinaryOp, cwiseProduct(), cwiseInverse()

Definition at line 118 of file Core.

const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> Eigen::MatrixBase::cwiseSqrt ( ) const [inline]
Returns:
an expression of the coefficient-wise square root of *this.

Example:

Output:

See also:
cwisePow(), cwiseSquare()

Definition at line 57 of file Core.

EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::det ( ) const [inline]

Definition at line 496 of file Core.

internal::traits< Derived >::Scalar Eigen::MatrixBase::determinant ( ) const [inline]

Returns:
the determinant of this matrix

Definition at line 106 of file LU.

MatrixBase< Derived >::template DiagonalIndexReturnType< Index >::Type Eigen::MatrixBase::diagonal ( ) [inline]
Returns:
an expression of the main diagonal of the matrix *this

*this is not required to be square.

Example:

Output:

See also:
class Diagonal
Returns:
an expression of the DiagIndex-th sub or super diagonal of the matrix *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:

See also:
MatrixBase::diagonal(), class Diagonal

Definition at line 172 of file Core.

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.

Definition at line 180 of file Core.

template<int Index>
DiagonalIndexReturnType<Index>::Type Eigen::MatrixBase::diagonal ( )
template<int Index>
ConstDiagonalIndexReturnType<Index>::Type Eigen::MatrixBase::diagonal ( ) const
MatrixBase< Derived >::template DiagonalIndexReturnType< Dynamic >::Type Eigen::MatrixBase::diagonal ( Index  index) [inline]
Returns:
an expression of the DiagIndex-th sub or super diagonal of the matrix *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:

See also:
MatrixBase::diagonal(), class Diagonal

Definition at line 198 of file Core.

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.

Definition at line 206 of file Core.

Index Eigen::MatrixBase::diagonalSize ( ) const [inline]
Returns:
the size of the main diagonal, which is min(rows(),cols()).
See also:
rows(), cols(), SizeAtCompileTime.

Definition at line 115 of file Core.

template<typename OtherDerived >
internal::scalar_product_traits< typename internal::traits< Derived >::Scalar, typename internal::traits< OtherDerived >::Scalar >::ReturnType Eigen::MatrixBase::dot ( const MatrixBase< OtherDerived > &  other) const
Returns:
the dot product of *this with other.
Note:
If the scalar type is complex numbers, then this function returns the hermitian (sesquilinear) dot product, conjugate-linear in the first variable and linear in the second variable.
See also:
squaredNorm(), norm()

Definition at line 77 of file Core.

template<typename OtherDerived >
EIGEN_STRONG_INLINE const Eigen::MatrixBase::EIGEN_CWISE_PRODUCT_RETURN_TYPE ( Derived  ,
OtherDerived   
) const [inline]
Returns:
an expression of the Schur product (coefficient wise product) of *this and other

Example:

Output:

See also:
class CwiseBinaryOp, cwiseAbs2

Definition at line 37 of file Core.

MatrixBase< Derived >::EigenvaluesReturnType Eigen::MatrixBase::eigenvalues ( ) const [inline]

Computes the eigenvalues of a matrix.

Returns:
Column vector containing the eigenvalues.

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:

See also:
EigenSolver::eigenvalues(), ComplexEigenSolver::eigenvalues(), SelfAdjointView::eigenvalues()

Definition at line 81 of file Eigenvalues.

template<class VECTOR >
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".

Note:
Warning: Only the real part of complex eigenvectors and eigenvalues are returned.
See also:
eigenVectorsSymmetric, eigenVectorsVec

Definition at line 683 of file Core.

template<class MATRIX1 , class MATRIX2 >
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.

Note:
Warning: Only the real part of complex eigenvectors and eigenvalues are returned.
See also:
eigenVectorsSymmetric, eigenVectorsVec

Definition at line 88 of file eigen_plugins_impl.h.

References eigenVectorsVec().

template<class MATRIX1 , class MATRIX2 >
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.

See also:
eigenVectors

Definition at line 127 of file eigen_plugins_impl.h.

References eigenVectorsSymmetricVec().

template<class MATRIX1 , class VECTOR1 >
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.

See also:
eigenVectorsVec

Definition at line 140 of file eigen_plugins_impl.h.

References Eigen::SelfAdjointEigenSolver::eigenvectors(), and Eigen::SelfAdjointEigenSolver::eigenvalues().

template<class MATRIX1 , class VECTOR1 >
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.

Note:
Warning: Only the real part of complex eigenvectors and eigenvalues are returned.
See also:
eigenVectorsSymmetric, eigenVectorsVec

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]

Definition at line 504 of file Core.

EIGEN_STRONG_INLINE iterator Eigen::MatrixBase::end ( ) [inline]

Definition at line 48 of file Core.

EIGEN_STRONG_INLINE const_iterator Eigen::MatrixBase::end ( ) const [inline]

Definition at line 50 of file Core.

EIGEN_STRONG_INLINE const internal::eval<Derived>::type Eigen::DenseBase::eval ( ) const [inline, inherited]
Returns:
the matrix or vector obtained by evaluating this expression.

Notice that in the case of a plain matrix or vector (not an expression) this function just returns a const reference, in order to avoid a useless copy.

Definition at line 385 of file Core.

void Eigen::DenseBase::evalTo ( Dest &  ) const [inline, inherited]

Definition at line 518 of file Core.

const MatrixExponentialReturnValue<Derived> Eigen::MatrixBase::exp ( ) const
EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Exp ( ) [inline]

Definition at line 746 of file Core.

EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Exp ( ) const [inline]

Definition at line 747 of file Core.

template<class VECTOR >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractCol ( size_t  nCol,
VECTOR &  v,
size_t  startingRow = 0 
) const [inline]

Extract one column from the matrix into a column vector.

Definition at line 787 of file Core.

template<typename T >
void Eigen::MatrixBase::extractCol ( size_t  nCol,
std::vector< T > &  v,
size_t  startingRow = 0 
) const [inline]

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 791 of file Core.

template<class MATRIX >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractMatrix ( const size_t  firstRow,
const size_t  firstCol,
MATRIX &  m 
) const [inline]

Definition at line 797 of file Core.

template<class MATRIX >
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]

Definition at line 801 of file Core.

template<class OtherDerived >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractRow ( size_t  nRow,
Eigen::EigenBase< OtherDerived > &  v,
size_t  startingCol = 0 
) const [inline]

Extract one row from the matrix into a row vector.

Definition at line 770 of file Core.

template<typename T >
void Eigen::MatrixBase::extractRow ( size_t  nRow,
std::vector< T > &  v,
size_t  startingCol = 0 
) const [inline]

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 774 of file Core.

template<class VECTOR >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::extractRowAsCol ( size_t  nRow,
VECTOR &  v,
size_t  startingCol = 0 
) const [inline]

Extract one row from the matrix into a column vector.

Definition at line 780 of file Core.

template<class MATRIX >
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]

Get a submatrix, given its bounds: first & last column and row (inclusive).

Definition at line 809 of file Core.

template<class MATRIX >
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.

See also:
extractSubmatrix, extractSubmatrixSymmetricalBlocks

Definition at line 852 of file Core.

template<class 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.

See also:
extractSubmatrix, extractSubmatrixSymmetrical

Definition at line 820 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::eye ( ) [inline]

Make the matrix an identity matrix.

Definition at line 84 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::fill ( const Scalar  v) [inline]

Fill all the elements with a given value

Definition at line 59 of file Core.

void Eigen::DenseBase::fill ( const Scalar value) [inherited]

Alias for setConstant(): sets all coefficients in this expression to value.

See also:
setConstant(), Constant(), class CwiseNullaryOp
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.

Exceptions:
std::exceptionOn an empty input vector

Definition at line 237 of file Core.

const Flagged<Derived, Added, Removed> Eigen::DenseBase::flagged ( ) const [inherited]
Returns:
an expression of *this with added and removed flags

This is mostly for internal use.

See also:
class Flagged
const ForceAlignedAccess< Derived > Eigen::MatrixBase::forceAlignedAccess ( ) const [inline]
Returns:
an expression of *this with forced aligned access
See also:
forceAlignedAccessIf(),class ForceAlignedAccess

Reimplemented from Eigen::DenseBase< Derived >.

Definition at line 121 of file Core.

ForceAlignedAccess< Derived > Eigen::MatrixBase::forceAlignedAccess ( ) [inline]
Returns:
an expression of *this with forced aligned access
See also:
forceAlignedAccessIf(), class ForceAlignedAccess

Reimplemented from Eigen::DenseBase< Derived >.

Definition at line 131 of file Core.

template<bool Enable>
internal::add_const_on_value_type< typename internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type >::type Eigen::MatrixBase::forceAlignedAccessIf ( ) const [inline]
Returns:
an expression of *this with forced aligned access if Enable is true.
See also:
forceAlignedAccess(), class ForceAlignedAccess

Reimplemented from Eigen::DenseBase< Derived >.

Definition at line 142 of file Core.

template<bool Enable>
internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type Eigen::MatrixBase::forceAlignedAccessIf ( ) [inline]
Returns:
an expression of *this with forced aligned access if Enable is true.
See also:
forceAlignedAccess(), class ForceAlignedAccess

Reimplemented from Eigen::DenseBase< Derived >.

Definition at line 153 of file Core.

const WithFormat<Derived> Eigen::DenseBase::format ( const IOFormat fmt) const [inline, inherited]
Returns:
a WithFormat proxy object allowing to print a matrix the with given format fmt.

See class IOFormat for some examples.

See also:
class IOFormat, class WithFormat
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

Returns:
true on success. false if the string is malformed, and then the matrix will be resized to 0x0.
See also:
inMatlabFormat, CConfigFile::read_matrix

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
Returns:
the full-pivoting Householder QR decomposition of *this.
See also:
class FullPivHouseholderQR

Definition at line 542 of file QR.

const FullPivLU< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::fullPivLu ( ) const [inline]

Returns:
the full-pivoting LU decomposition of *this.
See also:
class FullPivLU

Definition at line 750 of file LU.

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]

Reference access to one element (Use with caution, bounds are not checked!)

Definition at line 111 of file Core.

EIGEN_STRONG_INLINE Scalar* Eigen::MatrixBase::get_unsafe_row ( size_t  row) [inline]

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.

Definition at line 99 of file Core.

EIGEN_STRONG_INLINE const Scalar* Eigen::MatrixBase::get_unsafe_row ( size_t  row) const [inline]

Definition at line 100 of file Core.

EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::getColCount ( ) const [inline]

Get number of columns.

Definition at line 69 of file Core.

EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::getRowCount ( ) const [inline]

Get number of rows.

Definition at line 67 of file Core.

SegmentReturnType Eigen::DenseBase::head ( Index  size) [inherited]
Returns:
a dynamic-size expression of the first coefficients of *this.
Parameters:
sizethe number of coefficients in the block

Example:

Output:

Note:
Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size vector, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.
See also:
class Block, block(Index,Index)
DenseBase::ConstSegmentReturnType Eigen::DenseBase::head ( Index  size) const [inherited]

This is the const version of head(Index).

FixedSegmentReturnType<Size>::Type Eigen::DenseBase::head ( ) [inherited]
Returns:
a fixed-size expression of the first coefficients of *this.

The template parameter Size is the number of coefficients in the block

Example:

Output:

See also:
class Block
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]

Returns:
an expression of the homogeneous normalized vector of *this

Example:

Output:

See also:
VectorwiseOp::hnormalized()

Definition at line 172 of file Geometry.

MatrixBase< Derived >::HomogeneousReturnType Eigen::MatrixBase::homogeneous ( ) const [inline]

Returns:
an expression of the equivalent homogeneous vector

Example:

Output:

See also:
class Homogeneous

Definition at line 141 of file Geometry.

const HouseholderQR< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::householderQr ( ) const
Returns:
the Householder QR decomposition of *this.
See also:
class HouseholderQR

Definition at line 350 of file QR.

NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::hypotNorm ( ) const [inline]
Returns:
the l2 norm of *this avoiding undeflow and overflow. This version use a concatenation of hypot() calls, and it is very slow.
See also:
norm(), stableNorm()

Definition at line 186 of file Core.

EIGEN_STRONG_INLINE const MatrixBase< Derived >::IdentityReturnType Eigen::MatrixBase::Identity ( ) [static]
Returns:
an expression of the identity matrix (not necessarily square).

This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variant taking size arguments.

Example:

Output:

See also:
Identity(Index,Index), setIdentity(), isIdentity()

Definition at line 693 of file Core.

EIGEN_STRONG_INLINE const MatrixBase< Derived >::IdentityReturnType Eigen::MatrixBase::Identity ( Index  rows,
Index  cols 
) [static]
Returns:
an expression of the identity matrix (not necessarily square).

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:

See also:
Identity(), setIdentity(), isIdentity()

Definition at line 676 of file Core.

const ImagReturnType Eigen::MatrixBase::imag ( ) const [inline]
Returns:
an read-only expression of the imaginary part of *this.
See also:
real()

Definition at line 132 of file Core.

NonConstImagReturnType Eigen::MatrixBase::imag ( ) [inline]
Returns:
a non const expression of the imaginary part of *this.
See also:
real()

Definition at line 188 of file Core.

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

See also:
fromMatlabStringFormat

Definition at line 245 of file eigen_plugins_impl.h.

Index Eigen::DenseBase::innerSize ( ) const [inline, inherited]
Returns:
the inner size.
Note:
For a vector, this is just the size. For a matrix (non-vector), this is the minor dimension with respect to the storage order, i.e., the number of rows for a column-major matrix, and the number of columns for a row-major matrix.

Definition at line 211 of file Core.

template<typename MAT >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertCol ( size_t  nCol,
const MAT &  aCol 
) [inline]

Definition at line 427 of file Core.

template<typename R >
void Eigen::MatrixBase::insertCol ( size_t  nCol,
const std::vector< R > &  aCol 
) [inline]

Definition at line 435 of file Core.

template<typename MAT >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertMatrix ( size_t  r,
size_t  c,
const MAT &  m 
) [inline]

Insert matrix "m" into this matrix at indices (r,c), that is, (*this)(r,c)=m(0,0) and so on.

Definition at line 421 of file Core.

template<typename MAT >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertMatrixTranspose ( size_t  r,
size_t  c,
const MAT &  m 
) [inline]

Definition at line 424 of file Core.

template<typename MAT >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::insertRow ( size_t  nRow,
const MAT &  aRow 
) [inline]

Definition at line 426 of file Core.

template<typename R >
void Eigen::MatrixBase::insertRow ( size_t  nRow,
const std::vector< R > &  aRow 
) [inline]

Definition at line 429 of file Core.

EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::inv ( ) const [inline]

Definition at line 493 of file Core.

Referenced by mrpt::math::operator!().

template<class MATRIX >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::inv ( MATRIX &  outMat) const [inline]

Definition at line 494 of file Core.

template<class MATRIX >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::inv_fast ( MATRIX &  outMat) const [inline]

Definition at line 495 of file Core.

const internal::inverse_impl< Derived > Eigen::MatrixBase::inverse ( ) const [inline]

Returns:
the matrix inverse of this matrix.

For small fixed sizes up to 4x4, this method uses cofactors. In the general case, this method uses class PartialPivLU.

Note:
This matrix must be invertible, otherwise the result is undefined. If you need an invertibility check, do the following: Example:
Output:
See also:
computeInverseAndDetWithCheck()

Definition at line 330 of file LU.

bool Eigen::DenseBase::isApprox ( const DenseBase< OtherDerived > &  other,
RealScalar  prec = NumTraits<Scalar>::dummy_precision() 
) const [inherited]
Returns:
true if *this is approximately equal to other, within the precision determined by prec.
Note:
The fuzzy compares are done multiplicatively. Two vectors $ v $ and $ w $ are considered to be approximately equal within precision $ p $ if

\[ \Vert v - w \Vert \leqslant p\,\min(\Vert v\Vert, \Vert w\Vert). \]

For matrices, the comparison is done using the Hilbert-Schmidt norm (aka Frobenius norm L2 norm).
Because of the multiplicativeness of this comparison, one can't use this function to check whether *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.
See also:
internal::isMuchSmallerThan(const RealScalar&, RealScalar) const
bool Eigen::DenseBase::isApproxToConstant ( const Scalar value,
RealScalar  prec = NumTraits<Scalar>::dummy_precision() 
) const [inherited]
Returns:
true if all coefficients in this matrix are approximately equal to value, to within precision prec
bool Eigen::DenseBase::isConstant ( const Scalar value,
RealScalar  prec = NumTraits<Scalar>::dummy_precision() 
) const [inherited]

This is just an alias for isApproxToConstant().

Returns:
true if all coefficients in this matrix are approximately equal to value, to within precision prec
bool Eigen::MatrixBase::isDiagonal ( RealScalar  prec = NumTraits<Scalar>::dummy_precision()) const
Returns:
true if *this is approximately equal to a diagonal matrix, within the precision given by prec.

Example:

Output:

See also:
asDiagonal()

Definition at line 289 of file Core.

EIGEN_STRONG_INLINE bool Eigen::MatrixBase::isDiagonal ( ) const [inline]

Checks for matrix type.

Definition at line 360 of file Core.

bool Eigen::MatrixBase::isIdentity ( RealScalar  prec = NumTraits<Scalar>::dummy_precision()) const
Returns:
true if *this is approximately equal to the identity matrix (not necessarily square), within the precision given by prec.

Example:

Output:

See also:
class CwiseNullaryOp, Identity(), Identity(Index,Index), setIdentity()

Definition at line 710 of file Core.

bool Eigen::MatrixBase::isLowerTriangular ( RealScalar  prec = NumTraits<Scalar>::dummy_precision()) const
Returns:
true if *this is approximately equal to a lower triangular matrix, within the precision given by prec.
See also:
isUpperTriangular()

Definition at line 820 of file Core.

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]
Returns:
true if the norm of *this is much smaller than the norm of other, within the precision determined by prec.
Note:
The fuzzy compares are done multiplicatively. A vector $ v $ is considered to be much smaller than a vector $ w $ within precision $ p $ if

\[ \Vert v \Vert \leqslant p\,\Vert w\Vert. \]

For matrices, the comparison is done using the Hilbert-Schmidt norm.
See also:
isApprox(), isMuchSmallerThan(const RealScalar&, RealScalar) const
bool Eigen::DenseBase::isOnes ( RealScalar  prec = NumTraits<Scalar>::dummy_precision()) const [inherited]
Returns:
true if *this is approximately equal to the matrix where all coefficients are equal to 1, within the precision given by prec.

Example:

Output:

See also:
class CwiseNullaryOp, Ones()
template<typename OtherDerived >
bool Eigen::MatrixBase::isOrthogonal ( const MatrixBase< OtherDerived > &  other,
RealScalar  prec = NumTraits<Scalar>::dummy_precision() 
) const
Returns:
true if *this is approximately orthogonal to other, within the precision given by prec.

Example:

Output:

Definition at line 240 of file Core.

EIGEN_STRONG_INLINE bool Eigen::MatrixBase::isSingular ( const Scalar  absThreshold = 0) const [inline]

Definition at line 134 of file Core.

EIGEN_STRONG_INLINE bool Eigen::MatrixBase::isSquare ( ) const [inline]

Definition at line 133 of file Core.

bool Eigen::MatrixBase::isUnitary ( RealScalar  prec = NumTraits<Scalar>::dummy_precision()) const
Returns:
true if *this is approximately an unitary matrix, within the precision given by prec. In the case where the Scalar type is real numbers, a unitary matrix is an orthogonal matrix, whence the name.
Note:
This can be used to check whether a family of vectors forms an orthonormal basis. Indeed, m.isUnitary() returns true if and only if the columns (equivalently, the rows) of m form an orthonormal basis.

Example:

Output:

Definition at line 259 of file Core.

bool Eigen::MatrixBase::isUpperTriangular ( RealScalar  prec = NumTraits<Scalar>::dummy_precision()) const
Returns:
true if *this is approximately equal to an upper triangular matrix, within the precision given by prec.
See also:
isLowerTriangular()

Definition at line 795 of file Core.

bool Eigen::DenseBase::isZero ( RealScalar  prec = NumTraits<Scalar>::dummy_precision()) const [inherited]
Returns:
true if *this is approximately equal to the zero matrix, within the precision given by prec.

Example:

Output:

See also:
class CwiseNullaryOp, Zero()
JacobiSVD< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::jacobiSvd ( unsigned int  computationOptions = 0) const

Definition at line 710 of file SVD.

template<typename OtherDerived >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::laplacian ( Eigen::MatrixBase< OtherDerived > &  ret) const [inline]

Computes the laplacian of this square graph weight matrix.

The laplacian matrix is L = D - W, with D a diagonal matrix with the degree of each node, W the

Definition at line 284 of file Core.

template<class OUTVECT >
void Eigen::MatrixBase::largestEigenvector ( OUTVECT &  x,
Scalar  resolution = Scalar(0.01),
size_t  maxIterations = 6,
int *  out_Iterations = NULL,
float *  out_estimatedResolution = NULL 
) const [inline]

Efficiently computes only the biggest eigenvector of the matrix using the Power Method, and returns it in the passed vector "x".

Definition at line 320 of file Core.

template<typename OtherDerived >
const LazyProductReturnType< Derived, OtherDerived >::Type Eigen::MatrixBase::lazyProduct ( const MatrixBase< OtherDerived > &  other) const
Returns:
an expression of the matrix product of *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.

Warning:
This version of the matrix product can be much much slower. So use it only if you know what you are doing and that you measured a true speed improvement.
See also:
operator*(const MatrixBase&)

Definition at line 604 of file Core.

const LDLT< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::ldlt ( ) const [inline]

Returns:
the Cholesky decomposition with full pivoting without square root of *this

Definition at line 457 of file Cholesky.

ColsBlockXpr Eigen::DenseBase::leftCols ( Index  n) [inline, inherited]
Returns:
a block consisting of the left columns of *this.
Parameters:
nthe number of columns in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 408 of file Core.

ConstColsBlockXpr Eigen::DenseBase::leftCols ( Index  n) const [inline, inherited]

This is the const version of leftCols(Index).

Definition at line 414 of file Core.

NColsBlockXpr<N>::Type Eigen::DenseBase::leftCols ( ) [inline, inherited]
Returns:
a block consisting of the left columns of *this.
Template Parameters:
Nthe number of columns in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 429 of file Core.

ConstNColsBlockXpr<N>::Type Eigen::DenseBase::leftCols ( ) const [inline, inherited]

This is the const version of leftCols<int>().

Definition at line 436 of file Core.

template<class MAT2 , class MAT3 >
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)

Definition at line 640 of file Core.

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:

See also:
setLinSpaced(Index,const Scalar&,const Scalar&), LinSpaced(Index,Scalar,Scalar), CwiseNullaryOp
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:

See also:
setLinSpaced(Index,const Scalar&,const Scalar&), LinSpaced(Sequential_t,Index,const Scalar&,const Scalar&,Index), CwiseNullaryOp
static const SequentialLinSpacedReturnType Eigen::DenseBase::LinSpaced ( Sequential_t  ,
const Scalar low,
const Scalar high 
) [static, inherited]
Special version for fixed size types which does not require the size parameter.

static const RandomAccessLinSpacedReturnType Eigen::DenseBase::LinSpaced ( const Scalar low,
const Scalar high 
) [static, inherited]
Special version for fixed size types which does not require the size parameter.

const LLT< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::llt ( ) const [inline]

Returns:
the LLT decomposition of *this

Definition at line 424 of file Cholesky.

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.

See also:
saveToTextFile, fromMatlabStringFormat

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]

Definition at line 743 of file Core.

EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Log ( ) const [inline]

Definition at line 744 of file Core.

template<int p>
NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::lpNorm ( ) const [inline]
Returns:
the $ \ell^p $ 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 $ \ell^\infty $ norm, that is the maximum of the absolute values of the coefficients of *this.
See also:
norm()

Reimplemented from Eigen::DenseBase< Derived >.

Definition at line 224 of file Core.

const PartialPivLU< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::lu ( ) const [inline]

Synonym of partialPivLu().

Returns:
the partial-pivoting LU decomposition of *this.
See also:
class PartialPivLU

Definition at line 504 of file LU.

template<typename EssentialPart >
void Eigen::MatrixBase::makeHouseholder ( EssentialPart &  essential,
Scalar tau,
RealScalar beta 
) const

Computes the elementary reflector H such that: $ H *this = [ beta 0 ... 0]^T $ where the transformation H is: $ H = I - tau v v^*$ and the vector v is: $ v^T = [1 essential^T] $.

On output:

Parameters:
essentialthe essential part of the vector v
tauthe scaling factor of the householder transformation
betathe result of H * *this
See also:
MatrixBase::makeHouseholderInPlace(), MatrixBase::applyHouseholderOnTheLeft(), MatrixBase::applyHouseholderOnTheRight()

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]

Definition at line 327 of file Core.

const MatrixBase<Derived>& Eigen::MatrixBase::matrix ( ) const [inline]

Definition at line 328 of file Core.

const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::matrixFunction ( StemFunction  f) const
internal::traits<Derived>::Scalar Eigen::DenseBase::maxCoeff ( ) const [inherited]
Returns:
the maximum of all coefficients of *this
internal::traits<Derived>::Scalar Eigen::DenseBase::maxCoeff ( IndexType *  row,
IndexType *  col 
) const [inherited]
Returns:
the maximum of all coefficients of *this and puts in *row and *col its location.
See also:
DenseBase::minCoeff(IndexType*,IndexType*), DenseBase::visitor(), DenseBase::maxCoeff()
internal::traits<Derived>::Scalar Eigen::DenseBase::maxCoeff ( IndexType *  index) const [inherited]
Returns:
the maximum of all coefficients of *this and puts in *index its location.
See also:
DenseBase::maxCoeff(IndexType*,IndexType*), DenseBase::minCoeff(IndexType*,IndexType*), DenseBase::visitor(), DenseBase::maxCoeff()
EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::maximum ( ) const [inline]

[VECTORS OR MATRICES] Finds the maximum value

Exceptions:
std::exceptionOn an empty input container

Definition at line 195 of file Core.

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.

Exceptions:
std::exceptionOn an empty input vector

Definition at line 225 of file Core.

EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::maximumDiagonal ( ) const [inline]

Finds the maximum value in the diagonal of the matrix.

Definition at line 370 of file Core.

EIGEN_STRONG_INLINE double Eigen::MatrixBase::mean ( ) const [inline]

Computes the mean of the entire matrix.

See also:
meanAndStdAll

Reimplemented from Eigen::DenseBase< Derived >.

Definition at line 374 of file Core.

template<class VEC >
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.

See also:
mean,meanAndStdAll
Exceptions:
std::exceptionIf the matrix/vector is empty.
Parameters:
unbiased_varianceStandard deviation is sum(vals-mean)/K, with K=N-1 or N for unbiased_variance=true or false, respectively.

Definition at line 385 of file Core.

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.

See also:
mean,meanAndStd
Exceptions:
std::exceptionIf the matrix/vector is empty.
Parameters:
unbiased_varianceStandard deviation is sum(vals-mean)/K, with K=N-1 or N for unbiased_variance=true or false, respectively.

Definition at line 407 of file Core.

ColsBlockXpr Eigen::DenseBase::middleCols ( Index  startCol,
Index  numCols 
) [inline, inherited]
Returns:
a block consisting of a range of columns of *this.
Parameters:
startColthe index of the first column in the block
numColsthe number of columns in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 497 of file Core.

ConstColsBlockXpr Eigen::DenseBase::middleCols ( Index  startCol,
Index  numCols 
) const [inline, inherited]

This is the const version of middleCols(Index,Index).

Definition at line 503 of file Core.

NColsBlockXpr<N>::Type Eigen::DenseBase::middleCols ( Index  startCol) [inline, inherited]
Returns:
a block consisting of a range of columns of *this.
Template Parameters:
Nthe number of columns in the block
Parameters:
startColthe index of the first column in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 519 of file Core.

ConstNColsBlockXpr<N>::Type Eigen::DenseBase::middleCols ( Index  startCol) const [inline, inherited]

This is the const version of middleCols<int>().

Definition at line 526 of file Core.

RowsBlockXpr Eigen::DenseBase::middleRows ( Index  startRow,
Index  numRows 
) [inline, inherited]
Returns:
a block consisting of a range of rows of *this.
Parameters:
startRowthe index of the first row in the block
numRowsthe number of rows in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 363 of file Core.

ConstRowsBlockXpr Eigen::DenseBase::middleRows ( Index  startRow,
Index  numRows 
) const [inline, inherited]

This is the const version of middleRows(Index,Index).

Definition at line 369 of file Core.

NRowsBlockXpr<N>::Type Eigen::DenseBase::middleRows ( Index  startRow) [inline, inherited]
Returns:
a block consisting of a range of rows of *this.
Template Parameters:
Nthe number of rows in the block
Parameters:
startRowthe index of the first row in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 385 of file Core.

ConstNRowsBlockXpr<N>::Type Eigen::DenseBase::middleRows ( Index  startRow) const [inline, inherited]

This is the const version of middleRows<int>().

Definition at line 392 of file Core.

internal::traits<Derived>::Scalar Eigen::DenseBase::minCoeff ( ) const [inherited]
Returns:
the minimum of all coefficients of *this
internal::traits<Derived>::Scalar Eigen::DenseBase::minCoeff ( IndexType *  row,
IndexType *  col 
) const [inherited]
Returns:
the minimum of all coefficients of *this and puts in *row and *col its location.
See also:
DenseBase::minCoeff(Index*), DenseBase::maxCoeff(Index*,Index*), DenseBase::visitor(), DenseBase::minCoeff()
internal::traits<Derived>::Scalar Eigen::DenseBase::minCoeff ( IndexType *  index) const [inherited]
Returns:
the minimum of all coefficients of *this and puts in *index its location.
See also:
DenseBase::minCoeff(IndexType*,IndexType*), DenseBase::maxCoeff(IndexType*,IndexType*), DenseBase::visitor(), DenseBase::minCoeff()
EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::minimum ( ) const [inline]

[VECTORS OR MATRICES] Finds the minimum value

See also:
maximum, minimum_maximum
Exceptions:
std::exceptionOn an empty input container

Definition at line 204 of file Core.

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.

See also:
maximum, minimum_maximum
Exceptions:
std::exceptionOn an empty input vector

Definition at line 249 of file Core.

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

See also:
maximum, minimum
Exceptions:
std::exceptionOn 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

See also:
maximum, minimum
Exceptions:
std::exceptionOn an empty input vector

Definition at line 261 of file Core.

template<class MATRIX1 , class MATRIX2 >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply ( const MATRIX1 &  A,
const MATRIX2 &  B 
) [inline]
Parameters:
Bthis = A * B

Definition at line 524 of file Core.

template<class MAT_A , class SKEW_3VECTOR >
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)

Definition at line 588 of file Core.

template<class MAT_A >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AAt ( const MAT_A &  A) [inline]
Parameters:
Athis = A * AT

Definition at line 623 of file Core.

template<typename MAT_A >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AAt_scalar ( const MAT_A &  A,
typename MAT_A::value_type  f 
) [inline]

this = C * CT * f (with a matrix C and a scalar f).

Definition at line 578 of file Core.

template<class MATRIX1 , class MATRIX2 >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AB ( const MATRIX1 &  A,
const MATRIX2 &  B 
) [inline]
Parameters:
Bthis = A * B

Definition at line 527 of file Core.

template<typename OTHERVECTOR1 , typename OTHERVECTOR2 >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_Ab ( const OTHERVECTOR1 &  vIn,
OTHERVECTOR2 &  vOut,
bool  accumToOutput = false 
) const [inline]

Computes the vector vOut = this * vIn, where "vIn" is a column vector of the appropriate length.

Definition at line 538 of file Core.

template<class MAT_A , class MAT_B , class MAT_C >
void Eigen::MatrixBase::multiply_ABC ( const MAT_A &  A,
const MAT_B &  B,
const MAT_C &  C 
) [inline]
Parameters:
Cthis = A*B*C

Definition at line 603 of file Core.

template<class MAT_A , class MAT_B , class MAT_C >
void Eigen::MatrixBase::multiply_ABCt ( const MAT_A &  A,
const MAT_B &  B,
const MAT_C &  C 
) [inline]
Parameters:
Cthis = A*B*(CT)

Definition at line 608 of file Core.

template<class MAT_A , class MAT_B >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_ABt ( const MAT_A &  A,
const MAT_B &  B 
) [inline]
Parameters:
Bthis = A * BT

Definition at line 618 of file Core.

template<class MAT_A >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AtA ( const MAT_A &  A) [inline]
Parameters:
Athis = AT * A

Definition at line 628 of file Core.

template<typename MAT_A >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AtA_scalar ( const MAT_A &  A,
typename MAT_A::value_type  f 
) [inline]

this = CT * C * f (with a matrix C and a scalar f).

Definition at line 583 of file Core.

template<typename MATRIX1 , typename MATRIX2 >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_AtB ( const MATRIX1 &  A,
const MATRIX2 &  B 
) [inline]
Parameters:
Bthis=A^t * B

Definition at line 532 of file Core.

template<typename OTHERVECTOR1 , typename OTHERVECTOR2 >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_Atb ( const OTHERVECTOR1 &  vIn,
OTHERVECTOR2 &  vOut,
bool  accumToOutput = false 
) const [inline]

Computes the vector vOut = thisT * vIn, where "vIn" is a column vector of the appropriate length.

Definition at line 545 of file Core.

template<class MAT_A , class MAT_B , class MAT_C >
void Eigen::MatrixBase::multiply_AtBC ( const MAT_A &  A,
const MAT_B &  B,
const MAT_C &  C 
) [inline]
Parameters:
Cthis = A(T)*B*C

Definition at line 613 of file Core.

template<typename MAT_C , typename MAT_R >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_HCHt ( const MAT_C &  C,
MAT_R &  R,
bool  accumResultInOutput = false 
) const [inline]

< R = this * C * thisT

Definition at line 551 of file Core.

template<typename MAT_C >
EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::multiply_HCHt_scalar ( const MAT_C &  C) const [inline]

R = H * C * HT (with a vector H and a symmetric matrix C) In fact when H is a vector, multiply_HCHt_scalar and multiply_HtCH_scalar are exactly equivalent

Definition at line 566 of file Core.

template<typename MAT_C , typename MAT_R >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_HtCH ( const MAT_C &  C,
MAT_R &  R,
bool  accumResultInOutput = false 
) const [inline]

< R = thisT * C * this

Definition at line 558 of file Core.

template<typename MAT_C >
EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::multiply_HtCH_scalar ( const MAT_C &  C) const [inline]

R = HT * C * H (with a vector H and a symmetric matrix C) In fact when H is a vector, multiply_HCHt_scalar and multiply_HtCH_scalar are exactly equivalent

Definition at line 572 of file Core.

template<class MAT_A , class MAT_B >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiply_result_is_symmetric ( const MAT_A &  A,
const MAT_B &  B 
) [inline]
Parameters:
Bthis = A * B (result is symmetric)

Definition at line 633 of file Core.

template<class SKEW_3VECTOR , class MAT_A >
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)

Definition at line 592 of file Core.

template<class MAT_A , class MAT_OUT >
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]

outResult = this * A

Definition at line 598 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiplyColumnByScalar ( size_t  c,
Scalar  s 
) [inline]

Definition at line 184 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::multiplyRowByScalar ( size_t  r,
Scalar  s 
) [inline]

Definition at line 185 of file Core.

const NestByValue<Derived> Eigen::DenseBase::nestByValue ( ) const [inline, inherited]
Returns:
an expression of the temporary version of *this.
NoAlias< Derived, MatrixBase > Eigen::MatrixBase::noalias ( )
Returns:
a pseudo expression of *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;
See also:
class NoAlias

Definition at line 132 of file Core.

Index Eigen::DenseBase::nonZeros ( ) const [inline, inherited]
Returns:
the number of nonzero coefficients which is in practice the number of stored coefficients.

Definition at line 189 of file Core.

NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::norm ( ) const [inline]
Returns:
, for vectors, the l2 norm of *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.
See also:
dot(), squaredNorm()

Definition at line 139 of file Core.

EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::norm_inf ( ) const [inline]

Compute the norm-infinite of a vector ($f[ ||{v}||_ $f]), ie the maximum absolute value of the elements.

Definition at line 272 of file Core.

void Eigen::MatrixBase::normalize ( ) [inline]

Normalizes the vector, i.e.

divides it by its own norm.

See also:
norm(), normalized()

Definition at line 167 of file Core.

void Eigen::MatrixBase::normalize ( Scalar  valMin,
Scalar  valMax 
) [inline]

Scales all elements such as the minimum & maximum values are shifted to the given values.

Definition at line 753 of file Core.

const MatrixBase< Derived >::PlainObject Eigen::MatrixBase::normalized ( ) const [inline]
Returns:
an expression of the quotient of *this by its own norm.
See also:
norm(), normalize()

Definition at line 152 of file Core.

static const CwiseNullaryOp<CustomNullaryOp, Derived> Eigen::DenseBase::NullaryExpr ( Index  rows,
Index  cols,
const CustomNullaryOp &  func 
) [static, inherited]
Returns:
an expression of a matrix defined by a custom functor func

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.

See also:
class CwiseNullaryOp
static const CwiseNullaryOp<CustomNullaryOp, Derived> Eigen::DenseBase::NullaryExpr ( Index  size,
const CustomNullaryOp &  func 
) [static, inherited]
Returns:
an expression of a matrix defined by a custom functor func

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.

See also:
class CwiseNullaryOp
static const CwiseNullaryOp<CustomNullaryOp, Derived> Eigen::DenseBase::NullaryExpr ( const CustomNullaryOp &  func) [static, inherited]
Returns:
an expression of a matrix defined by a custom functor func

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.

See also:
class CwiseNullaryOp
EIGEN_STRONG_INLINE void Eigen::MatrixBase::ones ( const size_t  row,
const size_t  col 
) [inline]

Resize matrix and set all elements to one.

Definition at line 92 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::ones ( ) [inline]

Set all elements to one.

Definition at line 94 of file Core.

static const ConstantReturnType Eigen::DenseBase::Ones ( Index  rows,
Index  cols 
) [static, inherited]
Returns:
an expression of a matrix where all coefficients equal one.

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:

See also:
Ones(), Ones(Index), isOnes(), class Ones
static const ConstantReturnType Eigen::DenseBase::Ones ( Index  size) [static, inherited]
Returns:
an expression of a vector where all coefficients equal one.

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:

See also:
Ones(), Ones(Index,Index), isOnes(), class Ones
static const ConstantReturnType Eigen::DenseBase::Ones ( ) [static, inherited]
Returns:
an expression of a fixed-size matrix or vector where all coefficients equal one.

This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variants taking size arguments.

Example:

Output:

See also:
Ones(Index), Ones(Index,Index), isOnes(), class Ones
template<typename OtherDerived >
bool Eigen::MatrixBase::operator!= ( const MatrixBase< OtherDerived > &  other) const [inline]
Returns:
true if at least one pair of coefficients of *this and other are not exactly equal to each other.
Warning:
When using floating point scalar values you probably should rather use a fuzzy comparison such as isApprox()
See also:
isApprox(), operator==

Definition at line 311 of file Core.

const ScalarMultipleReturnType Eigen::MatrixBase::operator* ( const Scalar scalar) const [inline]
Returns:
an expression of *this scaled by the scalar factor scalar

Definition at line 65 of file Core.

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]

Overloaded for efficient real matrix times complex scalar value.

Definition at line 85 of file Core.

template<typename OtherDerived >
const ProductReturnType< Derived, OtherDerived >::Type Eigen::MatrixBase::operator* ( const MatrixBase< OtherDerived > &  other) const [inline]
Returns:
the matrix product of *this and other.
Note:
If instead of the matrix product you want the coefficient-wise product, see Cwise::operator*().
See also:
lazyProduct(), operator*=(const MatrixBase&), Cwise::operator*()

Definition at line 563 of file Core.

template<typename DiagonalDerived >
const DiagonalProduct< Derived, DiagonalDerived, OnTheRight > Eigen::MatrixBase::operator* ( const DiagonalBase< DiagonalDerived > &  diagonal) const [inline]
Returns:
the diagonal matrix product of *this by the diagonal matrix diagonal.

Definition at line 120 of file Core.

MatrixBase< Derived >::ScalarMultipleReturnType Eigen::MatrixBase::operator* ( const UniformScaling< Scalar > &  s) const

Concatenates a linear transformation matrix and a uniform scaling.

Definition at line 120 of file Geometry.

template<typename OtherDerived >
Derived & Eigen::MatrixBase::operator*= ( const EigenBase< OtherDerived > &  other) [inline]

replaces *this by *this * other.

Returns:
a reference to *this

Definition at line 151 of file Core.

Derived& Eigen::DenseBase::operator*= ( const Scalar other) [inline, inherited]
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase::operator+= ( const MatrixBase< OtherDerived > &  other)

replaces *this by *this + other.

Returns:
a reference to *this

Definition at line 234 of file Core.

Derived& Eigen::DenseBase::operator+= ( const EigenBase< OtherDerived > &  other) [inherited]
template<typename OtherDerived >
Derived& Eigen::MatrixBase::operator+= ( const ArrayBase< OtherDerived > &  ) [inline, protected]

Definition at line 515 of file Core.

const CwiseUnaryOp<internal::scalar_opposite_op<typename internal::traits<Derived>::Scalar>, const Derived> Eigen::MatrixBase::operator- ( ) const [inline]
Returns:
an expression of the opposite of *this

Definition at line 60 of file Core.

template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase::operator-= ( const MatrixBase< OtherDerived > &  other)

replaces *this by *this - other.

Returns:
a reference to *this

Definition at line 220 of file Core.

Derived& Eigen::DenseBase::operator-= ( const EigenBase< OtherDerived > &  other) [inherited]
template<typename OtherDerived >
Derived& Eigen::MatrixBase::operator-= ( const ArrayBase< OtherDerived > &  ) [inline, protected]

Definition at line 518 of file Core.

const CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>, const Derived> Eigen::MatrixBase::operator/ ( const Scalar scalar) const [inline]
Returns:
an expression of *this divided by the scalar value scalar

Definition at line 77 of file Core.

Derived& Eigen::DenseBase::operator/= ( const Scalar other) [inline, inherited]
CommaInitializer<Derived> Eigen::DenseBase::operator<< ( const Scalar s) [inherited]

Convenient operator to set the coefficients of a matrix.

The coefficients must be provided in a row major order and exactly match the size of the matrix. Otherwise an assertion is raised.

Example:

Output:

See also:
CommaInitializer::finished(), class CommaInitializer
CommaInitializer<Derived> Eigen::DenseBase::operator<< ( const DenseBase< OtherDerived > &  other) [inherited]
See also:
operator<<(const Scalar&)
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)

template<typename OtherDerived >
Derived& Eigen::MatrixBase::operator= ( const DenseBase< OtherDerived > &  other)

Copies other into *this.

Returns:
a reference to *this.

Reimplemented from Eigen::DenseBase< Derived >.

template<typename OtherDerived >
Derived& Eigen::MatrixBase::operator= ( const EigenBase< OtherDerived > &  other)

Reimplemented from Eigen::DenseBase< Derived >.

template<typename OtherDerived >
Derived& Eigen::MatrixBase::operator= ( const ReturnByValue< OtherDerived > &  other)

Reimplemented from Eigen::DenseBase< Derived >.

template<typename OtherDerived >
bool Eigen::MatrixBase::operator== ( const MatrixBase< OtherDerived > &  other) const [inline]
Returns:
true if each coefficients of *this and other are all exactly equal.
Warning:
When using floating point scalar values you probably should rather use a fuzzy comparison such as isApprox()
See also:
isApprox(), operator!=

Definition at line 303 of file Core.

MatrixBase<Derived>& Eigen::MatrixBase::operator^= ( const unsigned int  pow) [inline]

Combined matrix power and assignment operator.

Definition at line 346 of file Core.

MatrixBase< Derived >::RealScalar Eigen::MatrixBase::operatorNorm ( ) const [inline]

Computes the L2 operator norm.

Returns:
Operator norm of the matrix.

This function computes the L2 operator norm of a matrix, which is also known as the spectral norm. The norm of a matrix $ A $ is defined to be

\[ \|A\|_2 = \max_x \frac{\|Ax\|_2}{\|x\|_2} \]

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 $ A^*A $.

The current implementation uses the eigenvalues of $ A^*A $, 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:

See also:
SelfAdjointView::eigenvalues(), SelfAdjointView::operatorNorm()

Definition at line 136 of file Eigenvalues.

Index Eigen::DenseBase::outerSize ( ) const [inline, inherited]
Returns:
true if either the number of rows or the number of columns is equal to 1. In other words, this function returns
 rows()==1 || cols()==1 
See also:
rows(), cols(), IsVectorAtCompileTime.
Returns:
the outer size.
Note:
For a vector, this returns just 1. For a matrix (non-vector), this is the major dimension with respect to the storage order, i.e., the number of columns for a column-major matrix, and the number of rows for a row-major matrix.

Definition at line 200 of file Core.

const PartialPivLU< typename MatrixBase< Derived >::PlainObject > Eigen::MatrixBase::partialPivLu ( ) const [inline]

Returns:
the partial-pivoting LU decomposition of *this.
See also:
class PartialPivLU

Definition at line 488 of file LU.

Scalar Eigen::DenseBase::prod ( ) const [inherited]
Returns:
the product of all coefficients of *this

Example:

Output:

See also:
sum(), mean(), trace()
EIGEN_STRONG_INLINE void Eigen::MatrixBase::push_back ( Scalar  val) [inline]

Insert an element at the end of the container (for 1D vectors/arrays)

Definition at line 126 of file Core.

static const CwiseNullaryOp<internal::scalar_random_op<Scalar>,Derived> Eigen::DenseBase::Random ( Index  rows,
Index  cols 
) [static, inherited]
Returns:
a random matrix expression

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.

See also:
MatrixBase::setRandom(), MatrixBase::Random(Index), MatrixBase::Random()
static const CwiseNullaryOp<internal::scalar_random_op<Scalar>,Derived> Eigen::DenseBase::Random ( Index  size) [static, inherited]
Returns:
a random vector expression

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.

See also:
MatrixBase::setRandom(), MatrixBase::Random(Index,Index), MatrixBase::Random()
static const CwiseNullaryOp<internal::scalar_random_op<Scalar>,Derived> Eigen::DenseBase::Random ( ) [static, inherited]
Returns:
a fixed-size random matrix or vector expression

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.

See also:
MatrixBase::setRandom(), MatrixBase::Random(Index,Index), MatrixBase::Random(Index)
EIGEN_STRONG_INLINE size_t Eigen::MatrixBase::rank ( double  threshold = 0) const [inline]

Gets the rank of the matrix via the Eigen::ColPivHouseholderQR method.

Parameters:
thresholdIf set to >0, it's used as threshold instead of Eigen's default one.

Definition at line 723 of file Core.

RealReturnType Eigen::MatrixBase::real ( ) const [inline]
Returns:
a read-only expression of the real part of *this.
See also:
imag()

Definition at line 126 of file Core.

NonConstRealReturnType Eigen::MatrixBase::real ( ) [inline]
Returns:
a non const expression of the real part of *this.
See also:
imag()

Definition at line 182 of file Core.

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]

Remove columns of the matrix.

Definition at line 443 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::removeRows ( const std::vector< size_t > &  idxsToRemove) [inline]

Remove rows of the matrix.

Definition at line 467 of file Core.

const Replicate<Derived,RowFactor,ColFactor> Eigen::DenseBase::replicate ( ) const [inherited]
Returns:
an expression of the replication of *this

Example:

Output:

See also:
VectorwiseOp::replicate(), DenseBase::replicate(Index,Index), class Replicate
const Replicate<Derived,Dynamic,Dynamic> Eigen::DenseBase::replicate ( Index  rowFacor,
Index  colFactor 
) const [inherited]
Returns:
an expression of the replication of *this

Example:

Output:

See also:
VectorwiseOp::replicate(), DenseBase::replicate<int,int>(), class Replicate
void Eigen::DenseBase::resize ( Index  size) [inline, inherited]

Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are Matrix::resize() and Array::resize().

The present method only asserts that the new size equals the old size, and does nothing else.

Definition at line 221 of file Core.

void Eigen::DenseBase::resize ( Index  rows,
Index  cols 
) [inline, inherited]

Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are Matrix::resize() and Array::resize().

The present method only asserts that the new size equals the old size, and does nothing else.

Definition at line 231 of file Core.

ReverseReturnType Eigen::DenseBase::reverse ( ) [inherited]
Returns:
an expression of the reverse of *this.

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:

  • less error prone: doing the same operation with .reverse() requires special care:
     m = m.reverse().eval(); 
    
  • this API allows to avoid creating a temporary (the current implementation creates a temporary, but that could be avoided using swap)
  • it allows future optimizations (cache friendliness, etc.)
See also:
reverse()
ColsBlockXpr Eigen::DenseBase::rightCols ( Index  n) [inline, inherited]
Returns:
a block consisting of the right columns of *this.
Parameters:
nthe number of columns in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 452 of file Core.

ConstColsBlockXpr Eigen::DenseBase::rightCols ( Index  n) const [inline, inherited]

This is the const version of rightCols(Index).

Definition at line 458 of file Core.

NColsBlockXpr<N>::Type Eigen::DenseBase::rightCols ( ) [inline, inherited]
Returns:
a block consisting of the right columns of *this.
Template Parameters:
Nthe number of columns in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 473 of file Core.

ConstNColsBlockXpr<N>::Type Eigen::DenseBase::rightCols ( ) const [inline, inherited]

This is the const version of rightCols<int>().

Definition at line 480 of file Core.

template<class MAT2 , class MAT3 >
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)

Definition at line 649 of file Core.

RowXpr Eigen::DenseBase::row ( Index  i) [inline, inherited]
Returns:
an expression of the i-th row of *this. Note that the numbering starts at 0.

Example:

Output:

See also:
col(), class Block

Definition at line 585 of file Core.

ConstRowXpr Eigen::DenseBase::row ( Index  i) const [inline, inherited]

This is the const version of row().

Definition at line 591 of file Core.

ConstRowwiseReturnType Eigen::DenseBase::rowwise ( ) const [inherited]
Returns:
a VectorwiseOp wrapper of *this providing additional partial reduction operations

Example:

Output:

See also:
colwise(), class VectorwiseOp
RowwiseReturnType Eigen::DenseBase::rowwise ( ) [inherited]
Returns:
a writable VectorwiseOp wrapper of *this providing additional partial reduction operations
See also:
colwise(), class VectorwiseOp
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).

Parameters:
theMatrixIt can be a CMatrixTemplate or a CMatrixFixedNumeric.
fileThe target filename.
fileFormatSee TMatrixTextFileFormat. The format of the numbers in the text file.
appendMRPTHeaderInsert this header to the file "% File generated by MRPT. Load with MATLAB with: VAR=load(FILENAME);"
userHeaderAdditional text to be written at the head of the file. Typically MALAB comments "% This file blah blah". Final end-of-line is not needed.
See also:
loadFromTextFile, CMatrixTemplate::inMatlabFormat, SAVE_MATRIX

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]

Scalar power of all elements to a given power, this is diferent of ^ operator.

Definition at line 357 of file Core.

SegmentReturnType Eigen::DenseBase::segment ( Index  start,
Index  size 
) [inherited]
Returns:
a dynamic-size expression of a segment (i.e. a vector block) in *this.
Parameters:
startthe first coefficient in the segment
sizethe number of coefficients in the segment

Example:

Output:

Note:
Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size vector, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.
See also:
class Block, segment(Index)
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]
Returns:
a fixed-size expression of a segment (i.e. a vector block) in *this

The template parameter Size is the number of coefficients in the block

Parameters:
startthe index of the first element of the sub-vector

Example:

Output:

See also:
class Block
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]
Returns:
a matrix where each coefficient (i,j) is equal to thenMatrix(i,j) if *this(i,j), and elseMatrix(i,j) otherwise.

Example:

Output:

See also:
class Select
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.

See also:
DenseBase::select(const DenseBase<ThenDerived>&, const DenseBase<ElseDerived>&) const, class Select
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.

See also:
DenseBase::select(const DenseBase<ThenDerived>&, const DenseBase<ElseDerived>&) const, class Select
template<unsigned int UpLo>
MatrixBase< Derived >::template SelfAdjointViewReturnType< UpLo >::Type Eigen::MatrixBase::selfadjointView ( )

Definition at line 321 of file Core.

template<unsigned int UpLo>
MatrixBase< Derived >::template ConstSelfAdjointViewReturnType< UpLo >::Type Eigen::MatrixBase::selfadjointView ( ) const

Definition at line 313 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::set_unsafe ( const size_t  row,
const size_t  col,
const Scalar  val 
) [inline]

Sets an element (Use with caution, bounds are not checked!)

Definition at line 118 of file Core.

Derived& Eigen::DenseBase::setConstant ( const Scalar value) [inherited]

Sets all coefficients in this expression to value.

See also:
fill(), setConstant(Index,const Scalar&), setConstant(Index,Index,const Scalar&), setZero(), setOnes(), Constant(), class CwiseNullaryOp, setZero(), setOnes()
EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase::setIdentity ( )

Writes the identity expression (not necessarily square) into *this.

Example:

Output:

See also:
class CwiseNullaryOp, Identity(), Identity(Index,Index), isIdentity()

Definition at line 765 of file Core.

EIGEN_STRONG_INLINE Derived & Eigen::MatrixBase::setIdentity ( Index  rows,
Index  cols 
)

Resizes to the given size, and writes the identity expression (not necessarily square) into *this.

Parameters:
rowsthe new number of rows
colsthe new number of columns

Example:

Output:

See also:
MatrixBase::setIdentity(), class CwiseNullaryOp, MatrixBase::Identity()

Definition at line 781 of file Core.

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:

See also:
CwiseNullaryOp
Derived& Eigen::DenseBase::setLinSpaced ( const Scalar low,
const Scalar high 
) [inherited]
Derived& Eigen::DenseBase::setOnes ( ) [inherited]

Sets all coefficients in this expression to one.

Example:

Output:

See also:
class CwiseNullaryOp, Ones()
Derived& Eigen::DenseBase::setRandom ( ) [inherited]

Sets all coefficients in this expression to random values.

Example:

Output:

See also:
class CwiseNullaryOp, setRandom(Index), setRandom(Index,Index)
EIGEN_STRONG_INLINE void Eigen::MatrixBase::setSize ( size_t  row,
size_t  col 
) [inline]

Changes the size of matrix, maintaining its previous content as possible and padding with zeros where applicable.

**WARNING**: MRPT's add-on method setSize() pads with zeros, while Eigen's resize() does NOT (new elements are undefined).

Definition at line 301 of file Core.

Derived& Eigen::DenseBase::setZero ( ) [inherited]

Sets all coefficients in this expression to zero.

Example:

Output:

See also:
class CwiseNullaryOp, Zero()
const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::sin ( ) const
const MatrixFunctionReturnValue<Derived> Eigen::MatrixBase::sinh ( ) const
const SparseView< Derived > Eigen::MatrixBase::sparseView ( const Scalar m_reference = Scalar(0),
typename NumTraits< Scalar >::Real  m_epsilon = NumTraits<Scalar>::dummy_precision() 
) const

Definition at line 104 of file Sparse.

const MatrixSquareRootReturnValue<Derived> Eigen::MatrixBase::sqrt ( ) const
EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Sqrt ( ) [inline]

Definition at line 737 of file Core.

EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Sqrt ( ) const [inline]

Definition at line 738 of file Core.

EIGEN_STRONG_INLINE MatrixBase<Derived>& Eigen::MatrixBase::Square ( ) [inline]

Definition at line 749 of file Core.

EIGEN_STRONG_INLINE PlainObject Eigen::MatrixBase::Square ( ) const [inline]

Definition at line 750 of file Core.

EIGEN_STRONG_INLINE NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::squaredNorm ( ) const
Returns:
, for vectors, the squared l2 norm of *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.
See also:
dot(), norm()

Definition at line 127 of file Core.

EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::squareNorm ( ) const [inline]

Compute the square norm of a vector/array/matrix (the Euclidean distance to the origin, taking all the elements as a single vector).

See also:
norm

Definition at line 275 of file Core.

NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::MatrixBase::stableNorm ( ) const [inline]
Returns:
the l2 norm of *this avoiding underflow and overflow. This version use a blockwise two passes algorithm: 1 - find the absolute largest coefficient s 2 - compute $ s \Vert \frac{*this}{s} \Vert $ in a standard way

For architecture/scalar types supporting vectorization, this version is faster than blueNorm(). Otherwise the blueNorm() is much faster.

See also:
norm(), blueNorm(), hypotNorm()

Definition at line 58 of file Core.

template<typename OTHERMATRIX >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_AAt ( const OTHERMATRIX &  A) [inline]

this -= A + AT

Definition at line 521 of file Core.

template<typename OTHERMATRIX >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_Ac ( const OTHERMATRIX &  m,
const Scalar  c 
) [inline]

Substract c (scalar) times A to this matrix: this -= A * c

Definition at line 509 of file Core.

template<typename OTHERMATRIX >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_An ( const OTHERMATRIX &  m,
const size_t  n 
) [inline]

Substract n (integer) times A to this matrix: this -= A * n

Definition at line 515 of file Core.

template<typename OTHERMATRIX >
EIGEN_STRONG_INLINE void Eigen::MatrixBase::substract_At ( const OTHERMATRIX &  m) [inline]

Substract A transposed to this matrix: this -= A.adjoint()

Definition at line 512 of file Core.

Scalar Eigen::DenseBase::sum ( ) const [inherited]
Returns:
the sum of all coefficients of *this
See also:
trace(), prod(), mean()
EIGEN_STRONG_INLINE Scalar Eigen::MatrixBase::sumAll ( ) const [inline]

Sum all the elements, returning a value of the same type than the container

Definition at line 278 of file Core.

void Eigen::DenseBase::swap ( const DenseBase< OtherDerived > &  other,
int  = OtherDerived::ThisConstantIsPrivateInPlainObjectBase 
) [inline, inherited]

swaps *this with the expression other.

Definition at line 397 of file Core.

void Eigen::DenseBase::swap ( PlainObjectBase< OtherDerived > &  other) [inline, inherited]

swaps *this with the matrix or array other.

Definition at line 407 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::swapCols ( size_t  i1,
size_t  i2 
) [inline]

Definition at line 187 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::swapRows ( size_t  i1,
size_t  i2 
) [inline]

Definition at line 188 of file Core.

EIGEN_STRONG_INLINE const AdjointReturnType Eigen::MatrixBase::t ( ) const [inline]

Transpose.

Definition at line 491 of file Core.

SegmentReturnType Eigen::DenseBase::tail ( Index  size) [inherited]
Returns:
a dynamic-size expression of the last coefficients of *this.
Parameters:
sizethe number of coefficients in the block

Example:

Output:

Note:
Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size vector, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.
See also:
class Block, block(Index,Index)
DenseBase::ConstSegmentReturnType Eigen::DenseBase::tail ( Index  size) const [inherited]

This is the const version of tail(Index).

FixedSegmentReturnType<Size>::Type Eigen::DenseBase::tail ( ) [inherited]
Returns:
a fixed-size expression of the last coefficients of *this.

The template parameter Size is the number of coefficients in the block

Example:

Output:

See also:
class Block
ConstFixedSegmentReturnType<Size>::Type Eigen::DenseBase::tail ( ) const [inherited]

This is the const version of tail<int>.

Block<Derived> Eigen::DenseBase::topLeftCorner ( Index  cRows,
Index  cCols 
) [inline, inherited]
Returns:
a dynamic-size expression of a top-left corner of *this.
Parameters:
cRowsthe number of rows in the corner
cColsthe number of columns in the corner

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 140 of file Core.

const Block<const Derived> Eigen::DenseBase::topLeftCorner ( Index  cRows,
Index  cCols 
) const [inline, inherited]

This is the const version of topLeftCorner(Index, Index).

Definition at line 146 of file Core.

Block<Derived, CRows, CCols> Eigen::DenseBase::topLeftCorner ( ) [inline, inherited]
Returns:
an expression of a fixed-size top-left corner of *this.

The template parameters CRows and CCols are the number of rows and columns in the corner.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 161 of file Core.

const Block<const Derived, CRows, CCols> Eigen::DenseBase::topLeftCorner ( ) const [inline, inherited]

This is the const version of topLeftCorner<int, int>().

Definition at line 168 of file Core.

Block<Derived> Eigen::DenseBase::topRightCorner ( Index  cRows,
Index  cCols 
) [inline, inherited]
Returns:
a dynamic-size expression of a top-right corner of *this.
Parameters:
cRowsthe number of rows in the corner
cColsthe number of columns in the corner

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 94 of file Core.

const Block<const Derived> Eigen::DenseBase::topRightCorner ( Index  cRows,
Index  cCols 
) const [inline, inherited]

This is the const version of topRightCorner(Index, Index).

Definition at line 100 of file Core.

Block<Derived, CRows, CCols> Eigen::DenseBase::topRightCorner ( ) [inline, inherited]
Returns:
an expression of a fixed-size top-right corner of *this.

The template parameters CRows and CCols are the number of rows and columns in the corner.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 115 of file Core.

const Block<const Derived, CRows, CCols> Eigen::DenseBase::topRightCorner ( ) const [inline, inherited]

This is the const version of topRightCorner<int, int>().

Definition at line 122 of file Core.

RowsBlockXpr Eigen::DenseBase::topRows ( Index  n) [inline, inherited]
Returns:
a block consisting of the top rows of *this.
Parameters:
nthe number of rows in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 274 of file Core.

ConstRowsBlockXpr Eigen::DenseBase::topRows ( Index  n) const [inline, inherited]

This is the const version of topRows(Index).

Definition at line 280 of file Core.

NRowsBlockXpr<N>::Type Eigen::DenseBase::topRows ( ) [inline, inherited]
Returns:
a block consisting of the top rows of *this.
Template Parameters:
Nthe number of rows in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 295 of file Core.

ConstNRowsBlockXpr<N>::Type Eigen::DenseBase::topRows ( ) const [inline, inherited]

This is the const version of topRows<int>().

Definition at line 302 of file Core.

EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::MatrixBase::trace ( ) const
Returns:
the trace of *this, i.e. the sum of the coefficients on the main diagonal.

*this can be any matrix, not necessarily square.

See also:
diagonal(), sum()

Reimplemented from Eigen::DenseBase< Derived >.

Definition at line 400 of file Core.

Eigen::Transpose<Derived> Eigen::DenseBase::transpose ( ) [inherited]
Returns:
an expression of the transpose of *this.

Example:

Output:

Warning:
If you want to replace a matrix by its own transpose, do NOT do this:
 m = m.transpose(); // bug!!! caused by aliasing effect
Instead, use the transposeInPlace() method:
 m.transposeInPlace();
which gives Eigen good opportunities for optimization, or alternatively you can also do:
 m = m.transpose().eval();
See also:
transposeInPlace(), adjoint()
ConstTransposeReturnType Eigen::DenseBase::transpose ( ) const [inherited]

This is the const version of transpose().

Make sure you read the warning for transpose() !

See also:
transposeInPlace(), adjoint()
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().

Note:
if the matrix is not square, then *this must be a resizable matrix.
See also:
transpose(), adjoint(), adjointInPlace()
template<unsigned int Mode>
MatrixBase< Derived >::template TriangularViewReturnType< Mode >::Type Eigen::MatrixBase::triangularView ( )
Returns:
an expression of a triangular view extracted from the current matrix

The parameter Mode can have the following values: Upper, StrictlyUpper, UnitUpper, Lower, StrictlyLower, UnitLower.

Example:

Output:

See also:
class TriangularView

Definition at line 775 of file Core.

template<unsigned int Mode>
MatrixBase< Derived >::template ConstTriangularViewReturnType< Mode >::Type Eigen::MatrixBase::triangularView ( ) const

This is the const version of MatrixBase::triangularView()

Definition at line 784 of file Core.

template<typename CustomUnaryOp >
const CwiseUnaryOp<CustomUnaryOp, const Derived> Eigen::MatrixBase::unaryExpr ( const CustomUnaryOp &  func = CustomUnaryOp()) const [inline]

Apply a unary operator coefficient-wise.

Parameters:
[in]funcFunctor implementing the unary operator
Template Parameters:
CustomUnaryOpType of func
Returns:
An expression of a custom coefficient-wise unary operator func of *this

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:

See also:
class CwiseUnaryOp, class CwiseBinaryOp

Definition at line 155 of file Core.

template<typename CustomViewOp >
const CwiseUnaryView<CustomViewOp, const Derived> Eigen::MatrixBase::unaryViewExpr ( const CustomViewOp &  func = CustomViewOp()) const [inline]
Returns:
an expression of a custom coefficient-wise unary operator func of *this

The template parameter CustomUnaryOp is the type of the functor of the custom unary operator.

Example:

Output:

See also:
class CwiseUnaryOp, class CwiseBinaryOp

Definition at line 173 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::unit ( const size_t  nRows,
const Scalar  diag_vals 
) [inline]

Make the matrix an identity matrix (the diagonal values can be 1.0 or any other value)

Definition at line 72 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::unit ( ) [inline]

Make the matrix an identity matrix.

Definition at line 82 of file Core.

EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::Unit ( Index  size,
Index  i 
) [static]
Returns:
an expression of the i-th unit (basis) vector.
See also:
MatrixBase::Unit(Index), MatrixBase::UnitX(), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()

Definition at line 794 of file Core.

EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::Unit ( Index  i) [static]
Returns:
an expression of the i-th unit (basis) vector.

This variant is for fixed-size vector only.

See also:
MatrixBase::Unit(Index,Index), MatrixBase::UnitX(), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()

Definition at line 809 of file Core.

MatrixBase< Derived >::PlainObject Eigen::MatrixBase::unitOrthogonal ( void  ) const
Returns:
a unit vector which is orthogonal to *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().

See also:
cross()

Definition at line 224 of file Geometry.

EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::UnitW ( ) [static]
Returns:
an expression of the W axis unit vector (0,0,0,1)
See also:
MatrixBase::Unit(Index,Index), MatrixBase::Unit(Index), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()

Definition at line 852 of file Core.

EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::UnitX ( ) [static]
Returns:
an expression of the X axis unit vector (1{,0}^*)
See also:
MatrixBase::Unit(Index,Index), MatrixBase::Unit(Index), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()

Definition at line 822 of file Core.

EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::UnitY ( ) [static]
Returns:
an expression of the Y axis unit vector (0,1{,0}^*)
See also:
MatrixBase::Unit(Index,Index), MatrixBase::Unit(Index), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()

Definition at line 832 of file Core.

EIGEN_STRONG_INLINE const MatrixBase< Derived >::BasisReturnType Eigen::MatrixBase::UnitZ ( ) [static]
Returns:
an expression of the Z axis unit vector (0,0,1{,0}^*)
See also:
MatrixBase::Unit(Index,Index), MatrixBase::Unit(Index), MatrixBase::UnitY(), MatrixBase::UnitZ(), MatrixBase::UnitW()

Definition at line 842 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::unsafeRemoveColumns ( const std::vector< size_t > &  idxs) [inline]

Remove columns of the matrix.

The unsafe version assumes that, the indices are sorted in ascending order.

Definition at line 454 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::unsafeRemoveRows ( const std::vector< size_t > &  idxs) [inline]

Remove rows of the matrix.

The unsafe version assumes that, the indices are sorted in ascending order.

Definition at line 478 of file Core.

CoeffReturnType Eigen::DenseBase::value ( void  ) const [inline, inherited]
Returns:
the unique coefficient of a 1x1 expression

Definition at line 447 of file Core.

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);
 };
Note:
compared to one or two for loops, visitors offer automatic unrolling for small fixed size matrix.
See also:
minCoeff(Index*,Index*), maxCoeff(Index*,Index*), DenseBase::redux()
static const ConstantReturnType Eigen::DenseBase::Zero ( Index  rows,
Index  cols 
) [static, inherited]
Returns:
an expression of a zero matrix.

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:

See also:
Zero(), Zero(Index)
static const ConstantReturnType Eigen::DenseBase::Zero ( Index  size) [static, inherited]
Returns:
an expression of a zero vector.

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:

See also:
Zero(), Zero(Index,Index)
static const ConstantReturnType Eigen::DenseBase::Zero ( ) [static, inherited]
Returns:
an expression of a fixed-size zero matrix or vector.

This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variants taking size arguments.

Example:

Output:

See also:
Zero(Index), Zero(Index,Index)
EIGEN_STRONG_INLINE void Eigen::MatrixBase::zeros ( ) [inline]

Set all elements to zero.

Definition at line 87 of file Core.

EIGEN_STRONG_INLINE void Eigen::MatrixBase::zeros ( const size_t  row,
const size_t  col 
) [inline]

Resize and set all elements to zero.

Definition at line 89 of file Core.


Friends And Related Function Documentation

const ScalarMultipleReturnType operator* ( const Scalar scalar,
const StorageBaseType &  matrix 
) [friend]

Definition at line 92 of file Core.

const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived> operator* ( const std::complex< Scalar > &  scalar,
const StorageBaseType &  matrix 
) [friend]

Definition at line 96 of file Core.




Page generated by Doxygen 1.7.5 for MRPT 0.9.5 SVN: at Thu Oct 13 21:25:36 UTC 2011