Logo Search packages:      
Sourcecode: eigen3 version File versions  Download package

Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Friends | Related Functions

MatrixBase< Derived > Class Template Reference

Base class for all dense matrices, vectors, and expressions. More...

#include <MatrixBase.h>

Inheritance diagram for MatrixBase< Derived >:
Inheritance graph
[legend]
Collaboration diagram for MatrixBase< Derived >:
Collaboration graph
[legend]

List of all members.

Classes

struct  ConstDiagonalIndexReturnType
struct  ConstSelfAdjointViewReturnType
struct  ConstTriangularViewReturnType
struct  cross_product_return_type
struct  DiagonalIndexReturnType
struct  SelfAdjointViewReturnType
struct  TriangularViewReturnType

Public Types

enum  { SizeMinusOne = SizeAtCompileTime==Dynamic ? Dynamic : SizeAtCompileTime-1 }
enum  {
  RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime, ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime, SizeAtCompileTime, MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime,
  MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime, MaxSizeAtCompileTime, IsVectorAtCompileTime, Flags = internal::traits<Derived>::Flags,
  IsRowMajor = int(Flags) & RowMajorBit, InnerSizeAtCompileTime, CoeffReadCost = internal::traits<Derived>::CoeffReadCost, InnerStrideAtCompileTime = internal::inner_stride_at_compile_time<Derived>::ret,
  OuterStrideAtCompileTime = internal::outer_stride_at_compile_time<Derived>::ret
}
enum  { ThisConstantIsPrivateInPlainObjectBase }
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, CwiseUnaryOp
< internal::scalar_conjugate_op
< Scalar >
, ConstTransposeReturnType >
, ConstTransposeReturnType >
::type 
AdjointReturnType
typedef DenseBase< Derived > Base
typedef Block< const
CwiseNullaryOp
< internal::scalar_identity_op
< Scalar >, SquareMatrixType >
, internal::traits< Derived >
::RowsAtCompileTime,
internal::traits< Derived >
::ColsAtCompileTime > 
BasisReturnType
typedef Base::CoeffReturnType CoeffReturnType
typedef Block< Derived,
internal::traits< Derived >
::RowsAtCompileTime, Dynamic,!IsRowMajor > 
ColsBlockXpr
typedef VectorwiseOp< Derived,
Vertical > 
ColwiseReturnType
typedef Base::ColXpr ColXpr
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, const
CwiseUnaryOp
< internal::scalar_conjugate_op
< Scalar >, const Derived >
, const Derived & >::type 
ConjugateReturnType
typedef CwiseNullaryOp
< internal::scalar_constant_op
< Scalar >, Derived > 
ConstantReturnType
typedef const Block< const
Derived, internal::traits
< Derived >::RowsAtCompileTime,
Dynamic,!IsRowMajor > 
ConstColsBlockXpr
typedef const VectorwiseOp
< const Derived, Vertical > 
ConstColwiseReturnType
typedef const Block< const
Derived, internal::traits
< Derived >::RowsAtCompileTime,
1,!IsRowMajor > 
ConstColXpr
typedef const Diagonal< const
Derived > 
ConstDiagonalReturnType
typedef const Reverse< const
Derived, BothDirections > 
ConstReverseReturnType
typedef const Block< const
Derived, Dynamic,
internal::traits< Derived >
::ColsAtCompileTime,
IsRowMajor > 
ConstRowsBlockXpr
typedef const VectorwiseOp
< const Derived, Horizontal > 
ConstRowwiseReturnType
typedef const Block< const
Derived, 1, internal::traits
< Derived >::ColsAtCompileTime,
IsRowMajor > 
ConstRowXpr
typedef const VectorBlock
< const Derived > 
ConstSegmentReturnType
typedef Block< const Derived,
internal::traits< Derived >
::ColsAtCompileTime==1?SizeMinusOne:1,
internal::traits< Derived >
::ColsAtCompileTime==1?1:SizeMinusOne > 
ConstStartMinusOne
typedef
Base::ConstTransposeReturnType 
ConstTransposeReturnType
typedef Diagonal< Derived > DiagonalReturnType
typedef Matrix< std::complex
< RealScalar >
, internal::traits< Derived >
::ColsAtCompileTime,
1, ColMajor > 
EigenvaluesReturnType
typedef CwiseUnaryOp
< internal::scalar_quotient1_op
< typename internal::traits
< Derived >::Scalar >, const
ConstStartMinusOne
HNormalizedReturnType
typedef CwiseNullaryOp
< internal::scalar_identity_op
< Scalar >, Derived > 
IdentityReturnType
typedef CwiseUnaryOp
< internal::scalar_imag_op
< Scalar >, const Derived > 
ImagReturnType
typedef internal::traits
< Derived >::Index 
Index
 The type of indices.
