OSVR-Core
|
Base class for all dense matrices, vectors, and arrays. More...
#include <DenseBase.h>
Classes | |
struct | ConstFixedSegmentReturnType |
struct | ConstNColsBlockXpr |
struct | ConstNRowsBlockXpr |
struct | FixedSegmentReturnType |
class | InnerIterator |
struct | NColsBlockXpr |
struct | NRowsBlockXpr |
Public Types | |
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::traits< Derived >::StorageKind | StorageKind |
typedef internal::traits< Derived >::Index | Index |
The type of indices. More... | |
typedef internal::traits< Derived >::Scalar | Scalar |
typedef internal::packet_traits< Scalar >::type | PacketScalar |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef internal::special_scalar_op_base< Derived, Scalar, RealScalar, DenseCoeffsBase< Derived > > | Base |
typedef Base::CoeffReturnType | CoeffReturnType |
typedef CwiseNullaryOp< internal::scalar_constant_op< Scalar >, Derived > | ConstantReturnType |
typedef CwiseNullaryOp< internal::linspaced_op< Scalar, false >, Derived > | SequentialLinSpacedReturnType |
typedef CwiseNullaryOp< internal::linspaced_op< Scalar, true >, Derived > | RandomAccessLinSpacedReturnType |
typedef Matrix< typename NumTraits< typename internal::traits< Derived >::Scalar >::Real, internal::traits< Derived >::ColsAtCompileTime, 1 > | EigenvaluesReturnType |
typedef internal::add_const< Transpose< const Derived > >::type | ConstTransposeReturnType |
typedef internal::add_const_on_value_type< typename internal::eval< Derived >::type >::type | EvalReturnType |
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 Replicate< Derived, Dynamic, Dynamic > | ReplicateReturnType |
typedef Reverse< Derived, BothDirections > | ReverseReturnType |
typedef const Reverse< const Derived, BothDirections > | ConstReverseReturnType |
typedef Block< Derived, internal::traits< Derived >::RowsAtCompileTime, 1, !IsRowMajor > | ColXpr |
typedef const Block< const Derived, internal::traits< Derived >::RowsAtCompileTime, 1, !IsRowMajor > | ConstColXpr |
typedef Block< Derived, 1, internal::traits< Derived >::ColsAtCompileTime, IsRowMajor > | RowXpr |
typedef const Block< const Derived, 1, internal::traits< Derived >::ColsAtCompileTime, IsRowMajor > | ConstRowXpr |
typedef Block< Derived, internal::traits< Derived >::RowsAtCompileTime, Dynamic, !IsRowMajor > | ColsBlockXpr |
typedef const Block< const Derived, internal::traits< Derived >::RowsAtCompileTime, Dynamic, !IsRowMajor > | ConstColsBlockXpr |
typedef Block< Derived, Dynamic, internal::traits< Derived >::ColsAtCompileTime, IsRowMajor > | RowsBlockXpr |
typedef const Block< const Derived, Dynamic, internal::traits< Derived >::ColsAtCompileTime, IsRowMajor > | ConstRowsBlockXpr |
typedef VectorBlock< Derived > | SegmentReturnType |
typedef const VectorBlock< const Derived > | ConstSegmentReturnType |
Public Member Functions | |
Index | nonZeros () const |
Index | outerSize () const |
Index | innerSize () const |
void | resize (Index newSize) |
Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are Matrix::resize() and Array::resize(). More... | |
void | resize (Index nbRows, Index nbCols) |
Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods are Matrix::resize() and Array::resize(). More... | |
template<typename OtherDerived > | |
Derived & | operator= (const DenseBase< OtherDerived > &other) |
Copies other into *this. More... | |
Derived & | operator= (const DenseBase &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 EigenBase< OtherDerived > &other) |
Copies the generic expression other into *this. More... | |
template<typename OtherDerived > | |
Derived & | operator+= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
Derived & | operator-= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
Derived & | operator= (const ReturnByValue< OtherDerived > &func) |
template<typename OtherDerived > | |
Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
Derived & | lazyAssign (const ReturnByValue< OtherDerived > &other) |
CommaInitializer< Derived > | operator<< (const Scalar &s) |
template<unsigned int Added, unsigned int Removed> | |
const Flagged< Derived, Added, Removed > | flagged () const |
template<typename OtherDerived > | |
CommaInitializer< Derived > | operator<< (const DenseBase< OtherDerived > &other) |
Eigen::Transpose< Derived > | transpose () |
ConstTransposeReturnType | transpose () const |
This is the const version of transpose(). More... | |
void | transposeInPlace () |
This is the "in place" version of transpose(): it replaces *this by its own transpose. More... | |
void | fill (const Scalar &value) |
Alias for setConstant(): sets all coefficients in this expression to val. More... | |
Derived & | setConstant (const Scalar &value) |
Sets all coefficients in this expression to value. More... | |
Derived & | setLinSpaced (Index size, const Scalar &low, const Scalar &high) |
Sets a linearly space vector. More... | |
Derived & | setLinSpaced (const Scalar &low, const Scalar &high) |
Sets a linearly space vector. More... | |
Derived & | setZero () |
Sets all coefficients in this expression to zero. More... | |
Derived & | setOnes () |
Sets all coefficients in this expression to one. More... | |
Derived & | setRandom () |
Sets all coefficients in this expression to random values. More... | |
template<typename OtherDerived > | |
bool | isApprox (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | isMuchSmallerThan (const RealScalar &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
template<typename OtherDerived > | |
bool | isMuchSmallerThan (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | isApproxToConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | isConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
This is just an alias for isApproxToConstant(). More... | |
bool | isZero (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | isOnes (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | hasNaN () const |
bool | allFinite () const |
Derived & | operator*= (const Scalar &other) |
Derived & | operator/= (const Scalar &other) |
EIGEN_STRONG_INLINE EvalReturnType | eval () const |
template<typename OtherDerived > | |
void | swap (const DenseBase< OtherDerived > &other, int=OtherDerived::ThisConstantIsPrivateInPlainObjectBase) |
swaps *this with the expression other. | |
template<typename OtherDerived > | |
void | swap (PlainObjectBase< OtherDerived > &other) |
swaps *this with the matrix or array other. | |
const NestByValue< Derived > | nestByValue () const |
const ForceAlignedAccess< Derived > | forceAlignedAccess () const |
ForceAlignedAccess< Derived > | forceAlignedAccess () |
template<bool Enable> | |
const internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type | forceAlignedAccessIf () const |
template<bool Enable> | |
internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type | forceAlignedAccessIf () |
Scalar | sum () const |
Scalar | mean () const |
Scalar | trace () const |
Scalar | prod () const |
internal::traits< Derived >::Scalar | minCoeff () const |
internal::traits< Derived >::Scalar | maxCoeff () const |
template<typename IndexType > | |
internal::traits< Derived >::Scalar | minCoeff (IndexType *row, IndexType *col) const |
template<typename IndexType > | |
internal::traits< Derived >::Scalar | maxCoeff (IndexType *row, IndexType *col) const |
template<typename IndexType > | |
internal::traits< Derived >::Scalar | minCoeff (IndexType *index) const |
template<typename IndexType > | |
internal::traits< Derived >::Scalar | maxCoeff (IndexType *index) const |
template<typename BinaryOp > | |
internal::result_of< BinaryOp(typename internal::traits< Derived >::Scalar)>::type | redux (const BinaryOp &func) const |
template<typename Visitor > | |
void | visit (Visitor &func) const |
Applies the visitor visitor to the whole coefficients of the matrix or vector. More... | |
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 () |
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, const typename ThenDerived::Scalar &elseScalar) const |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the else expression being a scalar value. More... | |
template<typename ElseDerived > | |
const Select< Derived, typename ElseDerived::ConstantReturnType, ElseDerived > | select (const typename ElseDerived::Scalar &thenScalar, const DenseBase< ElseDerived > &elseMatrix) const |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the then expression being a scalar value. More... | |
template<int p> | |
RealScalar | lpNorm () const |
template<int RowFactor, int ColFactor> | |
const Replicate< Derived, RowFactor, ColFactor > | replicate () const |
const ReplicateReturnType | replicate (Index rowFacor, Index colFactor) const |
ReverseReturnType | reverse () |
ConstReverseReturnType | reverse () const |
This is the const version of reverse(). More... | |
void | reverseInPlace () |
This is the "in place" version of reverse: it reverses *this . More... | |
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). More... | |
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). More... | |
template<int CRows, int CCols> | |
Block< Derived, CRows, CCols > | topRightCorner () |
template<int CRows, int CCols> | |
const Block< const Derived, CRows, CCols > | topRightCorner () const |
This is the const version of topRightCorner<int, int>(). More... | |
template<int CRows, int CCols> | |
Block< Derived, CRows, CCols > | topRightCorner (Index cRows, Index cCols) |
template<int CRows, int CCols> | |
const Block< const Derived, CRows, CCols > | topRightCorner (Index cRows, Index cCols) const |
This is the const version of topRightCorner<int, int>(Index, Index). More... | |
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). More... | |
template<int CRows, int CCols> | |
Block< Derived, CRows, CCols > | topLeftCorner () |
template<int CRows, int CCols> | |
const Block< const Derived, CRows, CCols > | topLeftCorner () const |
This is the const version of topLeftCorner<int, int>(). More... | |
template<int CRows, int CCols> | |
Block< Derived, CRows, CCols > | topLeftCorner (Index cRows, Index cCols) |
template<int CRows, int CCols> | |
const Block< const Derived, CRows, CCols > | topLeftCorner (Index cRows, Index cCols) const |
This is the const version of topLeftCorner<int, int>(Index, Index). More... | |
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). More... | |
template<int CRows, int CCols> | |
Block< Derived, CRows, CCols > | bottomRightCorner () |
template<int CRows, int CCols> | |
const Block< const Derived, CRows, CCols > | bottomRightCorner () const |
This is the const version of bottomRightCorner<int, int>(). More... | |
template<int CRows, int CCols> | |
Block< Derived, CRows, CCols > | bottomRightCorner (Index cRows, Index cCols) |
template<int CRows, int CCols> | |
const Block< const Derived, CRows, CCols > | bottomRightCorner (Index cRows, Index cCols) const |
This is the const version of bottomRightCorner<int, int>(Index, Index). More... | |
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). More... | |
template<int CRows, int CCols> | |
Block< Derived, CRows, CCols > | bottomLeftCorner () |
template<int CRows, int CCols> | |
const Block< const Derived, CRows, CCols > | bottomLeftCorner () const |
This is the const version of bottomLeftCorner<int, int>(). More... | |
template<int CRows, int CCols> | |
Block< Derived, CRows, CCols > | bottomLeftCorner (Index cRows, Index cCols) |
template<int CRows, int CCols> | |
const Block< const Derived, CRows, CCols > | bottomLeftCorner (Index cRows, Index cCols) const |
This is the const version of bottomLeftCorner<int, int>(Index, Index). More... | |
RowsBlockXpr | topRows (Index n) |
ConstRowsBlockXpr | topRows (Index n) const |
This is the const version of topRows(Index). More... | |
template<int N> | |
NRowsBlockXpr< N >::Type | topRows (Index n=N) |
template<int N> | |
ConstNRowsBlockXpr< N >::Type | topRows (Index n=N) const |
This is the const version of topRows<int>(). More... | |
RowsBlockXpr | bottomRows (Index n) |
ConstRowsBlockXpr | bottomRows (Index n) const |
This is the const version of bottomRows(Index). More... | |
template<int N> | |
NRowsBlockXpr< N >::Type | bottomRows (Index n=N) |
template<int N> | |
ConstNRowsBlockXpr< N >::Type | bottomRows (Index n=N) const |
This is the const version of bottomRows<int>(). More... | |
RowsBlockXpr | middleRows (Index startRow, Index n) |
ConstRowsBlockXpr | middleRows (Index startRow, Index n) const |
This is the const version of middleRows(Index,Index). More... | |
template<int N> | |
NRowsBlockXpr< N >::Type | middleRows (Index startRow, Index n=N) |
template<int N> | |
ConstNRowsBlockXpr< N >::Type | middleRows (Index startRow, Index n=N) const |
This is the const version of middleRows<int>(). More... | |
ColsBlockXpr | leftCols (Index n) |
ConstColsBlockXpr | leftCols (Index n) const |
This is the const version of leftCols(Index). More... | |
template<int N> | |
NColsBlockXpr< N >::Type | leftCols (Index n=N) |
template<int N> | |
ConstNColsBlockXpr< N >::Type | leftCols (Index n=N) const |
This is the const version of leftCols<int>(). More... | |
ColsBlockXpr | rightCols (Index n) |
ConstColsBlockXpr | rightCols (Index n) const |
This is the const version of rightCols(Index). More... | |
template<int N> | |
NColsBlockXpr< N >::Type | rightCols (Index n=N) |
template<int N> | |
ConstNColsBlockXpr< N >::Type | rightCols (Index n=N) const |
This is the const version of rightCols<int>(). More... | |
ColsBlockXpr | middleCols (Index startCol, Index numCols) |
ConstColsBlockXpr | middleCols (Index startCol, Index numCols) const |
This is the const version of middleCols(Index,Index). More... | |
template<int N> | |
NColsBlockXpr< N >::Type | middleCols (Index startCol, Index n=N) |
template<int N> | |
ConstNColsBlockXpr< N >::Type | middleCols (Index startCol, Index n=N) const |
This is the const version of middleCols<int>(). More... | |
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 |
This is the const version of block<>(Index, Index). More... | |
template<int BlockRows, int BlockCols> | |
Block< Derived, BlockRows, BlockCols > | block (Index startRow, Index startCol, Index blockRows, Index blockCols) |
template<int BlockRows, int BlockCols> | |
const Block< const Derived, BlockRows, BlockCols > | block (Index startRow, Index startCol, Index blockRows, Index blockCols) const |
This is the const version of block<>(Index, Index, Index, Index). More... | |
ColXpr | col (Index i) |
ConstColXpr | col (Index i) const |
This is the const version of col(). More... | |
RowXpr | row (Index i) |
ConstRowXpr | row (Index i) const |
This is the const version of row(). More... | |
SegmentReturnType | segment (Index start, Index n) |
ConstSegmentReturnType | segment (Index start, Index n) const |
This is the const version of segment(Index,Index). More... | |
SegmentReturnType | head (Index n) |
ConstSegmentReturnType | head (Index n) const |
This is the const version of head(Index). More... | |
SegmentReturnType | tail (Index n) |
ConstSegmentReturnType | tail (Index n) const |
This is the const version of tail(Index). More... | |
template<int N> | |
FixedSegmentReturnType< N >::Type | segment (Index start, Index n=N) |
template<int N> | |
ConstFixedSegmentReturnType< N >::Type | segment (Index start, Index n=N) const |
This is the const version of segment<int>(Index). More... | |
template<int N> | |
FixedSegmentReturnType< N >::Type | head (Index n=N) |
template<int N> | |
ConstFixedSegmentReturnType< N >::Type | head (Index n=N) const |
This is the const version of head<int>(). More... | |
template<int N> | |
FixedSegmentReturnType< N >::Type | tail (Index n=N) |
template<int N> | |
ConstFixedSegmentReturnType< N >::Type | tail (Index n=N) const |
This is the const version of tail<int>. More... | |
template<typename Dest > | |
void | evalTo (Dest &) const |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | operator= (const DenseBase< OtherDerived > &other) |
template<typename CustomNullaryOp > | |
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, Derived > | NullaryExpr (Index rows, Index cols, const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, Derived > | NullaryExpr (Index size, const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, Derived > | NullaryExpr (const CustomNullaryOp &func) |
template<typename Derived > | |
bool | isMuchSmallerThan (const typename NumTraits< Scalar >::Real &other, const RealScalar &prec) const |
template<typename Func > | |
EIGEN_STRONG_INLINE internal::result_of< Func(typename internal::traits< Derived >::Scalar)>::type | redux (const Func &func) const |
![]() | |
void | operator* () 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 SequentialLinSpacedReturnType | LinSpaced (Sequential_t, Index size, const Scalar &low, const Scalar &high) |
Sets a linearly space vector. More... | |
static const RandomAccessLinSpacedReturnType | LinSpaced (Index size, const Scalar &low, const Scalar &high) |
Sets a linearly space vector. More... | |
static const SequentialLinSpacedReturnType | LinSpaced (Sequential_t, const Scalar &low, const Scalar &high) |
Sets a linearly space vector. More... | |
static const RandomAccessLinSpacedReturnType | LinSpaced (const Scalar &low, const Scalar &high) |
Sets a linearly space vector. More... | |
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 | 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 | |
template<typename OtherDerived > | |
void | checkTransposeAliasing (const OtherDerived &other) const |
DenseBase () | |
Default constructor. More... | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename Derived > | |
std::ostream & | operator<< (std::ostream &s, const DenseBase< Derived > &m) |
Base class for all dense matrices, vectors, and arrays.
This class is the base that is inherited by all dense objects (matrix, vector, arrays, and related expression types). The common Eigen API for dense objects is contained in this class.
Derived | is the derived type, e.g., a matrix type or an expression. |
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_DENSEBASE_PLUGIN
.
typedef internal::traits<Derived>::Index Eigen::DenseBase< Derived >::Index |
The type of indices.
To change this, #define
the preprocessor symbol EIGEN_DEFAULT_DENSE_INDEX_TYPE
.
anonymous enum |
Enumerator | |
---|---|
RowsAtCompileTime | The number of rows at compile-time. This is just a copy of the value provided by the Derived type. If a value is not known at compile-time, it is set to the Dynamic constant.
|
ColsAtCompileTime | The number of columns at compile-time. This is just a copy of the value provided by the Derived type. If a value is not known at compile-time, it is set to the Dynamic constant.
|
SizeAtCompileTime | This is equal to the number of coefficients, i.e. the number of rows times the number of columns, or to Dynamic if this is not known at compile-time.
|
MaxRowsAtCompileTime | This value is equal to the maximum possible number of rows that this expression might have. If this expression might have an arbitrarily high number of rows, this value is set to Dynamic. This value is useful to know when evaluating an expression, in order to determine whether it is possible to avoid doing a dynamic memory allocation. |
MaxColsAtCompileTime | This value is equal to the maximum possible number of columns that this expression might have. If this expression might have an arbitrarily high number of columns, this value is set to Dynamic. This value is useful to know when evaluating an expression, in order to determine whether it is possible to avoid doing a dynamic memory allocation. |
MaxSizeAtCompileTime | This value is equal to the maximum possible number of coefficients that this expression might have. If this expression might have an arbitrarily high number of coefficients, this value is set to Dynamic. This value is useful to know when evaluating an expression, in order to determine whether it is possible to avoid doing a dynamic memory allocation. |
IsVectorAtCompileTime | This is set to true if either the number of rows or the number of columns is known at compile-time to be equal to 1. Indeed, in that case, we are dealing with a column-vector (if there is only one column) or with a row-vector (if there is only one row). |
Flags | This stores expression Flags flags which may or may not be inherited by new expressions constructed from this one. See the list of flags. |
IsRowMajor | True if this expression has row-major storage order. |
CoeffReadCost | This is a rough measure of how expensive it is to read one coefficient from this expression. |
|
inlineprotected |
Default constructor.
Do nothing.
|
inline |
|
inline |
*this
contains only finite numbers, i.e., no NaN and no +/-INF values.
|
inline |
|
inline |
startRow | the first row in the block |
startCol | the first column in the block |
blockRows | the number of rows in the block |
blockCols | the number of columns in the block |
Example:
Output:
|
inline |
This is the const version of block(Index,Index,Index,Index).
|
inline |
The template parameters BlockRows and BlockCols are the number of rows and columns in the block.
startRow | the first row in the block |
startCol | the first column in the block |
Example:
Output:
|
inline |
This is the const version of block<>(Index, Index).
|
inline |
BlockRows | number of rows in block as specified at compile-time |
BlockCols | number of columns in block as specified at compile-time |
startRow | the first row in the block |
startCol | the first column in the block |
blockRows | number of rows in block as specified at run-time |
blockCols | number of columns in block as specified at run-time |
This function is mainly useful for blocks where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, blockRows should equal BlockRows unless BlockRows is Dynamic, and the same for the number of columns.
Example:
Output:
|
inline |
This is the const version of block<>(Index, Index, Index, Index).
|
inline |
cRows | the number of rows in the corner |
cCols | the number of columns in the corner |
Example:
Output:
|
inline |
This is the const version of bottomLeftCorner(Index, Index).
|
inline |
The template parameters CRows and CCols are the number of rows and columns in the corner.
Example:
Output:
|
inline |
This is the const version of bottomLeftCorner<int, int>().
|
inline |
CRows | number of rows in corner as specified at compile-time |
CCols | number of columns in corner as specified at compile-time |
cRows | number of rows in corner as specified at run-time |
cCols | number of columns in corner as specified at run-time |
This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.
Example:
Output:
|
inline |
This is the const version of bottomLeftCorner<int, int>(Index, Index).
|
inline |
cRows | the number of rows in the corner |
cCols | the number of columns in the corner |
Example:
Output:
|
inline |
This is the const version of bottomRightCorner(Index, Index).
|
inline |
The template parameters CRows and CCols are the number of rows and columns in the corner.
Example:
Output:
|
inline |
This is the const version of bottomRightCorner<int, int>().
|
inline |
CRows | number of rows in corner as specified at compile-time |
CCols | number of columns in corner as specified at compile-time |
cRows | number of rows in corner as specified at run-time |
cCols | number of columns in corner as specified at run-time |
This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.
Example:
Output:
|
inline |
This is the const version of bottomRightCorner<int, int>(Index, Index).
|
inline |
n | the number of rows in the block |
Example:
Output:
|
inline |
This is the const version of bottomRows(Index).
|
inline |
N | the number of rows in the block as specified at compile-time |
n | the number of rows in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
|
inline |
This is the const version of bottomRows<int>().
|
inline |
|
inline |
This is the const version of col().
|
inline |
Example:
Output:
|
inline |
|
static |
The parameters nbRows and nbCols 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 nbRows and nbCols as arguments, so Zero() should be used instead.
The template parameter CustomNullaryOp is the type of the functor.
|
static |
The parameter size is the size of the returned vector. Must be compatible with this DenseBase type.
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Zero() should be used instead.
The template parameter CustomNullaryOp is the type of the functor.
|
static |
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.
|
inline |
|
inline |
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.
EIGEN_STRONG_INLINE void Eigen::DenseBase< Derived >::fill | ( | const Scalar & | val | ) |
Alias for setConstant(): sets all coefficients in this expression to val.
|
inline |
This is mostly for internal use.
|
inline |
See class IOFormat for some examples.
|
inline |
*this
contains at least one Not A Number (NaN).
|
inline |
n | the number of coefficients in the segment |
Example:
Output:
|
inline |
This is the const version of head(Index).
|
inline |
N | the number of coefficients in the segment as specified at compile-time |
n | the number of coefficients in the segment as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
|
inline |
This is the const version of head<int>().
|
inline |
bool Eigen::DenseBase< Derived >::isApprox | ( | const DenseBase< OtherDerived > & | other, |
const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() |
||
) | const |
true
if *this
is approximately equal to other, within the precision determined by prec.\[ \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).*this
is approximately equal to the zero matrix or vector. Indeed, isApprox(zero)
returns false unless *this
itself is exactly the zero matrix or vector. If you want to test whether *this
is zero, use internal::isMuchSmallerThan(const RealScalar&, RealScalar) instead.bool Eigen::DenseBase< Derived >::isApproxToConstant | ( | const Scalar & | val, |
const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() |
||
) | const |
bool Eigen::DenseBase< Derived >::isConstant | ( | const Scalar & | val, |
const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() |
||
) | const |
This is just an alias for isApproxToConstant().
bool Eigen::DenseBase< Derived >::isMuchSmallerThan | ( | const typename NumTraits< Scalar >::Real & | other, |
const RealScalar & | prec | ||
) | const |
true
if the norm of *this
is much smaller than other, within the precision determined by prec.\[ \Vert v \Vert \leqslant p\,\vert x\vert. \]
For matrices, the comparison is done using the Hilbert-Schmidt norm. For this reason, the value of the reference scalar other should come from the Hilbert-Schmidt norm of a reference matrix of same dimensions.
bool Eigen::DenseBase< Derived >::isMuchSmallerThan | ( | const DenseBase< OtherDerived > & | other, |
const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() |
||
) | const |
true
if the norm of *this
is much smaller than the norm of other, within the precision determined by prec.\[ \Vert v \Vert \leqslant p\,\Vert w\Vert. \]
For matrices, the comparison is done using the Hilbert-Schmidt norm.bool Eigen::DenseBase< Derived >::isOnes | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
Example:
Output:
bool Eigen::DenseBase< Derived >::isZero | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
Example:
Output:
|
inline |
n | the number of columns in the block |
Example:
Output:
|
inline |
This is the const version of leftCols(Index).
|
inline |
N | the number of columns in the block as specified at compile-time |
n | the number of columns in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
|
inline |
This is the const version of leftCols<int>().
|
static |
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.
When size is set to 1, a vector of length 1 containing 'high' is returned.
Example:
Output:
|
static |
Sets a linearly space vector.
The function generates 'size' equally spaced values in the closed interval [low,high]. When size is set to 1, a vector of length 1 containing 'high' is returned.
Example:
Output:
|
static |
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.
When size is set to 1, a vector of length 1 containing 'high' is returned.
Example:
Output:
|
static |
Sets a linearly space vector.
The function generates 'size' equally spaced values in the closed interval [low,high]. When size is set to 1, a vector of length 1 containing 'high' is returned.
Example:
Output:
EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::maxCoeff | ( | ) | const |
*this
. *this
contains NaN. internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::maxCoeff | ( | IndexType * | rowPtr, |
IndexType * | colPtr | ||
) | const |
*this
contains NaN.internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::maxCoeff | ( | IndexType * | index | ) | const |
*this
contains NaN.EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::mean | ( | ) | const |
|
inline |
startCol | the index of the first column in the block |
numCols | the number of columns in the block |
Example:
Output:
|
inline |
This is the const version of middleCols(Index,Index).
|
inline |
N | the number of columns in the block as specified at compile-time |
startCol | the index of the first column in the block |
n | the number of columns in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
|
inline |
This is the const version of middleCols<int>().
|
inline |
startRow | the index of the first row in the block |
n | the number of rows in the block |
Example:
Output:
|
inline |
This is the const version of middleRows(Index,Index).
|
inline |
N | the number of rows in the block as specified at compile-time |
startRow | the index of the first row in the block |
n | the number of rows in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
|
inline |
This is the const version of middleRows<int>().
EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::minCoeff | ( | ) | const |
*this
. *this
contains NaN. internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::minCoeff | ( | IndexType * | rowId, |
IndexType * | colId | ||
) | const |
*this
contains NaN.internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::minCoeff | ( | IndexType * | index | ) | const |
*this
contains NaN.
|
inline |
|
inline |
EIGEN_STRONG_INLINE const CwiseNullaryOp<CustomNullaryOp, Derived> Eigen::DenseBase< Derived >::NullaryExpr | ( | Index | rows, |
Index | cols, | ||
const CustomNullaryOp & | 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.
EIGEN_STRONG_INLINE const CwiseNullaryOp<CustomNullaryOp, Derived> Eigen::DenseBase< Derived >::NullaryExpr | ( | Index | size, |
const CustomNullaryOp & | 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.
EIGEN_STRONG_INLINE const CwiseNullaryOp<CustomNullaryOp, Derived> Eigen::DenseBase< Derived >::NullaryExpr | ( | const CustomNullaryOp & | 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.
|
static |
The parameters nbRows and nbCols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Ones() should be used instead.
Example:
Output:
|
static |
The parameter newSize is the size of the returned vector. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Ones() should be used instead.
Example:
Output:
|
static |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variants taking size arguments.
Example:
Output:
|
inline |
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:
|
inline |
Derived& Eigen::DenseBase< Derived >::operator= | ( | const DenseBase< OtherDerived > & | other | ) |
Copies other into *this.
Derived & Eigen::DenseBase< Derived >::operator= | ( | const EigenBase< OtherDerived > & | other | ) |
Copies the generic expression other into *this.
The expression must provide a (templated) evalTo(Derived& dst) const function which does the actual job. In practice, this allows any user to write its own special matrix without having to modify MatrixBase
|
inline |
EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::prod | ( | ) | const |
|
inlinestatic |
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.
|
inlinestatic |
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.
|
inlinestatic |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variants taking size arguments.
Example:
Output:
This expression has the "evaluate before nesting" flag so that it will be evaluated into a temporary matrix whenever it is nested in a larger expression. This prevents unexpected behavior with expressions involving random matrices.
EIGEN_STRONG_INLINE internal::result_of<Func(typename internal::traits<Derived>::Scalar)>::type Eigen::DenseBase< Derived >::redux | ( | const Func & | func | ) | const |
The template parameter BinaryOp is the type of the functor func which must be an associative operator. Both current STL and TR1 functor styles are handled.
|
inline |
*this
Example:
Output:
|
inline |
*this
Example:
Output:
|
inline |
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.
|
inline |
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.
|
inline |
Example:
Output:
|
inline |
This is the const version of reverse().
|
inline |
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:
|
inline |
n | the number of columns in the block |
Example:
Output:
|
inline |
This is the const version of rightCols(Index).
|
inline |
N | the number of columns in the block as specified at compile-time |
n | the number of columns in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
|
inline |
This is the const version of rightCols<int>().
|
inline |
|
inline |
This is the const version of row().
|
inline |
Example:
Output:
|
inline |
|
inline |
start | the first coefficient in the segment |
n | the number of coefficients in the segment |
Example:
Output:
|
inline |
This is the const version of segment(Index,Index).
|
inline |
*this
N | the number of coefficients in the segment as specified at compile-time |
start | the index of the first element in the segment |
n | the number of coefficients in the segment as specified at compile-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
|
inline |
This is the const version of segment<int>(Index).
|
inline |
*this
(i,j), and elseMatrix(i,j) otherwise.Example:
Output:
|
inline |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the else expression being a scalar value.
|
inline |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the then expression being a scalar value.
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setConstant | ( | const Scalar & | val | ) |
Sets all coefficients in this expression to value.
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setLinSpaced | ( | Index | newSize, |
const Scalar & | low, | ||
const Scalar & | high | ||
) |
Sets a linearly space vector.
The function generates 'size' equally spaced values in the closed interval [low,high]. When size is set to 1, a vector of length 1 containing 'high' is returned.
Example:
Output:
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setLinSpaced | ( | const Scalar & | low, |
const Scalar & | high | ||
) |
Sets a linearly space vector.
The function fill *this with equally spaced values in the closed interval [low,high]. When size is set to 1, a vector of length 1 containing 'high' is returned.
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setOnes | ( | ) |
Sets all coefficients in this expression to one.
Example:
Output:
|
inline |
Sets all coefficients in this expression to random values.
Example:
Output:
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setZero | ( | ) |
Sets all coefficients in this expression to zero.
Example:
Output:
EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::sum | ( | ) | const |
|
inline |
n | the number of coefficients in the segment |
Example:
Output:
|
inline |
This is the const version of tail(Index).
|
inline |
N | the number of coefficients in the segment as specified at compile-time |
n | the number of coefficients in the segment as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
|
inline |
This is the const version of tail<int>.
|
inline |
cRows | the number of rows in the corner |
cCols | the number of columns in the corner |
Example:
Output:
|
inline |
This is the const version of topLeftCorner(Index, Index).
|
inline |
The template parameters CRows and CCols are the number of rows and columns in the corner.
Example:
Output:
|
inline |
This is the const version of topLeftCorner<int, int>().
|
inline |
CRows | number of rows in corner as specified at compile-time |
CCols | number of columns in corner as specified at compile-time |
cRows | number of rows in corner as specified at run-time |
cCols | number of columns in corner as specified at run-time |
This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.
Example:
Output:
|
inline |
This is the const version of topLeftCorner<int, int>(Index, Index).
|
inline |
cRows | the number of rows in the corner |
cCols | the number of columns in the corner |
Example:
Output:
|
inline |
This is the const version of topRightCorner(Index, Index).
|
inline |
CRows | the number of rows in the corner |
CCols | the number of columns in the corner |
Example:
Output:
|
inline |
This is the const version of topRightCorner<int, int>().
|
inline |
CRows | number of rows in corner as specified at compile-time |
CCols | number of columns in corner as specified at compile-time |
cRows | number of rows in corner as specified at run-time |
cCols | number of columns in corner as specified at run-time |
This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.
Example:
Output:
|
inline |
This is the const version of topRightCorner<int, int>(Index, Index).
|
inline |
n | the number of rows in the block |
Example:
Output:
|
inline |
This is the const version of topRows(Index).
|
inline |
N | the number of rows in the block as specified at compile-time |
n | the number of rows in the block as specified at run-time |
The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.
Example:
Output:
|
inline |
This is the const version of topRows<int>().
|
inline |
Example:
Output:
|
inline |
This is the const version of transpose().
Make sure you read the warning for transpose() !
|
inline |
This is the "in place" version of transpose(): it replaces *this
by its own transpose.
Thus, doing
has the same effect on m as doing
and is faster and also safer because in the latter line of code, forgetting the eval() results in a bug caused by aliasing.
Notice however that this method is only useful if you want to replace a matrix by its own transpose. If you just need the transpose of a matrix, use transpose().
*this
must be a resizable matrix. This excludes (non-square) fixed-size matrices, block-expressions and maps.
|
inline |
void Eigen::DenseBase< Derived >::visit | ( | Visitor & | visitor | ) | const |
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:
|
static |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Zero() should be used instead.
Example:
Output:
|
static |
The parameter size is the size of the returned vector. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size vector types. For fixed-size types, it is redundant to pass size as argument, so Zero() should be used instead.
Example:
Output:
|
static |
This variant is only for fixed-size MatrixBase types. For dynamic-size types, you need to use the variants taking size arguments.
Example:
Output:
|
related |
Outputs the matrix, to the given stream.
If you wish to print the matrix with a format different than the default, use DenseBase::format().
It is also possible to change the default format by defining EIGEN_DEFAULT_IO_FORMAT before including Eigen headers. If not defined, this will automatically be defined to Eigen::IOFormat(), that is the Eigen::IOFormat with default parameters.