MOAB
4.9.3pre
|
Base class for all dense matrices, vectors, and arrays. More...
#include <DenseBase.h>
Classes | |
struct | ConstFixedBlockXpr |
struct | ConstFixedSegmentReturnType |
struct | ConstNColsBlockXpr |
struct | ConstNRowsBlockXpr |
struct | FixedBlockXpr |
struct | FixedSegmentReturnType |
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, InnerStrideAtCompileTime = internal::inner_stride_at_compile_time<Derived>::ret, OuterStrideAtCompileTime = internal::outer_stride_at_compile_time<Derived>::ret } |
enum | { IsPlainObjectBase = 0 } |
typedef Eigen::InnerIterator < Derived > | InnerIterator |
typedef internal::traits < Derived >::StorageKind | StorageKind |
typedef internal::traits < Derived >::StorageIndex | StorageIndex |
The type used to store indices. | |
typedef internal::traits < Derived >::Scalar | Scalar |
typedef Scalar | value_type |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef internal::special_scalar_op_base < Derived, Scalar, RealScalar, DenseCoeffsBase< Derived > > | Base |
typedef Base::CoeffReturnType | CoeffReturnType |
typedef internal::find_best_packet < Scalar, SizeAtCompileTime > ::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 > | PlainMatrix |
typedef Array< 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 > | PlainArray |
typedef internal::conditional < internal::is_same< typename internal::traits< Derived > ::XprKind, MatrixXpr >::value, PlainMatrix, PlainArray > ::type | PlainObject |
The plain matrix or array type corresponding to this expression. | |
typedef CwiseNullaryOp < internal::scalar_constant_op < Scalar >, PlainObject > | ConstantReturnType |
typedef CwiseNullaryOp < internal::linspaced_op < Scalar, PacketScalar, false > , PlainObject > | SequentialLinSpacedReturnType |
typedef CwiseNullaryOp < internal::linspaced_op < Scalar, PacketScalar, true > , PlainObject > | RandomAccessLinSpacedReturnType |
typedef Matrix< typename NumTraits< typename internal::traits< Derived > ::Scalar >::Real, internal::traits< Derived > ::ColsAtCompileTime, 1 > | EigenvaluesReturnType |
typedef Transpose< Derived > | TransposeReturnType |
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 CwiseNullaryOp < internal::scalar_random_op < Scalar >, PlainObject > | RandomReturnType |
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 Block< Derived > | BlockXpr |
typedef const Block< const Derived > | ConstBlockXpr |
typedef VectorBlock< Derived > | SegmentReturnType |
typedef const VectorBlock < const Derived > | ConstSegmentReturnType |
Public Member Functions | |
EIGEN_DEVICE_FUNC Index | nonZeros () const |
EIGEN_DEVICE_FUNC Index | outerSize () const |
EIGEN_DEVICE_FUNC Index | innerSize () const |
EIGEN_DEVICE_FUNC void | resize (Index newSize) |
EIGEN_DEVICE_FUNC void | resize (Index p_rows, Index p_cols) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const DenseBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const DenseBase &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const EigenBase< OtherDerived > &other) |
Copies the generic expression other into *this. | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator+= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator-= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const ReturnByValue< OtherDerived > &func) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC CommaInitializer< Derived > | operator<< (const Scalar &s) |
template<unsigned int Added, unsigned int Removed> | |
EIGEN_DEPRECATED const Derived & | flagged () const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC CommaInitializer< Derived > | operator<< (const DenseBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC TransposeReturnType | transpose () |
EIGEN_DEVICE_FUNC ConstTransposeReturnType | transpose () const |
EIGEN_DEVICE_FUNC void | transposeInPlace () |
EIGEN_DEVICE_FUNC void | fill (const Scalar &value) |
EIGEN_DEVICE_FUNC Derived & | setConstant (const Scalar &value) |
EIGEN_DEVICE_FUNC Derived & | setLinSpaced (Index size, const Scalar &low, const Scalar &high) |
Sets a linearly spaced vector. | |
EIGEN_DEVICE_FUNC Derived & | setLinSpaced (const Scalar &low, const Scalar &high) |
Sets a linearly spaced vector. | |
EIGEN_DEVICE_FUNC Derived & | setZero () |
EIGEN_DEVICE_FUNC Derived & | setOnes () |
EIGEN_DEVICE_FUNC Derived & | setRandom () |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC bool | isApprox (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isMuchSmallerThan (const RealScalar &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC bool | isMuchSmallerThan (const DenseBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isApproxToConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isConstant (const Scalar &value, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isZero (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isOnes (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
bool | hasNaN () const |
bool | allFinite () const |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator*= (const Scalar &other) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator/= (const Scalar &other) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EvalReturnType | eval () const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC void | swap (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC void | swap (PlainObjectBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC const NestByValue< Derived > | nestByValue () const |
EIGEN_DEVICE_FUNC const ForceAlignedAccess< Derived > | forceAlignedAccess () const |
EIGEN_DEVICE_FUNC ForceAlignedAccess< Derived > | forceAlignedAccess () |
template<bool Enable> | |
EIGEN_DEVICE_FUNC const internal::conditional< Enable, ForceAlignedAccess< Derived > , Derived & >::type | forceAlignedAccessIf () const |
template<bool Enable> | |
EIGEN_DEVICE_FUNC internal::conditional< Enable, ForceAlignedAccess< Derived > , Derived & >::type | forceAlignedAccessIf () |
EIGEN_DEVICE_FUNC Scalar | sum () const |
EIGEN_DEVICE_FUNC Scalar | mean () const |
EIGEN_DEVICE_FUNC Scalar | trace () const |
EIGEN_DEVICE_FUNC Scalar | prod () const |
EIGEN_DEVICE_FUNC internal::traits< Derived > ::Scalar | minCoeff () const |
EIGEN_DEVICE_FUNC internal::traits< Derived > ::Scalar | maxCoeff () const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived > ::Scalar | minCoeff (IndexType *row, IndexType *col) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived > ::Scalar | maxCoeff (IndexType *row, IndexType *col) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived > ::Scalar | minCoeff (IndexType *index) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived > ::Scalar | maxCoeff (IndexType *index) const |
template<typename BinaryOp > | |
EIGEN_DEVICE_FUNC Scalar | redux (const BinaryOp &func) const |
template<typename Visitor > | |
EIGEN_DEVICE_FUNC void | visit (Visitor &func) const |
const WithFormat< Derived > | format (const IOFormat &fmt) const |
EIGEN_DEVICE_FUNC CoeffReturnType | value () const |
bool | all () const |
bool | any () const |
Index | count () const |
EIGEN_DEVICE_FUNC ConstRowwiseReturnType | rowwise () const |
EIGEN_DEVICE_FUNC RowwiseReturnType | rowwise () |
EIGEN_DEVICE_FUNC ConstColwiseReturnType | colwise () const |
EIGEN_DEVICE_FUNC 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 |
template<typename ElseDerived > | |
const Select< Derived, typename ElseDerived::ConstantReturnType, ElseDerived > | select (const typename ElseDerived::Scalar &thenScalar, const DenseBase< ElseDerived > &elseMatrix) const |
template<int p> | |
RealScalar | lpNorm () const |
template<int RowFactor, int ColFactor> | |
EIGEN_DEVICE_FUNC const Replicate< Derived, RowFactor, ColFactor > | replicate () const |
EIGEN_DEVICE_FUNC const Replicate< Derived, Dynamic, Dynamic > | replicate (Index rowFactor, Index colFactor) const |
EIGEN_DEVICE_FUNC ReverseReturnType | reverse () |
EIGEN_DEVICE_FUNC ConstReverseReturnType | reverse () const |
EIGEN_DEVICE_FUNC void | reverseInPlace () |
EIGEN_DEVICE_FUNC BlockXpr | block (Index startRow, Index startCol, Index blockRows, Index blockCols) |
EIGEN_DEVICE_FUNC const ConstBlockXpr | block (Index startRow, Index startCol, Index blockRows, Index blockCols) const |
EIGEN_DEVICE_FUNC BlockXpr | topRightCorner (Index cRows, Index cCols) |
EIGEN_DEVICE_FUNC const ConstBlockXpr | topRightCorner (Index cRows, Index cCols) const |
template<int CRows, int CCols> | |
EIGEN_DEVICE_FUNC FixedBlockXpr< CRows, CCols > ::Type | topRightCorner () |
template<int CRows, int CCols> | |
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr< CRows, CCols >::Type | topRightCorner () const |
template<int CRows, int CCols> | |
FixedBlockXpr< CRows, CCols >::Type | topRightCorner (Index cRows, Index cCols) |
template<int CRows, int CCols> | |
const ConstFixedBlockXpr < CRows, CCols >::Type | topRightCorner (Index cRows, Index cCols) const |
EIGEN_DEVICE_FUNC BlockXpr | topLeftCorner (Index cRows, Index cCols) |
EIGEN_DEVICE_FUNC const ConstBlockXpr | topLeftCorner (Index cRows, Index cCols) const |
template<int CRows, int CCols> | |
EIGEN_DEVICE_FUNC FixedBlockXpr< CRows, CCols > ::Type | topLeftCorner () |
template<int CRows, int CCols> | |
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr< CRows, CCols >::Type | topLeftCorner () const |
template<int CRows, int CCols> | |
FixedBlockXpr< CRows, CCols >::Type | topLeftCorner (Index cRows, Index cCols) |
template<int CRows, int CCols> | |
const ConstFixedBlockXpr < CRows, CCols >::Type | topLeftCorner (Index cRows, Index cCols) const |
EIGEN_DEVICE_FUNC BlockXpr | bottomRightCorner (Index cRows, Index cCols) |
EIGEN_DEVICE_FUNC const ConstBlockXpr | bottomRightCorner (Index cRows, Index cCols) const |
template<int CRows, int CCols> | |
EIGEN_DEVICE_FUNC FixedBlockXpr< CRows, CCols > ::Type | bottomRightCorner () |
template<int CRows, int CCols> | |
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr< CRows, CCols >::Type | bottomRightCorner () const |
template<int CRows, int CCols> | |
FixedBlockXpr< CRows, CCols >::Type | bottomRightCorner (Index cRows, Index cCols) |
template<int CRows, int CCols> | |
const ConstFixedBlockXpr < CRows, CCols >::Type | bottomRightCorner (Index cRows, Index cCols) const |
EIGEN_DEVICE_FUNC BlockXpr | bottomLeftCorner (Index cRows, Index cCols) |
EIGEN_DEVICE_FUNC const ConstBlockXpr | bottomLeftCorner (Index cRows, Index cCols) const |
template<int CRows, int CCols> | |
EIGEN_DEVICE_FUNC FixedBlockXpr< CRows, CCols > ::Type | bottomLeftCorner () |
template<int CRows, int CCols> | |
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr< CRows, CCols >::Type | bottomLeftCorner () const |
template<int CRows, int CCols> | |
FixedBlockXpr< CRows, CCols >::Type | bottomLeftCorner (Index cRows, Index cCols) |
template<int CRows, int CCols> | |
const ConstFixedBlockXpr < CRows, CCols >::Type | bottomLeftCorner (Index cRows, Index cCols) const |
EIGEN_DEVICE_FUNC RowsBlockXpr | topRows (Index n) |
EIGEN_DEVICE_FUNC ConstRowsBlockXpr | topRows (Index n) const |
template<int N> | |
EIGEN_DEVICE_FUNC NRowsBlockXpr< N >::Type | topRows (Index n=N) |
template<int N> | |
EIGEN_DEVICE_FUNC ConstNRowsBlockXpr< N >::Type | topRows (Index n=N) const |
EIGEN_DEVICE_FUNC RowsBlockXpr | bottomRows (Index n) |
EIGEN_DEVICE_FUNC ConstRowsBlockXpr | bottomRows (Index n) const |
template<int N> | |
EIGEN_DEVICE_FUNC NRowsBlockXpr< N >::Type | bottomRows (Index n=N) |
template<int N> | |
EIGEN_DEVICE_FUNC ConstNRowsBlockXpr< N >::Type | bottomRows (Index n=N) const |
EIGEN_DEVICE_FUNC RowsBlockXpr | middleRows (Index startRow, Index n) |
EIGEN_DEVICE_FUNC ConstRowsBlockXpr | middleRows (Index startRow, Index n) const |
template<int N> | |
EIGEN_DEVICE_FUNC NRowsBlockXpr< N >::Type | middleRows (Index startRow, Index n=N) |
template<int N> | |
EIGEN_DEVICE_FUNC ConstNRowsBlockXpr< N >::Type | middleRows (Index startRow, Index n=N) const |
EIGEN_DEVICE_FUNC ColsBlockXpr | leftCols (Index n) |
EIGEN_DEVICE_FUNC ConstColsBlockXpr | leftCols (Index n) const |
template<int N> | |
EIGEN_DEVICE_FUNC NColsBlockXpr< N >::Type | leftCols (Index n=N) |
template<int N> | |
EIGEN_DEVICE_FUNC ConstNColsBlockXpr< N >::Type | leftCols (Index n=N) const |
EIGEN_DEVICE_FUNC ColsBlockXpr | rightCols (Index n) |
EIGEN_DEVICE_FUNC ConstColsBlockXpr | rightCols (Index n) const |
template<int N> | |
EIGEN_DEVICE_FUNC NColsBlockXpr< N >::Type | rightCols (Index n=N) |
template<int N> | |
EIGEN_DEVICE_FUNC ConstNColsBlockXpr< N >::Type | rightCols (Index n=N) const |
EIGEN_DEVICE_FUNC ColsBlockXpr | middleCols (Index startCol, Index numCols) |
EIGEN_DEVICE_FUNC ConstColsBlockXpr | middleCols (Index startCol, Index numCols) const |
template<int N> | |
EIGEN_DEVICE_FUNC NColsBlockXpr< N >::Type | middleCols (Index startCol, Index n=N) |
template<int N> | |
EIGEN_DEVICE_FUNC ConstNColsBlockXpr< N >::Type | middleCols (Index startCol, Index n=N) const |
template<int NRows, int NCols> | |
EIGEN_DEVICE_FUNC FixedBlockXpr< NRows, NCols > ::Type | block (Index startRow, Index startCol) |
template<int NRows, int NCols> | |
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr< NRows, NCols >::Type | block (Index startRow, Index startCol) const |
template<int NRows, int NCols> | |
FixedBlockXpr< NRows, NCols >::Type | block (Index startRow, Index startCol, Index blockRows, Index blockCols) |
template<int NRows, int NCols> | |
const ConstFixedBlockXpr < NRows, NCols >::Type | block (Index startRow, Index startCol, Index blockRows, Index blockCols) const |
EIGEN_DEVICE_FUNC ColXpr | col (Index i) |
EIGEN_DEVICE_FUNC ConstColXpr | col (Index i) const |
EIGEN_DEVICE_FUNC RowXpr | row (Index i) |
EIGEN_DEVICE_FUNC ConstRowXpr | row (Index i) const |
EIGEN_DEVICE_FUNC SegmentReturnType | segment (Index start, Index n) |
EIGEN_DEVICE_FUNC ConstSegmentReturnType | segment (Index start, Index n) const |
EIGEN_DEVICE_FUNC SegmentReturnType | head (Index n) |
EIGEN_DEVICE_FUNC ConstSegmentReturnType | head (Index n) const |
EIGEN_DEVICE_FUNC SegmentReturnType | tail (Index n) |
EIGEN_DEVICE_FUNC ConstSegmentReturnType | tail (Index n) const |
template<int N> | |
EIGEN_DEVICE_FUNC FixedSegmentReturnType< N > ::Type | segment (Index start, Index n=N) |
template<int N> | |
EIGEN_DEVICE_FUNC ConstFixedSegmentReturnType< N > ::Type | segment (Index start, Index n=N) const |
template<int N> | |
EIGEN_DEVICE_FUNC FixedSegmentReturnType< N > ::Type | head (Index n=N) |
template<int N> | |
EIGEN_DEVICE_FUNC ConstFixedSegmentReturnType< N > ::Type | head (Index n=N) const |
template<int N> | |
EIGEN_DEVICE_FUNC FixedSegmentReturnType< N > ::Type | tail (Index n=N) |
template<int N> | |
EIGEN_DEVICE_FUNC ConstFixedSegmentReturnType< N > ::Type | tail (Index n=N) const |
template<typename Dest > | |
EIGEN_DEVICE_FUNC void | evalTo (Dest &) const |
template<typename Derived > | |
bool | isMuchSmallerThan (const typename NumTraits< Scalar >::Real &other, const RealScalar &prec) const |
template<typename Func > | |
internal::traits< Derived >::Scalar | redux (const Func &func) const |
Static Public Member Functions | |
static EIGEN_DEVICE_FUNC const ConstantReturnType | Constant (Index rows, Index cols, const Scalar &value) |
static EIGEN_DEVICE_FUNC const ConstantReturnType | Constant (Index size, const Scalar &value) |
static EIGEN_DEVICE_FUNC const ConstantReturnType | Constant (const Scalar &value) |
static EIGEN_DEVICE_FUNC const SequentialLinSpacedReturnType | LinSpaced (Sequential_t, Index size, const Scalar &low, const Scalar &high) |
Sets a linearly spaced vector. | |
static EIGEN_DEVICE_FUNC const RandomAccessLinSpacedReturnType | LinSpaced (Index size, const Scalar &low, const Scalar &high) |
Sets a linearly spaced vector. | |
static EIGEN_DEVICE_FUNC const SequentialLinSpacedReturnType | LinSpaced (Sequential_t, const Scalar &low, const Scalar &high) |
static EIGEN_DEVICE_FUNC const RandomAccessLinSpacedReturnType | LinSpaced (const Scalar &low, const Scalar &high) |
template<typename CustomNullaryOp > | |
static EIGEN_DEVICE_FUNC const CwiseNullaryOp < CustomNullaryOp, PlainObject > | NullaryExpr (Index rows, Index cols, const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
static EIGEN_DEVICE_FUNC const CwiseNullaryOp < CustomNullaryOp, PlainObject > | NullaryExpr (Index size, const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
static EIGEN_DEVICE_FUNC const CwiseNullaryOp < CustomNullaryOp, PlainObject > | NullaryExpr (const CustomNullaryOp &func) |
static EIGEN_DEVICE_FUNC const ConstantReturnType | Zero (Index rows, Index cols) |
static EIGEN_DEVICE_FUNC const ConstantReturnType | Zero (Index size) |
static EIGEN_DEVICE_FUNC const ConstantReturnType | Zero () |
static EIGEN_DEVICE_FUNC const ConstantReturnType | Ones (Index rows, Index cols) |
static EIGEN_DEVICE_FUNC const ConstantReturnType | Ones (Index size) |
static EIGEN_DEVICE_FUNC const ConstantReturnType | Ones () |
static const RandomReturnType | Random (Index rows, Index cols) |
static const RandomReturnType | Random (Index size) |
static const RandomReturnType | Random () |
Protected Member Functions | |
EIGEN_DEVICE_FUNC | DenseBase () |
Private Member Functions | |
EIGEN_DEVICE_FUNC | DenseBase (int) |
EIGEN_DEVICE_FUNC | DenseBase (int, int) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC | DenseBase (const DenseBase< OtherDerived > &) |
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 TopicCustomizingEigen by defining the preprocessor symbol EIGEN_DENSEBASE_PLUGIN
.
Definition at line 41 of file DenseBase.h.
typedef internal::special_scalar_op_base<Derived,Scalar,RealScalar, DenseCoeffsBase<Derived> > Eigen::DenseBase< Derived >::Base |
Reimplemented in Eigen::MatrixWrapper< ExpressionType >, Eigen::SolveImpl< Decomposition, RhsType, Dense >, Eigen::Homogeneous< MatrixType, _Direction >, Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, Eigen::MatrixBase< Solve< Decomposition, RhsType > >, Eigen::ArrayBase< Derived >, Eigen::ArrayBase< ArrayWrapper< ExpressionType > >, and Eigen::ArrayWrapper< ExpressionType >.
Definition at line 76 of file DenseBase.h.
typedef Block<Derived> Eigen::DenseBase< Derived >::BlockXpr |
expression of a block
Definition at line 33 of file DenseBase.h.
typedef Base::CoeffReturnType Eigen::DenseBase< Derived >::CoeffReturnType |
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, Eigen::MatrixBase< Solve< Decomposition, RhsType > >, Eigen::ArrayBase< Derived >, and Eigen::ArrayBase< ArrayWrapper< ExpressionType > >.
Definition at line 100 of file DenseBase.h.
typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, Dynamic, !IsRowMajor> Eigen::DenseBase< Derived >::ColsBlockXpr |
expression type of a block of whole columns
Definition at line 21 of file DenseBase.h.
typedef VectorwiseOp<Derived, Vertical> Eigen::DenseBase< Derived >::ColwiseReturnType |
Definition at line 487 of file DenseBase.h.
typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor> Eigen::DenseBase< Derived >::ColXpr |
expression type of a column
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, and Eigen::MatrixBase< Solve< Decomposition, RhsType > >.
Definition at line 15 of file DenseBase.h.
typedef CwiseNullaryOp<internal::scalar_constant_op<Scalar>,PlainObject> Eigen::DenseBase< Derived >::ConstantReturnType |
Represents a matrix with all coefficients equal to one another
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, Eigen::MatrixBase< Solve< Decomposition, RhsType > >, Eigen::ArrayBase< Derived >, and Eigen::ArrayBase< ArrayWrapper< ExpressionType > >.
Definition at line 266 of file DenseBase.h.
typedef const Block<const Derived> Eigen::DenseBase< Derived >::ConstBlockXpr |
Definition at line 34 of file DenseBase.h.
typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, Dynamic, !IsRowMajor> Eigen::DenseBase< Derived >::ConstColsBlockXpr |
Definition at line 22 of file DenseBase.h.
typedef const VectorwiseOp<const Derived, Vertical> Eigen::DenseBase< Derived >::ConstColwiseReturnType |
Definition at line 488 of file DenseBase.h.
typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor> Eigen::DenseBase< Derived >::ConstColXpr |
Definition at line 16 of file DenseBase.h.
typedef const Reverse<const Derived, BothDirections> Eigen::DenseBase< Derived >::ConstReverseReturnType |
Definition at line 554 of file DenseBase.h.
typedef const Block<const Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Eigen::DenseBase< Derived >::ConstRowsBlockXpr |
Definition at line 25 of file DenseBase.h.
typedef const VectorwiseOp<const Derived, Horizontal> Eigen::DenseBase< Derived >::ConstRowwiseReturnType |
Definition at line 486 of file DenseBase.h.
typedef const Block<const Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Eigen::DenseBase< Derived >::ConstRowXpr |
Definition at line 19 of file DenseBase.h.
typedef const VectorBlock<const Derived> Eigen::DenseBase< Derived >::ConstSegmentReturnType |
Definition at line 40 of file DenseBase.h.
typedef internal::add_const<Transpose<const Derived> >::type Eigen::DenseBase< Derived >::ConstTransposeReturnType |
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, and Eigen::MatrixBase< Solve< Decomposition, RhsType > >.
Definition at line 326 of file DenseBase.h.
typedef Matrix<typename NumTraits<typename internal::traits<Derived>::Scalar>::Real, internal::traits<Derived>::ColsAtCompileTime, 1> Eigen::DenseBase< Derived >::EigenvaluesReturnType |
the return type of MatrixBase::eigenvalues()
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, and Eigen::MatrixBase< Solve< Decomposition, RhsType > >.
Definition at line 272 of file DenseBase.h.
typedef internal::add_const_on_value_type<typename internal::eval<Derived>::type>::type Eigen::DenseBase< Derived >::EvalReturnType |
Definition at line 396 of file DenseBase.h.
typedef Eigen::InnerIterator<Derived> Eigen::DenseBase< Derived >::InnerIterator |
Inner iterator type to iterate over the coefficients of a row or column.
Definition at line 55 of file DenseBase.h.
typedef internal::find_best_packet<Scalar,SizeAtCompileTime>::type Eigen::DenseBase< Derived >::PacketScalar |
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, Eigen::MatrixBase< Solve< Decomposition, RhsType > >, Eigen::ArrayBase< Derived >, and Eigen::ArrayBase< ArrayWrapper< ExpressionType > >.
Definition at line 178 of file DenseBase.h.
typedef Array<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::DenseBase< Derived >::PlainArray |
The plain array type corresponding to this expression.
Definition at line 200 of file DenseBase.h.
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::DenseBase< Derived >::PlainMatrix |
The plain matrix type corresponding to this expression.
Definition at line 190 of file DenseBase.h.
typedef internal::conditional<internal::is_same<typename internal::traits<Derived>::XprKind,MatrixXpr >::value, PlainMatrix, PlainArray>::type Eigen::DenseBase< Derived >::PlainObject |
The plain matrix or array 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::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, Eigen::MatrixBase< Solve< Decomposition, RhsType > >, Eigen::ArrayBase< Derived >, and Eigen::ArrayBase< ArrayWrapper< ExpressionType > >.
Definition at line 209 of file DenseBase.h.
typedef CwiseNullaryOp<internal::linspaced_op<Scalar,PacketScalar,true>,PlainObject> Eigen::DenseBase< Derived >::RandomAccessLinSpacedReturnType |
Represents a vector with linearly spaced coefficients that allows random access.
Definition at line 270 of file DenseBase.h.
typedef CwiseNullaryOp<internal::scalar_random_op<Scalar>,PlainObject> Eigen::DenseBase< Derived >::RandomReturnType |
Definition at line 515 of file DenseBase.h.
typedef NumTraits<Scalar>::Real Eigen::DenseBase< Derived >::RealScalar |
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, Eigen::MatrixBase< Solve< Decomposition, RhsType > >, Eigen::ArrayBase< Derived >, and Eigen::ArrayBase< ArrayWrapper< ExpressionType > >.
Definition at line 75 of file DenseBase.h.
typedef Reverse<Derived, BothDirections> Eigen::DenseBase< Derived >::ReverseReturnType |
Definition at line 553 of file DenseBase.h.
typedef Block<Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Eigen::DenseBase< Derived >::RowsBlockXpr |
expression type of a block of whole rows
Definition at line 24 of file DenseBase.h.
typedef VectorwiseOp<Derived, Horizontal> Eigen::DenseBase< Derived >::RowwiseReturnType |
Definition at line 485 of file DenseBase.h.
typedef Block<Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Eigen::DenseBase< Derived >::RowXpr |
expression type of a row
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, and Eigen::MatrixBase< Solve< Decomposition, RhsType > >.
Definition at line 18 of file DenseBase.h.
typedef internal::traits<Derived>::Scalar Eigen::DenseBase< Derived >::Scalar |
The numeric type of the expression' coefficients, e.g. float, double, int or std::complex<float>, etc.
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, Eigen::MatrixBase< Solve< Decomposition, RhsType > >, Eigen::ArrayBase< Derived >, and Eigen::ArrayBase< ArrayWrapper< ExpressionType > >.
Definition at line 68 of file DenseBase.h.
typedef VectorBlock<Derived> Eigen::DenseBase< Derived >::SegmentReturnType |
Definition at line 39 of file DenseBase.h.
typedef CwiseNullaryOp<internal::linspaced_op<Scalar,PacketScalar,false>,PlainObject> Eigen::DenseBase< Derived >::SequentialLinSpacedReturnType |
Represents a vector with linearly spaced coefficients that allows sequential access only.
Definition at line 268 of file DenseBase.h.
typedef internal::traits<Derived>::StorageIndex Eigen::DenseBase< Derived >::StorageIndex |
The type used to store indices.
This typedef is relevant for types that store multiple indices such as PermutationMatrix or Transpositions, otherwise it defaults to Eigen::Index
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, and Eigen::MatrixBase< Solve< Decomposition, RhsType > >.
Definition at line 65 of file DenseBase.h.
typedef internal::traits<Derived>::StorageKind Eigen::DenseBase< Derived >::StorageKind |
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, Eigen::MatrixBase< Solve< Decomposition, RhsType > >, Eigen::ArrayBase< Derived >, and Eigen::ArrayBase< ArrayWrapper< ExpressionType > >.
Definition at line 57 of file DenseBase.h.
typedef Transpose<Derived> Eigen::DenseBase< Derived >::TransposeReturnType |
Definition at line 323 of file DenseBase.h.
typedef Scalar Eigen::DenseBase< Derived >::value_type |
The numeric type of the expression' coefficients, e.g. float, double, int or std::complex<float>, etc.
It is an alias for the Scalar type
Definition at line 73 of file DenseBase.h.
anonymous enum |
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. |
InnerSizeAtCompileTime | |
InnerStrideAtCompileTime | |
OuterStrideAtCompileTime |
Definition at line 102 of file DenseBase.h.
{ RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime, ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime, SizeAtCompileTime = (internal::size_at_compile_time<internal::traits<Derived>::RowsAtCompileTime, internal::traits<Derived>::ColsAtCompileTime>::ret), MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime, MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime, MaxSizeAtCompileTime = (internal::size_at_compile_time<internal::traits<Derived>::MaxRowsAtCompileTime, internal::traits<Derived>::MaxColsAtCompileTime>::ret), IsVectorAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime == 1 || internal::traits<Derived>::MaxColsAtCompileTime == 1, Flags = internal::traits<Derived>::Flags, IsRowMajor = int(Flags) & RowMajorBit, InnerSizeAtCompileTime = int(IsVectorAtCompileTime) ? int(SizeAtCompileTime) : int(IsRowMajor) ? int(ColsAtCompileTime) : int(RowsAtCompileTime), InnerStrideAtCompileTime = internal::inner_stride_at_compile_time<Derived>::ret, OuterStrideAtCompileTime = internal::outer_stride_at_compile_time<Derived>::ret };
anonymous enum |
Definition at line 180 of file DenseBase.h.
{ IsPlainObjectBase = 0 };
EIGEN_DEVICE_FUNC Eigen::DenseBase< Derived >::DenseBase | ( | ) | [inline, protected] |
Default constructor. Do nothing.
Definition at line 582 of file DenseBase.h.
{ /* Just checks for self-consistency of the flags. * Only do it when debugging Eigen, as this borders on paranoiac and could slow compilation down */ #ifdef EIGEN_INTERNAL_DEBUGGING EIGEN_STATIC_ASSERT((EIGEN_IMPLIES(MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1, int(IsRowMajor)) && EIGEN_IMPLIES(MaxColsAtCompileTime==1 && MaxRowsAtCompileTime!=1, int(!IsRowMajor))), INVALID_STORAGE_ORDER_FOR_THIS_VECTOR_EXPRESSION) #endif }
EIGEN_DEVICE_FUNC Eigen::DenseBase< Derived >::DenseBase | ( | int | ) | [explicit, private] |
EIGEN_DEVICE_FUNC Eigen::DenseBase< Derived >::DenseBase | ( | int | , |
int | |||
) | [private] |
EIGEN_DEVICE_FUNC Eigen::DenseBase< Derived >::DenseBase | ( | const DenseBase< OtherDerived > & | ) | [explicit, private] |
bool Eigen::DenseBase< Derived >::all | ( | ) | const [inline] |
Example:
Output:
Definition at line 81 of file BooleanRedux.h.
{ typedef internal::evaluator<Derived> Evaluator; enum { unroll = SizeAtCompileTime != Dynamic && SizeAtCompileTime * (Evaluator::CoeffReadCost + NumTraits<Scalar>::AddCost) <= EIGEN_UNROLLING_LIMIT }; Evaluator evaluator(derived()); if(unroll) return internal::all_unroller<Evaluator, unroll ? int(SizeAtCompileTime) : Dynamic>::run(evaluator); else { for(Index j = 0; j < cols(); ++j) for(Index i = 0; i < rows(); ++i) if (!evaluator.coeff(i, j)) return false; return true; } }
bool Eigen::DenseBase< Derived >::allFinite | ( | ) | const [inline] |
*this
contains only finite numbers, i.e., no NaN and no +/-INF values.Definition at line 153 of file BooleanRedux.h.
{ #if EIGEN_COMP_MSVC || (defined __FAST_MATH__) return derived().array().isFinite().all(); #else return !((derived()-derived()).hasNaN()); #endif }
bool Eigen::DenseBase< Derived >::any | ( | ) | const [inline] |
Definition at line 105 of file BooleanRedux.h.
{ typedef internal::evaluator<Derived> Evaluator; enum { unroll = SizeAtCompileTime != Dynamic && SizeAtCompileTime * (Evaluator::CoeffReadCost + NumTraits<Scalar>::AddCost) <= EIGEN_UNROLLING_LIMIT }; Evaluator evaluator(derived()); if(unroll) return internal::any_unroller<Evaluator, unroll ? int(SizeAtCompileTime) : Dynamic>::run(evaluator); else { for(Index j = 0; j < cols(); ++j) for(Index i = 0; i < rows(); ++i) if (evaluator.coeff(i, j)) return true; return false; } }
EIGEN_DEVICE_FUNC BlockXpr Eigen::DenseBase< Derived >::block | ( | Index | startRow, |
Index | startCol, | ||
Index | blockRows, | ||
Index | blockCols | ||
) | [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:
Definition at line 63 of file DenseBase.h.
EIGEN_DEVICE_FUNC const ConstBlockXpr Eigen::DenseBase< Derived >::block | ( | Index | startRow, |
Index | startCol, | ||
Index | blockRows, | ||
Index | blockCols | ||
) | const [inline] |
This is the const version of block(Index,Index,Index,Index).
Definition at line 70 of file DenseBase.h.
EIGEN_DEVICE_FUNC FixedBlockXpr<NRows,NCols>::Type Eigen::DenseBase< Derived >::block | ( | Index | startRow, |
Index | startCol | ||
) | [inline] |
The template parameters NRows and NCols are the number of rows and columns in the block.
startRow | the first row in the block |
startCol | the first column in the block |
Example:
Output:
m.template block<3,3>(1,1);
Definition at line 729 of file DenseBase.h.
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr<NRows,NCols>::Type Eigen::DenseBase< Derived >::block | ( | Index | startRow, |
Index | startCol | ||
) | const [inline] |
This is the const version of block<>(Index, Index).
Definition at line 737 of file DenseBase.h.
FixedBlockXpr<NRows,NCols>::Type Eigen::DenseBase< Derived >::block | ( | Index | startRow, |
Index | startCol, | ||
Index | blockRows, | ||
Index | blockCols | ||
) | [inline] |
NRows | number of rows in block as specified at compile-time |
NCols | 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 NRows unless NRows is Dynamic, and the same for the number of columns.
Example:
Output:
Definition at line 762 of file DenseBase.h.
const ConstFixedBlockXpr<NRows,NCols>::Type Eigen::DenseBase< Derived >::block | ( | Index | startRow, |
Index | startCol, | ||
Index | blockRows, | ||
Index | blockCols | ||
) | const [inline] |
This is the const version of block<>(Index, Index, Index, Index).
Definition at line 770 of file DenseBase.h.
EIGEN_DEVICE_FUNC BlockXpr Eigen::DenseBase< Derived >::bottomLeftCorner | ( | Index | cRows, |
Index | cCols | ||
) | [inline] |
cRows | the number of rows in the corner |
cCols | the number of columns in the corner |
Example:
Output:
Definition at line 327 of file DenseBase.h.
EIGEN_DEVICE_FUNC const ConstBlockXpr Eigen::DenseBase< Derived >::bottomLeftCorner | ( | Index | cRows, |
Index | cCols | ||
) | const [inline] |
This is the const version of bottomLeftCorner(Index, Index).
Definition at line 334 of file DenseBase.h.
EIGEN_DEVICE_FUNC FixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::bottomLeftCorner | ( | ) | [inline] |
The template parameters CRows and CCols are the number of rows and columns in the corner.
Example:
Output:
Definition at line 350 of file DenseBase.h.
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::bottomLeftCorner | ( | ) | const [inline] |
This is the const version of bottomLeftCorner<int, int>().
Definition at line 358 of file DenseBase.h.
FixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::bottomLeftCorner | ( | Index | cRows, |
Index | cCols | ||
) | [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:
Definition at line 381 of file DenseBase.h.
const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::bottomLeftCorner | ( | Index | cRows, |
Index | cCols | ||
) | const [inline] |
This is the const version of bottomLeftCorner<int, int>(Index, Index).
Definition at line 388 of file DenseBase.h.
EIGEN_DEVICE_FUNC BlockXpr Eigen::DenseBase< Derived >::bottomRightCorner | ( | Index | cRows, |
Index | cCols | ||
) | [inline] |
cRows | the number of rows in the corner |
cCols | the number of columns in the corner |
Example:
Output:
Definition at line 248 of file DenseBase.h.
{
EIGEN_DEVICE_FUNC const ConstBlockXpr Eigen::DenseBase< Derived >::bottomRightCorner | ( | Index | cRows, |
Index | cCols | ||
) | const [inline] |
This is the const version of bottomRightCorner(Index, Index).
Definition at line 255 of file DenseBase.h.
{ EIGEN_ONLY_USED_FOR_DEBUG(p_rows);
EIGEN_DEVICE_FUNC FixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::bottomRightCorner | ( | ) | [inline] |
The template parameters CRows and CCols are the number of rows and columns in the corner.
Example:
Output:
Definition at line 271 of file DenseBase.h.
{ return derived(); }
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::bottomRightCorner | ( | ) | const [inline] |
This is the const version of bottomRightCorner<int, int>().
Definition at line 279 of file DenseBase.h.
{ return derived(); }
FixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::bottomRightCorner | ( | Index | cRows, |
Index | cCols | ||
) | [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:
Definition at line 302 of file DenseBase.h.
{ return derived(); }
const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::bottomRightCorner | ( | Index | cRows, |
Index | cCols | ||
) | const [inline] |
This is the const version of bottomRightCorner<int, int>(Index, Index).
Definition at line 309 of file DenseBase.h.
{ return derived(); }
EIGEN_DEVICE_FUNC RowsBlockXpr Eigen::DenseBase< Derived >::bottomRows | ( | Index | n | ) | [inline] |
n | the number of rows in the block |
Example:
Output:
Definition at line 457 of file DenseBase.h.
{
EIGEN_DEVICE_FUNC ConstRowsBlockXpr Eigen::DenseBase< Derived >::bottomRows | ( | Index | n | ) | const [inline] |
EIGEN_DEVICE_FUNC NRowsBlockXpr<N>::Type Eigen::DenseBase< Derived >::bottomRows | ( | Index | n = N | ) | [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:
Definition at line 484 of file DenseBase.h.
{
EIGEN_DEVICE_FUNC ConstNRowsBlockXpr<N>::Type Eigen::DenseBase< Derived >::bottomRows | ( | Index | n = N | ) | const [inline] |
This is the const version of bottomRows<int>().
Definition at line 492 of file DenseBase.h.
: \include MatrixBase_rowwise.cpp * Output: \verbinclude MatrixBase_rowwise.out * * \sa colwise(), class VectorwiseOp, \ref TutorialReductionsVisitorsBroadcasting
EIGEN_DEVICE_FUNC ColXpr Eigen::DenseBase< Derived >::col | ( | Index | i | ) | [inline] |
Example:
Output:
Definition at line 783 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstColXpr Eigen::DenseBase< Derived >::col | ( | Index | i | ) | const [inline] |
This is the const version of col().
Definition at line 790 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstColwiseReturnType Eigen::DenseBase< Derived >::colwise | ( | ) | const [inline] |
Example:
Output:
Definition at line 510 of file DenseBase.h.
{ return ConstColwiseReturnType(derived()); }
DenseBase< Derived >::ColwiseReturnType Eigen::DenseBase< Derived >::colwise | ( | ) | [inline] |
Definition at line 663 of file VectorwiseOp.h.
{ return ColwiseReturnType(derived()); }
EIGEN_STRONG_INLINE const DenseBase< Derived >::ConstantReturnType Eigen::DenseBase< Derived >::Constant | ( | Index | rows, |
Index | cols, | ||
const Scalar & | value | ||
) | [static] |
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.
Definition at line 181 of file CwiseNullaryOp.h.
{ return DenseBase<Derived>::NullaryExpr(rows, cols, internal::scalar_constant_op<Scalar>(value)); }
EIGEN_STRONG_INLINE const DenseBase< Derived >::ConstantReturnType Eigen::DenseBase< Derived >::Constant | ( | Index | size, |
const Scalar & | value | ||
) | [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.
Definition at line 203 of file CwiseNullaryOp.h.
{ return DenseBase<Derived>::NullaryExpr(size, internal::scalar_constant_op<Scalar>(value)); }
EIGEN_STRONG_INLINE const DenseBase< Derived >::ConstantReturnType Eigen::DenseBase< Derived >::Constant | ( | const Scalar & | value | ) | [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.
Definition at line 219 of file CwiseNullaryOp.h.
{ EIGEN_STATIC_ASSERT_FIXED_SIZE(Derived) return DenseBase<Derived>::NullaryExpr(RowsAtCompileTime, ColsAtCompileTime, internal::scalar_constant_op<Scalar>(value)); }
Eigen::Index Eigen::DenseBase< Derived >::count | ( | ) | const [inline] |
Definition at line 129 of file BooleanRedux.h.
{ return derived().template cast<bool>().template cast<Index>().sum(); }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EvalReturnType Eigen::DenseBase< Derived >::eval | ( | ) | const [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.
Definition at line 405 of file DenseBase.h.
{ // Even though MSVC does not honor strong inlining when the return type // is a dynamic matrix, we desperately need strong inlining for fixed // size types on MSVC. return typename internal::eval<Derived>::type(derived()); }
EIGEN_DEVICE_FUNC void Eigen::DenseBase< Derived >::evalTo | ( | Dest & | ) | const [inline] |
Reimplemented in Eigen::ArrayWrapper< ExpressionType >.
Definition at line 575 of file DenseBase.h.
{ EIGEN_STATIC_ASSERT((internal::is_same<Dest,void>::value),THE_EVAL_EVALTO_FUNCTION_SHOULD_NEVER_BE_CALLED_FOR_DENSE_OBJECTS); }
EIGEN_STRONG_INLINE void Eigen::DenseBase< Derived >::fill | ( | const Scalar & | val | ) |
Alias for setConstant(): sets all coefficients in this expression to val.
Definition at line 325 of file CwiseNullaryOp.h.
{ setConstant(val); }
EIGEN_DEPRECATED const Derived& Eigen::DenseBase< Derived >::flagged | ( | ) | const [inline] |
EIGEN_DEVICE_FUNC const ForceAlignedAccess<Derived> Eigen::DenseBase< Derived >::forceAlignedAccess | ( | ) | const [inline] |
EIGEN_DEVICE_FUNC ForceAlignedAccess<Derived> Eigen::DenseBase< Derived >::forceAlignedAccess | ( | ) | [inline] |
EIGEN_DEVICE_FUNC const internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type Eigen::DenseBase< Derived >::forceAlignedAccessIf | ( | ) | const [inline] |
EIGEN_DEVICE_FUNC internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type Eigen::DenseBase< Derived >::forceAlignedAccessIf | ( | ) | [inline] |
const WithFormat< Derived > Eigen::DenseBase< Derived >::format | ( | const IOFormat & | fmt | ) | const [inline] |
See class IOFormat for some examples.
Definition at line 121 of file IO.h.
{
return WithFormat<Derived>(derived(), fmt);
}
bool Eigen::DenseBase< Derived >::hasNaN | ( | ) | const [inline] |
*this
contains at least one Not A Number (NaN).Definition at line 139 of file BooleanRedux.h.
{ #if EIGEN_COMP_MSVC || (defined __FAST_MATH__) return derived().array().isNaN().any(); #else return !((derived().array()==derived().array()).all()); #endif }
EIGEN_DEVICE_FUNC SegmentReturnType Eigen::DenseBase< Derived >::head | ( | Index | n | ) | [inline] |
n | the number of coefficients in the segment |
Example:
Output:
Definition at line 862 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstSegmentReturnType Eigen::DenseBase< Derived >::head | ( | Index | n | ) | const [inline] |
This is the const version of head(Index).
Definition at line 870 of file DenseBase.h.
EIGEN_DEVICE_FUNC FixedSegmentReturnType<N>::Type Eigen::DenseBase< Derived >::head | ( | Index | n = N | ) | [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:
Definition at line 956 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstFixedSegmentReturnType<N>::Type Eigen::DenseBase< Derived >::head | ( | Index | n = N | ) | const [inline] |
This is the const version of head<int>().
Definition at line 965 of file DenseBase.h.
EIGEN_DEVICE_FUNC Index Eigen::DenseBase< Derived >::innerSize | ( | ) | const [inline] |
Definition at line 234 of file DenseBase.h.
{ return IsVectorAtCompileTime ? this->size() : int(IsRowMajor) ? this->cols() : this->rows(); }
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.
*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.Definition at line 103 of file Fuzzy.h.
{
return internal::isApprox_selector<Derived, OtherDerived>::run(derived(), other.derived(), prec);
}
bool Eigen::DenseBase< Derived >::isApproxToConstant | ( | const Scalar & | val, |
const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() |
||
) | const |
Definition at line 300 of file CwiseNullaryOp.h.
bool Eigen::DenseBase< Derived >::isConstant | ( | const Scalar & | val, |
const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() |
||
) | const |
This is just an alias for isApproxToConstant().
Definition at line 315 of file CwiseNullaryOp.h.
{ return isApproxToConstant(val, prec); }
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.
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.
Definition at line 125 of file Fuzzy.h.
{
return internal::isMuchSmallerThan_scalar_selector<Derived>::run(derived(), other, prec);
}
EIGEN_DEVICE_FUNC bool Eigen::DenseBase< Derived >::isMuchSmallerThan | ( | const RealScalar & | other, |
const RealScalar & | prec = NumTraits< Scalar >::dummy_precision() |
||
) | const |
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.
Definition at line 145 of file Fuzzy.h.
{
return internal::isMuchSmallerThan_object_selector<Derived, OtherDerived>::run(derived(), other.derived(), prec);
}
bool Eigen::DenseBase< Derived >::isOnes | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
Example:
Output:
Definition at line 616 of file CwiseNullaryOp.h.
{ return isApproxToConstant(Scalar(1), prec); }
bool Eigen::DenseBase< Derived >::isZero | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
Example:
Output:
Definition at line 485 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::lazyAssign | ( | const DenseBase< OtherDerived > & | other | ) |
\Ãnternal Copies other into *this without evaluating other.
Definition at line 20 of file Assign.h.
{ enum{ SameType = internal::is_same<typename Derived::Scalar,typename OtherDerived::Scalar>::value }; EIGEN_STATIC_ASSERT_LVALUE(Derived) EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Derived,OtherDerived) EIGEN_STATIC_ASSERT(SameType,YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY) eigen_assert(rows() == other.rows() && cols() == other.cols()); internal::call_assignment_no_alias(derived(),other.derived()); return derived(); }
EIGEN_DEVICE_FUNC ColsBlockXpr Eigen::DenseBase< Derived >::leftCols | ( | Index | n | ) | [inline] |
n | the number of columns in the block |
Example:
Output:
Definition at line 563 of file DenseBase.h.
{
EIGEN_DEVICE_FUNC ConstColsBlockXpr Eigen::DenseBase< Derived >::leftCols | ( | Index | n | ) | const [inline] |
EIGEN_DEVICE_FUNC NColsBlockXpr<N>::Type Eigen::DenseBase< Derived >::leftCols | ( | Index | n = N | ) | [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:
Definition at line 590 of file DenseBase.h.
: EIGEN_DEVICE_FUNC explicit DenseBase(int);
EIGEN_DEVICE_FUNC ConstNColsBlockXpr<N>::Type Eigen::DenseBase< Derived >::leftCols | ( | Index | n = N | ) | const [inline] |
This is the const version of leftCols<int>().
Definition at line 598 of file DenseBase.h.
EIGEN_STRONG_INLINE const DenseBase< Derived >::SequentialLinSpacedReturnType Eigen::DenseBase< Derived >::LinSpaced | ( | Sequential_t | , |
Index | size, | ||
const Scalar & | low, | ||
const Scalar & | high | ||
) | [static] |
Sets a linearly spaced 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:
Definition at line 244 of file CwiseNullaryOp.h.
{ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) return DenseBase<Derived>::NullaryExpr(size, internal::linspaced_op<Scalar,PacketScalar,false>(low,high,size)); }
EIGEN_STRONG_INLINE const DenseBase< Derived >::RandomAccessLinSpacedReturnType Eigen::DenseBase< Derived >::LinSpaced | ( | Index | size, |
const Scalar & | low, | ||
const Scalar & | high | ||
) | [static] |
Sets a linearly spaced 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:
Definition at line 278 of file CwiseNullaryOp.h.
{ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) return DenseBase<Derived>::NullaryExpr(size, internal::linspaced_op<Scalar,PacketScalar,true>(low,high,size)); }
EIGEN_STRONG_INLINE const DenseBase< Derived >::SequentialLinSpacedReturnType Eigen::DenseBase< Derived >::LinSpaced | ( | Sequential_t | , |
const Scalar & | low, | ||
const Scalar & | high | ||
) | [static] |
Sets a linearly spaced 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:
Definition at line 256 of file CwiseNullaryOp.h.
{ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) EIGEN_STATIC_ASSERT_FIXED_SIZE(Derived) return DenseBase<Derived>::NullaryExpr(Derived::SizeAtCompileTime, internal::linspaced_op<Scalar,PacketScalar,false>(low,high,Derived::SizeAtCompileTime)); }
EIGEN_STRONG_INLINE const DenseBase< Derived >::RandomAccessLinSpacedReturnType Eigen::DenseBase< Derived >::LinSpaced | ( | const Scalar & | low, |
const Scalar & | high | ||
) | [static] |
Sets a linearly spaced 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:
Definition at line 290 of file CwiseNullaryOp.h.
{ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) EIGEN_STATIC_ASSERT_FIXED_SIZE(Derived) return DenseBase<Derived>::NullaryExpr(Derived::SizeAtCompileTime, internal::linspaced_op<Scalar,PacketScalar,true>(low,high,Derived::SizeAtCompileTime)); }
EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::maxCoeff | ( | ) | const |
*this
. *this
contains NaN. Definition at line 434 of file Redux.h.
{ return derived().redux(Eigen::internal::scalar_max_op<Scalar>()); }
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::maxCoeff | ( | IndexType * | rowPtr, |
IndexType * | colPtr | ||
) | const |
*this
contains NaN.Definition at line 242 of file Visitor.h.
{ internal::max_coeff_visitor<Derived> maxVisitor; this->visit(maxVisitor); *rowPtr = maxVisitor.row; if (colPtr) *colPtr = maxVisitor.col; return maxVisitor.res; }
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::maxCoeff | ( | IndexType * | index | ) | const |
*this
contains NaN.Definition at line 260 of file Visitor.h.
{ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) internal::max_coeff_visitor<Derived> maxVisitor; this->visit(maxVisitor); *index = (RowsAtCompileTime==1) ? maxVisitor.col : maxVisitor.row; return maxVisitor.res; }
EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::mean | ( | ) | const |
EIGEN_DEVICE_FUNC ColsBlockXpr Eigen::DenseBase< Derived >::middleCols | ( | Index | startCol, |
Index | numCols | ||
) | [inline] |
startCol | the index of the first column in the block |
numCols | the number of columns in the block |
Example:
Output:
Definition at line 668 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstColsBlockXpr Eigen::DenseBase< Derived >::middleCols | ( | Index | startCol, |
Index | numCols | ||
) | const [inline] |
This is the const version of middleCols(Index,Index).
Definition at line 675 of file DenseBase.h.
EIGEN_DEVICE_FUNC NColsBlockXpr<N>::Type Eigen::DenseBase< Derived >::middleCols | ( | Index | startCol, |
Index | n = N |
||
) | [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:
Definition at line 696 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstNColsBlockXpr<N>::Type Eigen::DenseBase< Derived >::middleCols | ( | Index | startCol, |
Index | n = N |
||
) | const [inline] |
This is the const version of middleCols<int>().
Definition at line 704 of file DenseBase.h.
EIGEN_DEVICE_FUNC RowsBlockXpr Eigen::DenseBase< Derived >::middleRows | ( | Index | startRow, |
Index | n | ||
) | [inline] |
startRow | the index of the first row in the block |
n | the number of rows in the block |
Example:
Output:
Definition at line 510 of file DenseBase.h.
{ return ConstColwiseReturnType(derived()); } EIGEN_DEVICE_FUNC ColwiseReturnType colwise();
EIGEN_DEVICE_FUNC ConstRowsBlockXpr Eigen::DenseBase< Derived >::middleRows | ( | Index | startRow, |
Index | n | ||
) | const [inline] |
This is the const version of middleRows(Index,Index).
Definition at line 517 of file DenseBase.h.
EIGEN_DEVICE_FUNC NRowsBlockXpr<N>::Type Eigen::DenseBase< Derived >::middleRows | ( | Index | startRow, |
Index | n = N |
||
) | [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:
Definition at line 538 of file DenseBase.h.
{
EIGEN_DEVICE_FUNC ConstNRowsBlockXpr<N>::Type Eigen::DenseBase< Derived >::middleRows | ( | Index | startRow, |
Index | n = N |
||
) | const [inline] |
EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::minCoeff | ( | ) | const |
*this
. *this
contains NaN. Definition at line 424 of file Redux.h.
{ return derived().redux(Eigen::internal::scalar_min_op<Scalar>()); }
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::minCoeff | ( | IndexType * | rowId, |
IndexType * | colId | ||
) | const |
*this
contains NaN.Definition at line 206 of file Visitor.h.
{ internal::min_coeff_visitor<Derived> minVisitor; this->visit(minVisitor); *rowId = minVisitor.row; if (colId) *colId = minVisitor.col; return minVisitor.res; }
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::minCoeff | ( | IndexType * | index | ) | const |
*this
contains NaN.Definition at line 224 of file Visitor.h.
{ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) internal::min_coeff_visitor<Derived> minVisitor; this->visit(minVisitor); *index = IndexType((RowsAtCompileTime==1) ? minVisitor.col : minVisitor.row); return minVisitor.res; }
const NestByValue< Derived > Eigen::DenseBase< Derived >::nestByValue | ( | ) | const [inline] |
Definition at line 103 of file NestByValue.h.
{
return NestByValue<Derived>(derived());
}
EIGEN_DEVICE_FUNC Index Eigen::DenseBase< Derived >::nonZeros | ( | ) | const [inline] |
Definition at line 214 of file DenseBase.h.
{ return size(); }
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > Eigen::DenseBase< Derived >::NullaryExpr | ( | Index | rows, |
Index | cols, | ||
const CustomNullaryOp & | func | ||
) | [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.
The template parameter CustomNullaryOp is the type of the functor.
Definition at line 116 of file CwiseNullaryOp.h.
{
return CwiseNullaryOp<CustomNullaryOp, PlainObject>(rows, cols, func);
}
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > Eigen::DenseBase< Derived >::NullaryExpr | ( | Index | size, |
const CustomNullaryOp & | func | ||
) | [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.
The template parameter CustomNullaryOp is the type of the functor.
Here is an example with C++11 random generators:
Output:
Definition at line 142 of file CwiseNullaryOp.h.
{ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) if(RowsAtCompileTime == 1) return CwiseNullaryOp<CustomNullaryOp, PlainObject>(1, size, func); else return CwiseNullaryOp<CustomNullaryOp, PlainObject>(size, 1, func); }
EIGEN_STRONG_INLINE const CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > Eigen::DenseBase< Derived >::NullaryExpr | ( | const CustomNullaryOp & | func | ) | [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.
Definition at line 161 of file CwiseNullaryOp.h.
{ return CwiseNullaryOp<CustomNullaryOp, PlainObject>(RowsAtCompileTime, ColsAtCompileTime, func); }
EIGEN_STRONG_INLINE const DenseBase< Derived >::ConstantReturnType Eigen::DenseBase< Derived >::Ones | ( | Index | rows, |
Index | cols | ||
) | [static] |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Ones() should be used instead.
Example:
Output:
Definition at line 561 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE const DenseBase< Derived >::ConstantReturnType Eigen::DenseBase< Derived >::Ones | ( | Index | newSize | ) | [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:
Definition at line 584 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE const DenseBase< Derived >::ConstantReturnType Eigen::DenseBase< Derived >::Ones | ( | ) | [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:
Definition at line 601 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::operator*= | ( | const Scalar & | other | ) |
Definition at line 16 of file SelfCwiseBinaryOp.h.
{ typedef typename Derived::PlainObject PlainObject; internal::call_assignment(this->derived(), PlainObject::Constant(rows(),cols(),other), internal::mul_assign_op<Scalar>()); return derived(); }
Derived & Eigen::DenseBase< Derived >::operator+= | ( | const EigenBase< OtherDerived > & | other | ) |
Definition at line 139 of file EigenBase.h.
{ call_assignment(derived(), other.derived(), internal::add_assign_op<Scalar>()); return derived(); }
Derived & Eigen::DenseBase< Derived >::operator-= | ( | const EigenBase< OtherDerived > & | other | ) |
Definition at line 147 of file EigenBase.h.
{ call_assignment(derived(), other.derived(), internal::sub_assign_op<Scalar>()); return derived(); }
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::operator/= | ( | const Scalar & | other | ) |
Definition at line 40 of file SelfCwiseBinaryOp.h.
{ typedef typename Derived::PlainObject PlainObject; internal::call_assignment(this->derived(), PlainObject::Constant(rows(),cols(),other), internal::div_assign_op<Scalar>()); return derived(); }
CommaInitializer< Derived > Eigen::DenseBase< Derived >::operator<< | ( | const Scalar & | s | ) | [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:
Definition at line 147 of file CommaInitializer.h.
{ return CommaInitializer<Derived>(*static_cast<Derived*>(this), s); }
CommaInitializer< Derived > Eigen::DenseBase< Derived >::operator<< | ( | const DenseBase< OtherDerived > & | other | ) | [inline] |
Definition at line 156 of file CommaInitializer.h.
{ return CommaInitializer<Derived>(*static_cast<Derived *>(this), other); }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::operator= | ( | const DenseBase< OtherDerived > & | other | ) |
Copies other into *this.
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, and Eigen::MatrixBase< Solve< Decomposition, RhsType > >.
Definition at line 39 of file Assign.h.
{ internal::call_assignment(derived(), other.derived()); return derived(); }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::operator= | ( | const DenseBase< Derived > & | other | ) |
Special case of the template operator=, in order to prevent the compiler from generating a default operator= (issue hit with g++ 4.1)
Definition at line 47 of file Assign.h.
{ internal::call_assignment(derived(), other.derived()); return derived(); }
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
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, and Eigen::MatrixBase< Solve< Decomposition, RhsType > >.
Definition at line 131 of file EigenBase.h.
{ call_assignment(derived(), other.derived()); return derived(); }
Derived & Eigen::DenseBase< Derived >::operator= | ( | const ReturnByValue< OtherDerived > & | func | ) |
Reimplemented in Eigen::MatrixBase< Derived >, Eigen::MatrixBase< MatrixWrapper< ExpressionType > >, Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >, and Eigen::MatrixBase< Solve< Decomposition, RhsType > >.
Definition at line 82 of file ReturnByValue.h.
{
other.evalTo(derived());
return derived();
}
EIGEN_DEVICE_FUNC Index Eigen::DenseBase< Derived >::outerSize | ( | ) | const [inline] |
Definition at line 222 of file DenseBase.h.
{ return IsVectorAtCompileTime ? 1 : int(IsRowMajor) ? this->rows() : this->cols(); }
EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::prod | ( | ) | const |
Example:
Output:
Definition at line 472 of file Redux.h.
{ if(SizeAtCompileTime==0 || (SizeAtCompileTime==Dynamic && size()==0)) return Scalar(1); return derived().redux(Eigen::internal::scalar_product_op<Scalar>()); }
const DenseBase< Derived >::RandomReturnType Eigen::DenseBase< Derived >::Random | ( | Index | rows, |
Index | cols | ||
) | [inline, static] |
Numbers are uniformly spread through their whole definition range for integer types, and in the [-1:1] range for floating point scalar types.
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 DenseBase::NullaryExpr(Index, const CustomNullaryOp&) for an example using C++11 random generators.
Definition at line 57 of file Random.h.
{ return NullaryExpr(rows, cols, internal::scalar_random_op<Scalar>()); }
const DenseBase< Derived >::RandomReturnType Eigen::DenseBase< Derived >::Random | ( | Index | size | ) | [inline, static] |
Numbers are uniformly spread through their whole definition range for integer types, and in the [-1:1] range for floating point scalar types.
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.
Definition at line 88 of file Random.h.
{ return NullaryExpr(size, internal::scalar_random_op<Scalar>()); }
const DenseBase< Derived >::RandomReturnType Eigen::DenseBase< Derived >::Random | ( | ) | [inline, static] |
Numbers are uniformly spread through their whole definition range for integer types, and in the [-1:1] range for floating point scalar types.
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.
Definition at line 114 of file Random.h.
{ return NullaryExpr(RowsAtCompileTime, ColsAtCompileTime, internal::scalar_random_op<Scalar>()); }
internal::traits<Derived>::Scalar 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 C++98 and C++11 functor styles are handled.
Definition at line 409 of file Redux.h.
{ eigen_assert(this->rows()>0 && this->cols()>0 && "you are using an empty matrix"); typedef typename internal::redux_evaluator<Derived> ThisEvaluator; ThisEvaluator thisEval(derived()); return internal::redux_impl<Func, ThisEvaluator>::run(thisEval, func); }
EIGEN_DEVICE_FUNC Scalar Eigen::DenseBase< Derived >::redux | ( | const BinaryOp & | func | ) | const |
const Replicate< Derived, RowFactor, ColFactor > Eigen::DenseBase< Derived >::replicate | ( | ) | const |
*this
Example:
Output:
Definition at line 119 of file Replicate.h.
{
return Replicate<Derived,RowFactor,ColFactor>(derived());
}
EIGEN_DEVICE_FUNC const Replicate<Derived, Dynamic, Dynamic> Eigen::DenseBase< Derived >::replicate | ( | Index | rowFactor, |
Index | colFactor | ||
) | const [inline] |
*this
Example:
Output:
Definition at line 548 of file DenseBase.h.
{
return Replicate<Derived, Dynamic, Dynamic>(derived(), rowFactor, colFactor);
}
EIGEN_DEVICE_FUNC void Eigen::DenseBase< Derived >::resize | ( | Index | newSize | ) | [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.
Reimplemented in Eigen::MatrixWrapper< ExpressionType >, and Eigen::ArrayWrapper< ExpressionType >.
Definition at line 245 of file DenseBase.h.
{ EIGEN_ONLY_USED_FOR_DEBUG(newSize); eigen_assert(newSize == this->size() && "DenseBase::resize() does not actually allow to resize."); }
EIGEN_DEVICE_FUNC void Eigen::DenseBase< Derived >::resize | ( | Index | p_rows, |
Index | p_cols | ||
) | [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.
Reimplemented in Eigen::MatrixWrapper< ExpressionType >, and Eigen::ArrayWrapper< ExpressionType >.
Definition at line 256 of file DenseBase.h.
{ EIGEN_ONLY_USED_FOR_DEBUG(p_rows); EIGEN_ONLY_USED_FOR_DEBUG(p_cols); eigen_assert(p_rows == this->rows() && p_cols == this->cols() && "DenseBase::resize() does not actually allow to resize."); }
DenseBase< Derived >::ReverseReturnType Eigen::DenseBase< Derived >::reverse | ( | ) | [inline] |
Example:
Output:
Definition at line 118 of file Reverse.h.
{ return ReverseReturnType(derived()); }
EIGEN_DEVICE_FUNC ConstReverseReturnType Eigen::DenseBase< Derived >::reverse | ( | ) | const [inline] |
This is the const version of reverse().
Definition at line 558 of file DenseBase.h.
{ return ConstReverseReturnType(derived()); }
void Eigen::DenseBase< Derived >::reverseInPlace | ( | ) | [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 benefits:
m = m.reverse().eval();
Definition at line 139 of file Reverse.h.
{ if(cols()>rows()) { Index half = cols()/2; leftCols(half).swap(rightCols(half).reverse()); if((cols()%2)==1) { Index half2 = rows()/2; col(half).head(half2).swap(col(half).tail(half2).reverse()); } } else { Index half = rows()/2; topRows(half).swap(bottomRows(half).reverse()); if((rows()%2)==1) { Index half2 = cols()/2; row(half).head(half2).swap(row(half).tail(half2).reverse()); } } }
EIGEN_DEVICE_FUNC ColsBlockXpr Eigen::DenseBase< Derived >::rightCols | ( | Index | n | ) | [inline] |
n | the number of columns in the block |
Example:
Output:
Definition at line 615 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstColsBlockXpr Eigen::DenseBase< Derived >::rightCols | ( | Index | n | ) | const [inline] |
This is the const version of rightCols(Index).
Definition at line 622 of file DenseBase.h.
EIGEN_DEVICE_FUNC NColsBlockXpr<N>::Type Eigen::DenseBase< Derived >::rightCols | ( | Index | n = N | ) | [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:
Definition at line 642 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstNColsBlockXpr<N>::Type Eigen::DenseBase< Derived >::rightCols | ( | Index | n = N | ) | const [inline] |
This is the const version of rightCols<int>().
Definition at line 650 of file DenseBase.h.
EIGEN_DEVICE_FUNC RowXpr Eigen::DenseBase< Derived >::row | ( | Index | i | ) | [inline] |
Example:
Output:
Definition at line 802 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstRowXpr Eigen::DenseBase< Derived >::row | ( | Index | i | ) | const [inline] |
This is the const version of row().
Definition at line 809 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstRowwiseReturnType Eigen::DenseBase< Derived >::rowwise | ( | ) | const [inline] |
Example:
Output:
Definition at line 498 of file DenseBase.h.
{ return ConstRowwiseReturnType(derived()); }
DenseBase< Derived >::RowwiseReturnType Eigen::DenseBase< Derived >::rowwise | ( | ) | [inline] |
Definition at line 677 of file VectorwiseOp.h.
{ return RowwiseReturnType(derived()); }
EIGEN_DEVICE_FUNC SegmentReturnType Eigen::DenseBase< Derived >::segment | ( | Index | start, |
Index | n | ||
) | [inline] |
start | the first coefficient in the segment |
n | the number of coefficients in the segment |
Example:
Output:
Definition at line 831 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstSegmentReturnType Eigen::DenseBase< Derived >::segment | ( | Index | start, |
Index | n | ||
) | const [inline] |
This is the const version of segment(Index,Index).
Definition at line 840 of file DenseBase.h.
EIGEN_DEVICE_FUNC FixedSegmentReturnType<N>::Type Eigen::DenseBase< Derived >::segment | ( | Index | start, |
Index | n = N |
||
) | [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:
Definition at line 924 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstFixedSegmentReturnType<N>::Type Eigen::DenseBase< Derived >::segment | ( | Index | start, |
Index | n = N |
||
) | const [inline] |
This is the const version of segment<int>(Index).
Definition at line 933 of file DenseBase.h.
const Select< Derived, ThenDerived, ElseDerived > Eigen::DenseBase< Derived >::select | ( | const DenseBase< ThenDerived > & | thenMatrix, |
const DenseBase< ElseDerived > & | elseMatrix | ||
) | const [inline] |
*this
(i,j), and elseMatrix(i,j) otherwise.Example:
Output:
Definition at line 124 of file Select.h.
{
return Select<Derived,ThenDerived,ElseDerived>(derived(), thenMatrix.derived(), elseMatrix.derived());
}
const Select< Derived, ThenDerived, typename ThenDerived::ConstantReturnType > Eigen::DenseBase< Derived >::select | ( | const DenseBase< ThenDerived > & | thenMatrix, |
const typename ThenDerived::Scalar & | elseScalar | ||
) | const [inline] |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the else expression being a scalar value.
Definition at line 138 of file Select.h.
{ return Select<Derived,ThenDerived,typename ThenDerived::ConstantReturnType>( derived(), thenMatrix.derived(), ThenDerived::Constant(rows(),cols(),elseScalar)); }
const Select< Derived, typename ElseDerived::ConstantReturnType, ElseDerived > Eigen::DenseBase< Derived >::select | ( | const typename ElseDerived::Scalar & | thenScalar, |
const DenseBase< ElseDerived > & | elseMatrix | ||
) | const [inline] |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the then expression being a scalar value.
Definition at line 153 of file Select.h.
{ return Select<Derived,typename ElseDerived::ConstantReturnType,ElseDerived>( derived(), ElseDerived::Constant(rows(),cols(),thenScalar), elseMatrix.derived()); }
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setConstant | ( | const Scalar & | val | ) |
Sets all coefficients in this expression to value val.
Definition at line 335 of file CwiseNullaryOp.h.
{ return derived() = Constant(rows(), cols(), val); }
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setLinSpaced | ( | Index | newSize, |
const Scalar & | low, | ||
const Scalar & | high | ||
) |
Sets a linearly spaced 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:
Definition at line 390 of file CwiseNullaryOp.h.
{ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) return derived() = Derived::NullaryExpr(newSize, internal::linspaced_op<Scalar,PacketScalar,false>(low,high,newSize)); }
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setLinSpaced | ( | const Scalar & | low, |
const Scalar & | high | ||
) |
Sets a linearly spaced 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.
Definition at line 407 of file CwiseNullaryOp.h.
{ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived) return setLinSpaced(size(), low, high); }
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setOnes | ( | ) |
Sets all coefficients in this expression to one.
Example:
Output:
Definition at line 629 of file CwiseNullaryOp.h.
{ return setConstant(Scalar(1)); }
Derived & Eigen::DenseBase< Derived >::setRandom | ( | ) | [inline] |
Sets all coefficients in this expression to random values.
Numbers are uniformly spread through their whole definition range for integer types, and in the [-1:1] range for floating point scalar types.
Example:
Output:
Definition at line 132 of file Random.h.
{ return *this = Random(rows(), cols()); }
EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setZero | ( | ) |
Sets all coefficients in this expression to zero.
Example:
Output:
Definition at line 503 of file CwiseNullaryOp.h.
{ return setConstant(Scalar(0)); }
EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::sum | ( | ) | const |
Definition at line 445 of file Redux.h.
{ if(SizeAtCompileTime==0 || (SizeAtCompileTime==Dynamic && size()==0)) return Scalar(0); return derived().redux(Eigen::internal::scalar_sum_op<Scalar>()); }
EIGEN_DEVICE_FUNC void Eigen::DenseBase< Derived >::swap | ( | const DenseBase< OtherDerived > & | other | ) | [inline] |
swaps *this with the expression other.
Definition at line 418 of file DenseBase.h.
{ EIGEN_STATIC_ASSERT(!OtherDerived::IsPlainObjectBase,THIS_EXPRESSION_IS_NOT_A_LVALUE__IT_IS_READ_ONLY); eigen_assert(rows()==other.rows() && cols()==other.cols()); call_assignment(derived(), other.const_cast_derived(), internal::swap_assign_op<Scalar>()); }
EIGEN_DEVICE_FUNC void Eigen::DenseBase< Derived >::swap | ( | PlainObjectBase< OtherDerived > & | other | ) | [inline] |
swaps *this with the matrix or array other.
Definition at line 430 of file DenseBase.h.
{ eigen_assert(rows()==other.rows() && cols()==other.cols()); call_assignment(derived(), other.derived(), internal::swap_assign_op<Scalar>()); }
EIGEN_DEVICE_FUNC SegmentReturnType Eigen::DenseBase< Derived >::tail | ( | Index | n | ) | [inline] |
n | the number of coefficients in the segment |
Example:
Output:
Definition at line 892 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstSegmentReturnType Eigen::DenseBase< Derived >::tail | ( | Index | n | ) | const [inline] |
This is the const version of tail(Index).
Definition at line 900 of file DenseBase.h.
EIGEN_DEVICE_FUNC FixedSegmentReturnType<N>::Type Eigen::DenseBase< Derived >::tail | ( | Index | n = N | ) | [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:
Definition at line 988 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstFixedSegmentReturnType<N>::Type Eigen::DenseBase< Derived >::tail | ( | Index | n = N | ) | const [inline] |
This is the const version of tail<int>.
Definition at line 997 of file DenseBase.h.
EIGEN_DEVICE_FUNC BlockXpr Eigen::DenseBase< Derived >::topLeftCorner | ( | Index | cRows, |
Index | cCols | ||
) | [inline] |
cRows | the number of rows in the corner |
cCols | the number of columns in the corner |
Example:
Output:
Definition at line 169 of file DenseBase.h.
: int(IsRowMajor) ? int(ColsAtCompileTime) : int(RowsAtCompileTime),
EIGEN_DEVICE_FUNC const ConstBlockXpr Eigen::DenseBase< Derived >::topLeftCorner | ( | Index | cRows, |
Index | cCols | ||
) | const [inline] |
This is the const version of topLeftCorner(Index, Index).
Definition at line 176 of file DenseBase.h.
{ IsPlainObjectBase = 0 };
EIGEN_DEVICE_FUNC FixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::topLeftCorner | ( | ) | [inline] |
The template parameters CRows and CCols are the number of rows and columns in the corner.
Example:
Output:
Definition at line 192 of file DenseBase.h.
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::topLeftCorner | ( | ) | const [inline] |
This is the const version of topLeftCorner<int, int>().
Definition at line 200 of file DenseBase.h.
FixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::topLeftCorner | ( | Index | cRows, |
Index | cCols | ||
) | [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:
Definition at line 223 of file DenseBase.h.
{ return IsVectorAtCompileTime ? 1 : int(IsRowMajor) ? this->rows() : this->cols(); }
const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::topLeftCorner | ( | Index | cRows, |
Index | cCols | ||
) | const [inline] |
This is the const version of topLeftCorner<int, int>(Index, Index).
Definition at line 230 of file DenseBase.h.
{
EIGEN_DEVICE_FUNC BlockXpr Eigen::DenseBase< Derived >::topRightCorner | ( | Index | cRows, |
Index | cCols | ||
) | [inline] |
cRows | the number of rows in the corner |
cCols | the number of columns in the corner |
Example:
Output:
Definition at line 89 of file DenseBase.h.
EIGEN_DEVICE_FUNC const ConstBlockXpr Eigen::DenseBase< Derived >::topRightCorner | ( | Index | cRows, |
Index | cCols | ||
) | const [inline] |
This is the const version of topRightCorner(Index, Index).
Definition at line 96 of file DenseBase.h.
EIGEN_DEVICE_FUNC FixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::topRightCorner | ( | ) | [inline] |
CRows | the number of rows in the corner |
CCols | the number of columns in the corner |
Example:
Output:
Definition at line 113 of file DenseBase.h.
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::topRightCorner | ( | ) | const [inline] |
This is the const version of topRightCorner<int, int>().
Definition at line 121 of file DenseBase.h.
FixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::topRightCorner | ( | Index | cRows, |
Index | cCols | ||
) | [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:
Definition at line 144 of file DenseBase.h.
const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::DenseBase< Derived >::topRightCorner | ( | Index | cRows, |
Index | cCols | ||
) | const [inline] |
This is the const version of topRightCorner<int, int>(Index, Index).
Definition at line 151 of file DenseBase.h.
EIGEN_DEVICE_FUNC RowsBlockXpr Eigen::DenseBase< Derived >::topRows | ( | Index | n | ) | [inline] |
n | the number of rows in the block |
Example:
Output:
Definition at line 405 of file DenseBase.h.
{ // Even though MSVC does not honor strong inlining when the return type // is a dynamic matrix, we desperately need strong inlining for fixed
EIGEN_DEVICE_FUNC ConstRowsBlockXpr Eigen::DenseBase< Derived >::topRows | ( | Index | n | ) | const [inline] |
EIGEN_DEVICE_FUNC NRowsBlockXpr<N>::Type Eigen::DenseBase< Derived >::topRows | ( | Index | n = N | ) | [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:
Definition at line 432 of file DenseBase.h.
EIGEN_DEVICE_FUNC ConstNRowsBlockXpr<N>::Type Eigen::DenseBase< Derived >::topRows | ( | Index | n = N | ) | const [inline] |
This is the const version of topRows<int>().
Definition at line 440 of file DenseBase.h.
EIGEN_DEVICE_FUNC Scalar Eigen::DenseBase< Derived >::trace | ( | ) | const |
Transpose< Derived > Eigen::DenseBase< Derived >::transpose | ( | ) | [inline] |
Example:
Output:
m = m.transpose(); // bug!!! caused by aliasing effect
m.transposeInPlace();
m = m.transpose().eval();
Definition at line 167 of file Transpose.h.
{ return TransposeReturnType(derived()); }
DenseBase< Derived >::ConstTransposeReturnType Eigen::DenseBase< Derived >::transpose | ( | ) | const [inline] |
This is the const version of transpose().
Make sure you read the warning for transpose() !
Definition at line 179 of file Transpose.h.
{ return ConstTransposeReturnType(derived()); }
void Eigen::DenseBase< Derived >::transposeInPlace | ( | ) | [inline] |
This is the "in place" version of transpose(): it replaces *this
by its own transpose. Thus, doing
m.transposeInPlace();
has the same effect on m as doing
m = m.transpose().eval();
and is faster and also safer because in the latter line of code, forgetting the eval() results in a bug caused by aliasing.
Notice however that this method is only useful if you want to replace a matrix by its own transpose. If you just need the transpose of a matrix, use transpose().
*this
must be a resizable matrix. This excludes (non-square) fixed-size matrices, block-expressions and maps.Definition at line 279 of file Transpose.h.
{ eigen_assert((rows() == cols() || (RowsAtCompileTime == Dynamic && ColsAtCompileTime == Dynamic)) && "transposeInPlace() called on a non-square non-resizable matrix"); internal::inplace_transpose_selector<Derived>::run(derived()); }
EIGEN_DEVICE_FUNC CoeffReturnType Eigen::DenseBase< Derived >::value | ( | ) | const [inline] |
Definition at line 474 of file DenseBase.h.
{ EIGEN_STATIC_ASSERT_SIZE_1x1(Derived) eigen_assert(this->rows() == 1 && this->cols() == 1); return derived().coeff(0,0); }
EIGEN_DEVICE_FUNC 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:
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); };
Definition at line 107 of file Visitor.h.
{ typedef typename internal::visitor_evaluator<Derived> ThisEvaluator; ThisEvaluator thisEval(derived()); enum { unroll = SizeAtCompileTime != Dynamic && SizeAtCompileTime * ThisEvaluator::CoeffReadCost + (SizeAtCompileTime-1) * internal::functor_traits<Visitor>::Cost <= EIGEN_UNROLLING_LIMIT }; return internal::visitor_impl<Visitor, ThisEvaluator, unroll ? int(SizeAtCompileTime) : Dynamic>::run(thisEval, visitor); }
EIGEN_STRONG_INLINE const DenseBase< Derived >::ConstantReturnType Eigen::DenseBase< Derived >::Zero | ( | Index | rows, |
Index | cols | ||
) | [static] |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Zero() should be used instead.
Example:
Output:
Definition at line 431 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE const DenseBase< Derived >::ConstantReturnType Eigen::DenseBase< Derived >::Zero | ( | Index | size | ) | [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:
Definition at line 454 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE const DenseBase< Derived >::ConstantReturnType Eigen::DenseBase< Derived >::Zero | ( | ) | [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:
Definition at line 471 of file CwiseNullaryOp.h.
std::ostream & operator<< | ( | std::ostream & | s, |
const DenseBase< Derived > & | m | ||
) | [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.
Definition at line 245 of file IO.h.
{ return internal::print_matrix(s, m.eval(), EIGEN_DEFAULT_IO_FORMAT); }