typedef CwiseUnaryView
< internal::scalar_imag_ref_op
< Scalar >, Derived > 
NonConstImagReturnType
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, CwiseUnaryView
< internal::scalar_real_ref_op
< Scalar >, Derived >, Derived & >
::type 
NonConstRealReturnType
typedef
internal::packet_traits
< Scalar >::type 
PacketScalar
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 CwiseNullaryOp
< internal::linspaced_op
< Scalar, true >, Derived > 
RandomAccessLinSpacedReturnType
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, const
CwiseUnaryOp
< internal::scalar_real_op
< Scalar >, const Derived >
, const Derived & >::type 
RealReturnType
typedef NumTraits< Scalar >::Real RealScalar
typedef Reverse< Derived,
BothDirections > 
ReverseReturnType
typedef Block< Derived,
Dynamic, internal::traits
< Derived >::ColsAtCompileTime,
IsRowMajor > 
RowsBlockXpr
typedef VectorwiseOp< Derived,
Horizontal > 
RowwiseReturnType
typedef Base::RowXpr RowXpr
typedef internal::traits
< Derived >::Scalar 
Scalar
typedef CwiseUnaryOp
< internal::scalar_multiple_op
< Scalar >, const Derived > 
ScalarMultipleReturnType
typedef CwiseUnaryOp
< internal::scalar_quotient1_op
< Scalar >, const Derived > 
ScalarQuotient1ReturnType
typedef VectorBlock< Derived > SegmentReturnType
typedef CwiseNullaryOp
< internal::linspaced_op
< Scalar, false >, Derived > 
SequentialLinSpacedReturnType
typedef Matrix< Scalar,
EIGEN_SIZE_MAX(RowsAtCompileTime,
ColsAtCompileTime),
EIGEN_SIZE_MAX(RowsAtCompileTime,
ColsAtCompileTime)> 
SquareMatrixType
typedef
internal::stem_function
< Scalar >::type 
StemFunction
typedef MatrixBase StorageBaseType
typedef internal::traits
< Derived >::StorageKind 
StorageKind

Public Member Functions

const AdjointReturnType adjoint () const
void adjointInPlace ()
bool all (void) const
bool any (void) const
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 OtherDerived >
void applyOnTheLeft (const EigenBase< OtherDerived > &other)
template<typename OtherScalar >
void applyOnTheLeft (Index p, Index q, const JacobiRotation< OtherScalar > &j)
template<typename OtherDerived >
void applyOnTheRight (const EigenBase< OtherDerived > &other)
template<typename OtherScalar >
void applyOnTheRight (Index p, Index q, const JacobiRotation< OtherScalar > &j)
const ArrayWrapper< Derived > array () const
ArrayWrapper< Derived > array ()
const DiagonalWrapper< const
Derived > 
asDiagonal () const
const PermutationWrapper
< const Derived > 
asPermutation () const
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
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
template<int BlockRows, int BlockCols>
Block< Derived, BlockRows,
BlockCols > 
block (Index startRow, Index startCol)
template<int BlockRows, int BlockCols>
const Block< const Derived,
BlockRows, BlockCols > 
block (Index startRow, Index startCol) const
RealScalar blueNorm () const
Block< Derived > bottomLeftCorner (Index cRows, Index cCols)
const Block< const Derived > bottomLeftCorner (Index cRows, Index cCols) const
template<int CRows, int CCols>
Block< Derived, CRows, CCols > bottomLeftCorner ()
template<int CRows, int CCols>
const Block< const Derived,
CRows, CCols > 
bottomLeftCorner () const
const Block< const Derived > bottomRightCorner (Index cRows, Index cCols) const
template<int CRows, int CCols>
Block< Derived, CRows, CCols > bottomRightCorner ()
template<int CRows, int CCols>
const Block< const Derived,
CRows, CCols > 
bottomRightCorner () const
Block< Derived > bottomRightCorner (Index cRows, Index cCols)
RowsBlockXpr bottomRows (Index n)
ConstRowsBlockXpr bottomRows (Index n) const
template<int N>
NRowsBlockXpr< N >::Type bottomRows ()
template<int N>
ConstNRowsBlockXpr< N >::Type bottomRows () const
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
ColXpr col (Index i)
ConstColXpr col (Index i) const
const ColPivHouseholderQR
< PlainObject
colPivHouseholderQr () const
ConstColwiseReturnType colwise () const
ColwiseReturnType colwise ()
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
ConjugateReturnType conjugate () const
const
MatrixFunctionReturnValue
< Derived > 
cos () const
const
MatrixFunctionReturnValue
< Derived > 
cosh () const
Index count () 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
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
< std::binder1st
< std::equal_to< Scalar >
>, const Derived > 
cwiseEqual (const Scalar &s) const
template<typename OtherDerived >
const CwiseBinaryOp
< std::equal_to< Scalar >
, const Derived, const
OtherDerived > 
cwiseEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
const CwiseUnaryOp
< internal::scalar_inverse_op
< Scalar >, const Derived > 
cwiseInverse () 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_min_op
< Scalar >, const Derived,
const OtherDerived > 
cwiseMin (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_quotient_op
< Scalar >, const Derived,
const OtherDerived > 
cwiseQuotient (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
const CwiseUnaryOp
< internal::scalar_sqrt_op
< Scalar >, const Derived > 
cwiseSqrt () const
Scalar determinant () const
DiagonalReturnType diagonal ()
const ConstDiagonalReturnType diagonal () const
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
Index diagonalSize () 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
template<typename OtherDerived >
EIGEN_STRONG_INLINE const EIGEN_CWISE_PRODUCT_RETURN_TYPE (Derived, OtherDerived) cwiseProduct(const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
EigenvaluesReturnType eigenvalues () const
 Computes the eigenvalues of a matrix.
Matrix< Scalar, 3, 1 > eulerAngles (Index a0, Index a1, Index a2) const
EIGEN_STRONG_INLINE const
internal::eval< Derived >
::type 
eval () const
template<typename Dest >
void evalTo (Dest &) const
const
MatrixExponentialReturnValue
< Derived > 
exp () const
void fill (const Scalar &value)
template<unsigned int Added, unsigned int Removed>
const Flagged< Derived, Added,
Removed > 
flagged () const
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 ()
const WithFormat< Derived > format (const IOFormat &fmt) const
const FullPivHouseholderQR
< PlainObject
fullPivHouseholderQr () const
const FullPivLU< PlainObjectfullPivLu () const
DenseBase::ConstSegmentReturnType head (Index size) const
template<int Size>
FixedSegmentReturnType< Size >
::Type 
head ()
SegmentReturnType head (Index size)
template<int Size>
ConstFixedSegmentReturnType
< Size >::Type 
head () const
const HNormalizedReturnType hnormalized () const
const HouseholderQR< PlainObjecthouseholderQr () const
RealScalar hypotNorm () const
const ImagReturnType imag () const
NonConstImagReturnType imag ()
Index innerSize () const
const internal::inverse_impl
< Derived > 
inverse () const
template<typename OtherDerived >
bool isApprox (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 isDiagonal (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const
bool isIdentity (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const
bool isLowerTriangular (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const
bool isMuchSmallerThan (const RealScalar &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const
template<typename OtherDerived >
bool isMuchSmallerThan (const DenseBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const
template<typename Derived >
bool isMuchSmallerThan (const typename NumTraits< Scalar >::Real &other, RealScalar prec) const
bool isOnes (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
bool isUpperTriangular (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const
bool isZero (RealScalar prec=NumTraits< Scalar >::dummy_precision()) const
JacobiSVD< PlainObjectjacobiSvd (unsigned int computationOptions=0) const
template<typename ProductDerived , typename Lhs , typename Rhs >
Derived & lazyAssign (const ProductBase< ProductDerived, Lhs, Rhs > &other)
template<typename OtherDerived >
Derived & lazyAssign (const DenseBase< OtherDerived > &other)
template<typename OtherDerived >
const LazyProductReturnType
< Derived, OtherDerived >
::Type 
lazyProduct (const MatrixBase< OtherDerived > &other) const
const LDLT< PlainObjectldlt () const
template<int N>
NColsBlockXpr< N >::Type leftCols ()
ColsBlockXpr leftCols (Index n)
ConstColsBlockXpr leftCols (Index n) const
template<int N>
ConstNColsBlockXpr< N >::Type leftCols () const
const LLT< PlainObjectllt () const
template<int p>
RealScalar lpNorm () const
template<typename EssentialPart >
void makeHouseholder (EssentialPart &essential, Scalar &tau, RealScalar &beta) const
void makeHouseholderInPlace (Scalar &tau, RealScalar &beta)
MatrixBase< Derived > & matrix ()
const MatrixBase< Derived > & matrix () const
const
MatrixFunctionReturnValue
< Derived > 
matrixFunction (StemFunction f) const
internal::traits< Derived >::Scalar maxCoeff () const
template<typename IndexType >
internal::traits< Derived >::Scalar maxCoeff (IndexType *row, IndexType *col) const
template<typename IndexType >
internal::traits< Derived >::Scalar maxCoeff (IndexType *index) const
Scalar mean () const
template<int N>
NColsBlockXpr< N >::Type middleCols (Index startCol)
ColsBlockXpr middleCols (Index startCol, Index numCols)
ConstColsBlockXpr middleCols (Index startCol, Index numCols) const
template<int N>
ConstNColsBlockXpr< N >::Type middleCols (Index startCol) const
template<int N>
NRowsBlockXpr< N >::Type middleRows (Index startRow)
template<int N>
ConstNRowsBlockXpr< N >::Type middleRows (Index startRow) const
ConstRowsBlockXpr middleRows (Index startRow, Index numRows) const
RowsBlockXpr middleRows (Index startRow, Index numRows)
internal::traits< Derived >::Scalar minCoeff () const
template<typename IndexType >
internal::traits< Derived >::Scalar minCoeff (IndexType *row, IndexType *col) const
template<typename IndexType >
internal::traits< Derived >::Scalar minCoeff (IndexType *index) const
const NestByValue< Derived > nestByValue () const
NoAlias< Derived,
Eigen::MatrixBase > 
noalias ()
Index nonZeros () const
RealScalar norm () const
void normalize ()
const PlainObject normalized () const
template<typename OtherDerived >
bool operator!= (const MatrixBase< OtherDerived > &other) const
template<typename OtherDerived >
const ProductReturnType
< Derived, OtherDerived >
::Type 
operator* (const MatrixBase< OtherDerived > &other) const
const CwiseUnaryOp
< internal::scalar_multiple2_op
< Scalar, std::complex< Scalar >
>, const Derived > 
operator* (const std::complex< Scalar > &scalar) const
template<typename DiagonalDerived >
const DiagonalProduct< Derived,
DiagonalDerived, OnTheRight > 
operator* (const DiagonalBase< DiagonalDerived > &diagonal) const
const ScalarMultipleReturnType operator* (const Scalar &scalar) const
void operator* () const
template<typename Derived >
MatrixBase< Derived >
::ScalarMultipleReturnType 
operator* (const UniformScaling< Scalar > &s) const
template<typename OtherDerived >
Derived & operator*= (const EigenBase< OtherDerived > &other)
Derived & operator*= (const Scalar &other)
template<typename OtherDerived >
Derived & operator+= (const EigenBase< OtherDerived > &other)
template<typename OtherDerived >
Derived & operator+= (const MatrixBase< OtherDerived > &other)
const CwiseUnaryOp
< internal::scalar_opposite_op
< typename internal::traits
< Derived >::Scalar >, const
Derived > 
operator- () const
template<typename OtherDerived >
Derived & operator-= (const MatrixBase< OtherDerived > &other)
template<typename OtherDerived >
Derived & operator-= (const EigenBase< OtherDerived > &other)
const CwiseUnaryOp
< internal::scalar_quotient1_op
< typename internal::traits
< Derived >::Scalar >, const
Derived > 
operator/ (const Scalar &scalar) const
Derived & operator/= (const Scalar &other)
CommaInitializer< Derived > operator<< (const Scalar &s)
template<typename OtherDerived >
CommaInitializer< Derived > operator<< (const DenseBase< OtherDerived > &other)
template<typename OtherDerived >
Derived & operator= (const ReturnByValue< OtherDerived > &other)
template<typename OtherDerived >
Derived & operator= (const DenseBase< OtherDerived > &other)
Derived & operator= (const MatrixBase &other)
template<typename OtherDerived >
Derived & operator= (const EigenBase< OtherDerived > &other)
 Copies the generic expression other into *this.
template<typename OtherDerived >
bool operator== (const MatrixBase< OtherDerived > &other) const
RealScalar operatorNorm () const
 Computes the L2 operator norm.
Index outerSize () const
const PartialPivLU< PlainObjectpartialPivLu () const
Scalar prod () const
RealReturnType real () const
NonConstRealReturnType real ()
const Replicate< Derived,
Dynamic, Dynamic > 
replicate (Index rowFacor, Index colFactor) const
template<int RowFactor, int ColFactor>
const Replicate< Derived,
RowFactor, ColFactor > 
replicate () const
void resize (Index rows, Index cols)
void resize (Index size)
ReverseReturnType reverse ()
ConstReverseReturnType reverse () const
void reverseInPlace ()
template<int N>
ConstNColsBlockXpr< N >::Type rightCols () const
ColsBlockXpr rightCols (Index n)
ConstColsBlockXpr rightCols (Index n) const
template<int N>
NColsBlockXpr< N >::Type rightCols ()
RowXpr row (Index i)
ConstRowXpr row (Index i) const
ConstRowwiseReturnType rowwise () const
RowwiseReturnType rowwise ()
DenseBase::ConstSegmentReturnType segment (Index start, Index size) const
template<int Size>
ConstFixedSegmentReturnType
< Size >::Type 
segment (Index start) const
SegmentReturnType segment (Index start, Index size)
template<int Size>
FixedSegmentReturnType< Size >
::Type 
segment (Index start)
template<typename ElseDerived >
const Select< Derived,
typename
ElseDerived::ConstantReturnType,
ElseDerived > 
select (typename ElseDerived::Scalar thenScalar, const DenseBase< ElseDerived > &elseMatrix) const
template<typename ThenDerived , typename ElseDerived >
const Select< Derived,
ThenDerived, ElseDerived > 
select (const DenseBase< ThenDerived > &thenMatrix, const DenseBase< ElseDerived > &elseMatrix) const
template<typename ThenDerived >
const Select< Derived,
ThenDerived, typename
ThenDerived::ConstantReturnType > 
select (const DenseBase< ThenDerived > &thenMatrix, typename ThenDerived::Scalar elseScalar) const
template<unsigned int UpLo>
SelfAdjointViewReturnType
< UpLo >::Type 
selfadjointView ()
template<unsigned int UpLo>
ConstSelfAdjointViewReturnType
< UpLo >::Type 
selfadjointView () const
Derived & setConstant (const Scalar &value)
Derived & setIdentity ()
Derived & setIdentity (Index rows, Index cols)
 Resizes to the given size, and writes the identity expression (not necessarily square) into *this.
Derived & setLinSpaced (Index size, const Scalar &low, const Scalar &high)
 Sets a linearly space vector.
Derived & setLinSpaced (const Scalar &low, const Scalar &high)
Derived & setOnes ()
Derived & setRandom ()
Derived & setZero ()
const
MatrixFunctionReturnValue
< Derived > 
sin () const
const
MatrixFunctionReturnValue
< Derived > 
sinh () const
const SparseView< Derived > sparseView (const Scalar &m_reference=Scalar(0), typename NumTraits< Scalar >::Real m_epsilon=NumTraits< Scalar >::dummy_precision()) const
RealScalar squaredNorm () const
RealScalar stableNorm () const
Scalar sum () const
template<typename OtherDerived >
void swap (PlainObjectBase< OtherDerived > &other)
template<typename OtherDerived >
void swap (const DenseBase< OtherDerived > &other, int=OtherDerived::ThisConstantIsPrivateInPlainObjectBase)
DenseBase::ConstSegmentReturnType tail (Index size) const
template<int Size>
ConstFixedSegmentReturnType
< Size >::Type 
tail () const
template<int Size>
FixedSegmentReturnType< Size >
::Type 
tail ()
SegmentReturnType tail (Index size)
const Block< const Derived > topLeftCorner (Index cRows, Index cCols) const
template<int CRows, int CCols>
const Block< const Derived,
CRows, CCols > 
topLeftCorner () const
Block< Derived > topLeftCorner (Index cRows, Index cCols)
template<int CRows, int CCols>
Block< Derived, CRows, CCols > topLeftCorner ()
const Block< const Derived > topRightCorner (Index cRows, Index cCols) const
template<int CRows, int CCols>
Block< Derived, CRows, CCols > topRightCorner ()
Block< Derived > topRightCorner (Index cRows, Index cCols)
template<int CRows, int CCols>
const Block< const Derived,
CRows, CCols > 
topRightCorner () const
RowsBlockXpr topRows (Index n)
ConstRowsBlockXpr topRows (Index n) const
template<int N>
ConstNRowsBlockXpr< N >::Type topRows () const
template<int N>
NRowsBlockXpr< N >::Type topRows ()
Scalar trace () const
Eigen::Transpose< Derived > transpose ()
ConstTransposeReturnType transpose () const
void transposeInPlace ()
template<unsigned int Mode>
ConstTriangularViewReturnType
< Mode >::Type 
triangularView () const
template<unsigned int Mode>
TriangularViewReturnType< Mode >
::Type 
triangularView ()
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
PlainObject unitOrthogonal (void) const
CoeffReturnType value () const
template<typename Visitor >
void visit (Visitor &func) const

Static Public Member Functions

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 IdentityReturnType Identity (Index rows, Index cols)
static const IdentityReturnType Identity ()
static const
SequentialLinSpacedReturnType 
LinSpaced (Sequential_t, Index size, const Scalar &low, const Scalar &high)
 Sets a linearly space vector.
static const
RandomAccessLinSpacedReturnType 
LinSpaced (Index size, const Scalar &low, const Scalar &high)
 Sets a linearly space vector.
static const
SequentialLinSpacedReturnType 
LinSpaced (Sequential_t, const Scalar &low, const Scalar &high)
static const
RandomAccessLinSpacedReturnType 
LinSpaced (const Scalar &low, const Scalar &high)
template<typename CustomNullaryOp >
static const CwiseNullaryOp
< CustomNullaryOp, Derived > 
NullaryExpr (Index rows, Index cols, const CustomNullaryOp &func)
template<typename CustomNullaryOp >
static const CwiseNullaryOp
< CustomNullaryOp, Derived > 
NullaryExpr (Index size, const CustomNullaryOp &func)
template<typename CustomNullaryOp >
static const CwiseNullaryOp
< CustomNullaryOp, Derived > 
NullaryExpr (const CustomNullaryOp &func)
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 ()
static const BasisReturnType Unit (Index size, Index i)
static const BasisReturnType Unit (Index i)
static const BasisReturnType UnitW ()
static const BasisReturnType UnitX ()
static const BasisReturnType UnitY ()
static const BasisReturnType UnitZ ()
static const ConstantReturnType Zero ()
static const ConstantReturnType Zero (Index rows, Index cols)
static const ConstantReturnType Zero (Index size)

Protected Member Functions

template<typename OtherDerived >
void checkTransposeAliasing (const OtherDerived &other) const
template<typename OtherDerived >
Derived & operator+= (const ArrayBase< OtherDerived > &)
template<typename OtherDerived >
Derived & operator-= (const ArrayBase< OtherDerived > &)

Private Member Functions

 MatrixBase (int)
template<typename OtherDerived >
 MatrixBase (const MatrixBase< OtherDerived > &)
 MatrixBase (int, int)

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)

Related Functions

(Note that these are not member functions.)


template<typename Derived >
std::ostream & operator<< (std::ostream &s, const DenseBase< Derived > &m)

Detailed Description

template<typename Derived>
class MatrixBase< Derived >

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 Customizing/Extending Eigen by defining the preprocessor symbol EIGEN_MATRIXBASE_PLUGIN.

See also:
The class hierarchy

Definition at line 61 of file MatrixBase.h.


The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index