Base class for all dense matrices, vectors, and arrays. More...
#include <DenseBase.h>
Public Member Functions | |
EIGEN_DEVICE_FUNC bool | all () const |
bool | allFinite () const |
EIGEN_DEVICE_FUNC bool | any () const |
iterator | begin () |
const_iterator | begin () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
EIGEN_DEVICE_FUNC ColwiseReturnType | colwise () |
EIGEN_DEVICE_FUNC ConstColwiseReturnType | colwise () const |
EIGEN_DEVICE_FUNC Index | count () const |
iterator | end () |
const_iterator | end () const |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EvalReturnType | eval () const |
template<typename Dest > | |
EIGEN_DEVICE_FUNC void | evalTo (Dest &) const |
EIGEN_DEVICE_FUNC void | fill (const Scalar &value) |
template<unsigned int Added, unsigned int Removed> | |
const EIGEN_DEPRECATED Derived & | flagged () const |
EIGEN_DEVICE_FUNC ForceAlignedAccess< Derived > | forceAlignedAccess () |
const EIGEN_DEVICE_FUNC ForceAlignedAccess< Derived > | forceAlignedAccess () const |
template<bool Enable> | |
EIGEN_DEVICE_FUNC internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type | forceAlignedAccessIf () |
template<bool Enable> | |
const EIGEN_DEVICE_FUNC internal::conditional< Enable, ForceAlignedAccess< Derived >, Derived & >::type | forceAlignedAccessIf () const |
const WithFormat< Derived > | format (const IOFormat &fmt) const |
bool | hasNaN () const |
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | innerSize () const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC bool | isApprox (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 |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC bool | isMuchSmallerThan (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 Derived > | |
EIGEN_DEVICE_FUNC bool | isMuchSmallerThan (const typename NumTraits< Scalar >::Real &other, const RealScalar &prec) const |
EIGEN_DEVICE_FUNC bool | isOnes (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
EIGEN_DEVICE_FUNC bool | isZero (const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEPRECATED EIGEN_DEVICE_FUNC Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
template<int p> | |
RealScalar | lpNorm () const |
template<int NaNPropagation> | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff () const |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff () const |
template<int NaNPropagation, typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff (IndexType *index) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | maxCoeff (IndexType *index) const |
template<int NaNPropagation, 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 | maxCoeff (IndexType *row, IndexType *col) const |
EIGEN_DEVICE_FUNC Scalar | mean () const |
template<int NaNPropagation> | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff () const |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff () const |
template<int NaNPropagation, typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff (IndexType *index) const |
template<typename IndexType > | |
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar | minCoeff (IndexType *index) const |
template<int NaNPropagation, 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 | minCoeff (IndexType *row, IndexType *col) const |
const EIGEN_DEVICE_FUNC NestByValue< Derived > | nestByValue () const |
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | nonZeros () const |
template<typename CustomNullaryOp > | |
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (Index rows, Index cols, const CustomNullaryOp &func) |
template<typename CustomNullaryOp > | |
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE CwiseNullaryOp< CustomNullaryOp, typename DenseBase< Derived >::PlainObject > | NullaryExpr (Index size, const CustomNullaryOp &func) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator*= (const Scalar &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator+= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator-= (const EigenBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator/= (const Scalar &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC CommaInitializer< Derived > | operator<< (const DenseBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC CommaInitializer< Derived > | operator<< (const Scalar &s) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const DenseBase &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & | operator= (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const EigenBase< OtherDerived > &other) |
Copies the generic expression other into *this. More... | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC Derived & | operator= (const ReturnByValue< OtherDerived > &func) |
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | outerSize () const |
EIGEN_DEVICE_FUNC Scalar | prod () const |
template<typename BinaryOp > | |
EIGEN_DEVICE_FUNC Scalar | redux (const BinaryOp &func) const |
template<typename Func > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar | redux (const Func &func) const |
template<int RowFactor, int ColFactor> | |
const EIGEN_DEVICE_FUNC Replicate< Derived, RowFactor, ColFactor > | replicate () const |
const EIGEN_DEVICE_FUNC Replicate< Derived, Dynamic, Dynamic > | replicate (Index rowFactor, Index colFactor) const |
EIGEN_DEVICE_FUNC void | resize (Index newSize) |
EIGEN_DEVICE_FUNC void | resize (Index rows, Index cols) |
EIGEN_DEVICE_FUNC ReverseReturnType | reverse () |
EIGEN_DEVICE_FUNC ConstReverseReturnType | reverse () const |
EIGEN_DEVICE_FUNC void | reverseInPlace () |
EIGEN_DEVICE_FUNC RowwiseReturnType | rowwise () |
EIGEN_DEVICE_FUNC ConstRowwiseReturnType | rowwise () const |
template<typename ThenDerived , typename ElseDerived > | |
const EIGEN_DEVICE_FUNC Select< Derived, ThenDerived, ElseDerived > | select (const DenseBase< ThenDerived > &thenMatrix, const DenseBase< ElseDerived > &elseMatrix) const |
template<typename ThenDerived > | |
const EIGEN_DEVICE_FUNC Select< Derived, ThenDerived, typename ThenDerived::ConstantReturnType > | select (const DenseBase< ThenDerived > &thenMatrix, const typename ThenDerived::Scalar &elseScalar) const |
template<typename ElseDerived > | |
const EIGEN_DEVICE_FUNC Select< Derived, typename ElseDerived::ConstantReturnType, ElseDerived > | select (const typename ElseDerived::Scalar &thenScalar, const DenseBase< ElseDerived > &elseMatrix) const |
EIGEN_DEVICE_FUNC Derived & | setConstant (const Scalar &value) |
EIGEN_DEVICE_FUNC Derived & | setLinSpaced (const Scalar &low, const Scalar &high) |
Sets a linearly spaced vector. More... | |
EIGEN_DEVICE_FUNC Derived & | setLinSpaced (Index size, const Scalar &low, const Scalar &high) |
Sets a linearly spaced vector. More... | |
EIGEN_DEVICE_FUNC Derived & | setOnes () |
EIGEN_DEVICE_FUNC Derived & | setRandom () |
EIGEN_DEVICE_FUNC Derived & | setZero () |
EIGEN_DEVICE_FUNC Scalar | sum () const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | swap (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | swap (PlainObjectBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC Scalar | trace () const |
EIGEN_DEVICE_FUNC TransposeReturnType | transpose () |
EIGEN_DEVICE_FUNC ConstTransposeReturnType | transpose () const |
EIGEN_DEVICE_FUNC void | transposeInPlace () |
EIGEN_DEVICE_FUNC CoeffReturnType | value () const |
template<typename Visitor > | |
EIGEN_DEVICE_FUNC void | visit (Visitor &func) const |
Public Attributes | |
const typedef VectorwiseOp< const Derived, Vertical > | ConstColwiseReturnType |
const typedef Reverse< const Derived, BothDirections > | ConstReverseReturnType |
const typedef VectorwiseOp< const Derived, Horizontal > | ConstRowwiseReturnType |
EIGEN_DEPRECATED typedef CwiseNullaryOp< internal::linspaced_op< Scalar >, PlainObject > | SequentialLinSpacedReturnType |
Protected Member Functions | |
EIGEN_DEVICE_FUNC | DenseBase () |
Private Member Functions | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC | DenseBase (const DenseBase< OtherDerived > &) |
EIGEN_DEVICE_FUNC | DenseBase (int) |
EIGEN_DEVICE_FUNC | DenseBase (int, int) |
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 Extending MatrixBase (and other classes) by defining the preprocessor symbol EIGEN_DENSEBASE_PLUGIN
.
Definition at line 41 of file DenseBase.h.
typedef DenseCoeffsBase<Derived, internal::accessors_level<Derived>::value> Eigen::DenseBase< Derived >::Base |
Definition at line 74 of file DenseBase.h.
typedef Base::CoeffReturnType Eigen::DenseBase< Derived >::CoeffReturnType |
Definition at line 96 of file DenseBase.h.
typedef VectorwiseOp<Derived, Vertical> Eigen::DenseBase< Derived >::ColwiseReturnType |
Definition at line 539 of file DenseBase.h.
typedef internal::conditional< IsVectorAtCompileTime, const_iterator_type, void >::type Eigen::DenseBase< Derived >::const_iterator |
Definition at line 644 of file DenseBase.h.
typedef internal::conditional< (Flags&DirectAccessBit)==DirectAccessBit, internal::pointer_based_stl_iterator<const Derived>, internal::generic_randaccess_stl_iterator<const Derived> >::type Eigen::DenseBase< Derived >::const_iterator_type |
Definition at line 632 of file DenseBase.h.
typedef CwiseNullaryOp<internal::scalar_constant_op<Scalar>,PlainObject> Eigen::DenseBase< Derived >::ConstantReturnType |
Definition at line 267 of file DenseBase.h.
typedef internal::add_const<Transpose<const Derived> >::type Eigen::DenseBase< Derived >::ConstTransposeReturnType |
Definition at line 327 of file DenseBase.h.
typedef Matrix<typename NumTraits<typename internal::traits<Derived>::Scalar>::Real, internal::traits<Derived>::ColsAtCompileTime, 1> Eigen::DenseBase< Derived >::EigenvaluesReturnType |
Definition at line 273 of file DenseBase.h.
typedef internal::add_const_on_value_type<typename internal::eval<Derived>::type>::type Eigen::DenseBase< Derived >::EvalReturnType |
Definition at line 398 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 53 of file DenseBase.h.
typedef internal::conditional< IsVectorAtCompileTime, iterator_type, void >::type Eigen::DenseBase< Derived >::iterator |
Definition at line 639 of file DenseBase.h.
typedef internal::conditional< (Flags&DirectAccessBit)==DirectAccessBit, internal::pointer_based_stl_iterator<Derived>, internal::generic_randaccess_stl_iterator<Derived> >::type Eigen::DenseBase< Derived >::iterator_type |
Definition at line 627 of file DenseBase.h.
typedef internal::find_best_packet<Scalar,SizeAtCompileTime>::type Eigen::DenseBase< Derived >::PacketScalar |
Definition at line 179 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 201 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 191 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&.
Definition at line 210 of file DenseBase.h.
typedef CwiseNullaryOp<internal::linspaced_op<Scalar>,PlainObject> Eigen::DenseBase< Derived >::RandomAccessLinSpacedReturnType |
Definition at line 271 of file DenseBase.h.
typedef CwiseNullaryOp<internal::scalar_random_op<Scalar>,PlainObject> Eigen::DenseBase< Derived >::RandomReturnType |
Definition at line 567 of file DenseBase.h.
typedef NumTraits<Scalar>::Real Eigen::DenseBase< Derived >::RealScalar |
Definition at line 73 of file DenseBase.h.
typedef Reverse<Derived, BothDirections> Eigen::DenseBase< Derived >::ReverseReturnType |
Definition at line 605 of file DenseBase.h.
typedef VectorwiseOp<Derived, Horizontal> Eigen::DenseBase< Derived >::RowwiseReturnType |
Definition at line 537 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.
Definition at line 66 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
Definition at line 63 of file DenseBase.h.
typedef internal::traits<Derived>::StorageKind Eigen::DenseBase< Derived >::StorageKind |
Definition at line 55 of file DenseBase.h.
typedef Transpose<Derived> Eigen::DenseBase< Derived >::TransposeReturnType |
Definition at line 324 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 71 of file DenseBase.h.
anonymous enum |
Enumerator | |
---|---|
RowsAtCompileTime | The number of rows at compile-time. This is just a copy of the value provided by the Derived type. If a value is not known at compile-time, it is set to the Dynamic constant.
|
ColsAtCompileTime | The number of columns at compile-time. This is just a copy of the value provided by the Derived type. If a value is not known at compile-time, it is set to the Dynamic constant.
|
SizeAtCompileTime | This is equal to the number of coefficients, i.e. the number of rows times the number of columns, or to Dynamic if this is not known at compile-time.
|
MaxRowsAtCompileTime | This value is equal to the maximum possible number of rows that this expression might have. If this expression might have an arbitrarily high number of rows, this value is set to Dynamic. This value is useful to know when evaluating an expression, in order to determine whether it is possible to avoid doing a dynamic memory allocation. |
MaxColsAtCompileTime | This value is equal to the maximum possible number of columns that this expression might have. If this expression might have an arbitrarily high number of columns, this value is set to Dynamic. This value is useful to know when evaluating an expression, in order to determine whether it is possible to avoid doing a dynamic memory allocation. |
MaxSizeAtCompileTime | This value is equal to the maximum possible number of coefficients that this expression might have. If this expression might have an arbitrarily high number of coefficients, this value is set to Dynamic. This value is useful to know when evaluating an expression, in order to determine whether it is possible to avoid doing a dynamic memory allocation. |
IsVectorAtCompileTime | This is set to true if either the number of rows or the number of columns is known at compile-time to be equal to 1. Indeed, in that case, we are dealing with a column-vector (if there is only one column) or with a row-vector (if there is only one row). |
NumDimensions | This value is equal to Tensor::NumDimensions, i.e. 0 for scalars, 1 for vectors, and 2 for matrices. |
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 98 of file DenseBase.h.
anonymous enum |
Enumerator | |
---|---|
IsPlainObjectBase |
Definition at line 181 of file DenseBase.h.
|
inlineprotected |
Default constructor. Do nothing.
Definition at line 681 of file DenseBase.h.
|
explicitprivate |
|
private |
|
explicitprivate |
|
inline |
Example:
Output:
Definition at line 79 of file BooleanRedux.h.
|
inline |
*this
contains only finite numbers, i.e., no NaN and no +/-INF values.Definition at line 151 of file BooleanRedux.h.
|
inline |
Definition at line 103 of file BooleanRedux.h.
|
inline |
returns an iterator to the first element of the 1D vector or array \only_for_vectors
const version of begin()
Definition at line 408 of file StlIterators.h.
|
inline |
|
inline |
returns a read-only const_iterator to the first element of the 1D vector or array \only_for_vectors
Definition at line 426 of file StlIterators.h.
|
inline |
returns a read-only const_iterator to the element following the last element of the 1D vector or array \only_for_vectors
Definition at line 455 of file StlIterators.h.
EIGEN_DEVICE_FUNC ColwiseReturnType Eigen::DenseBase< Derived >::colwise | ( | ) |
|
inline |
Example:
Output:
Definition at line 562 of file DenseBase.h.
|
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 227 of file CwiseNullaryOp.h.
|
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 189 of file CwiseNullaryOp.h.
|
static |
The parameter size is the size of the returned vector. Must be compatible with this DenseBase type.
\only_for_vectors
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 211 of file CwiseNullaryOp.h.
|
inline |
Definition at line 127 of file BooleanRedux.h.
|
inline |
returns an iterator to the element following the last element of the 1D vector or array \only_for_vectors
const version of end()
Definition at line 437 of file StlIterators.h.
|
inline |
|
inline |
Notice that in the case of a plain matrix or vector (not an expression) this function just returns a const reference, in order to avoid a useless copy.
Definition at line 407 of file DenseBase.h.
|
inline |
Definition at line 673 of file DenseBase.h.
EIGEN_DEVICE_FUNC 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 335 of file CwiseNullaryOp.h.
|
inline |
*this
Definition at line 317 of file DenseBase.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
See class IOFormat for some examples.
Definition at line 519 of file DenseBase.h.
|
inline |
*this
contains at least one Not A Number (NaN).Definition at line 137 of file BooleanRedux.h.
|
inline |
Definition at line 235 of file DenseBase.h.
EIGEN_DEVICE_FUNC 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.For matrices, the comparison is done using the Hilbert-Schmidt norm (aka Frobenius norm L2 norm).
*this
is approximately equal to the zero matrix or vector. Indeed, isApprox(zero)
returns false unless *this
itself is exactly the zero matrix or vector. If you want to test whether *this
is zero, use internal::isMuchSmallerThan(const RealScalar&, RealScalar) instead.EIGEN_DEVICE_FUNC bool Eigen::DenseBase< Derived >::isApproxToConstant | ( | const Scalar & | val, |
const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() |
||
) | const |
Definition at line 310 of file CwiseNullaryOp.h.
EIGEN_DEVICE_FUNC 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 325 of file CwiseNullaryOp.h.
EIGEN_DEVICE_FUNC 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.For matrices, the comparison is done using the Hilbert-Schmidt norm.
EIGEN_DEVICE_FUNC bool Eigen::DenseBase< Derived >::isMuchSmallerThan | ( | const RealScalar & | other, |
const RealScalar & | prec = NumTraits< Scalar >::dummy_precision() |
||
) | const |
EIGEN_DEVICE_FUNC 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.
EIGEN_DEVICE_FUNC bool Eigen::DenseBase< Derived >::isOnes | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
Example:
Output:
Definition at line 685 of file CwiseNullaryOp.h.
EIGEN_DEVICE_FUNC bool Eigen::DenseBase< Derived >::isZero | ( | const RealScalar & | prec = NumTraits<Scalar>::dummy_precision() | ) | const |
Example:
Output:
Definition at line 528 of file CwiseNullaryOp.h.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& Eigen::DenseBase< Derived >::lazyAssign | ( | const DenseBase< OtherDerived > & | other | ) |
EIGEN_DEPRECATED EIGEN_DEVICE_FUNC Derived& Eigen::DenseBase< Derived >::lazyAssign | ( | const DenseBase< OtherDerived > & | other | ) |
|
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.
\only_for_vectors
Example:
Output:
For integer scalar types, an even spacing is possible if and only if the length of the range, i.e., high-low
is a scalar multiple of size-1
, or if size
is a scalar multiple of the number of values high-low+1
(meaning each value can be repeated the same number of time). If one of these two considions is not satisfied, then high
is lowered to the largest value satisfying one of this constraint. Here are some examples:
Example:
Output:
Definition at line 300 of file CwiseNullaryOp.h.
|
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.
\only_for_vectors
Example:
Output:
For integer scalar types, an even spacing is possible if and only if the length of the range, i.e., high-low
is a scalar multiple of size-1
, or if size
is a scalar multiple of the number of values high-low+1
(meaning each value can be repeated the same number of time). If one of these two considions is not satisfied, then high
is lowered to the largest value satisfying one of this constraint. Here are some examples:
Example:
Output:
Definition at line 288 of file CwiseNullaryOp.h.
|
static |
Definition at line 256 of file CwiseNullaryOp.h.
|
static |
\only_for_vectors
Example:
Output:
Definition at line 244 of file CwiseNullaryOp.h.
RealScalar Eigen::DenseBase< Derived >::lpNorm | ( | ) | const |
EIGEN_DEVICE_FUNC internal::traits<Derived>::Scalar Eigen::DenseBase< Derived >::maxCoeff | ( | ) | const |
|
inline |
*this
. In case *this
contains NaN, NaNPropagation determines the behavior: NaNPropagation == PropagateFast : undefined NaNPropagation == PropagateNaN : result is NaN NaNPropagation == PropagateNumbers : result is maximum of elements that are not NaN Definition at line 465 of file DenseBase.h.
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::maxCoeff | ( | IndexType * | index | ) | const |
In case *this
contains NaN, NaNPropagation determines the behavior: NaNPropagation == PropagateFast : undefined NaNPropagation == PropagateNaN : result is NaN NaNPropagation == PropagateNumbers : result is maximum of elements that are not NaN
|
inline |
Definition at line 500 of file DenseBase.h.
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::maxCoeff | ( | IndexType * | rowId, |
IndexType * | colId | ||
) | const |
In case *this
contains NaN, NaNPropagation determines the behavior: NaNPropagation == PropagateFast : undefined NaNPropagation == PropagateNaN : result is NaN NaNPropagation == PropagateNumbers : result is maximum of elements that are not NaN
|
inline |
Definition at line 490 of file DenseBase.h.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::mean |
EIGEN_DEVICE_FUNC internal::traits<Derived>::Scalar Eigen::DenseBase< Derived >::minCoeff | ( | ) | const |
|
inline |
*this
. In case *this
contains NaN, NaNPropagation determines the behavior: NaNPropagation == PropagateFast : undefined NaNPropagation == PropagateNaN : result is NaN NaNPropagation == PropagateNumbers : result is minimum of elements that are not NaN Definition at line 462 of file DenseBase.h.
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::minCoeff | ( | IndexType * | index | ) | const |
In case *this
contains NaN, NaNPropagation determines the behavior: NaNPropagation == PropagateFast : undefined NaNPropagation == PropagateNaN : result is NaN NaNPropagation == PropagateNumbers : result is maximum of elements that are not NaN
|
inline |
Definition at line 495 of file DenseBase.h.
EIGEN_DEVICE_FUNC internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::minCoeff | ( | IndexType * | rowId, |
IndexType * | colId | ||
) | const |
In case *this
contains NaN, NaNPropagation determines the behavior: NaNPropagation == PropagateFast : undefined NaNPropagation == PropagateNaN : result is NaN NaNPropagation == PropagateNumbers : result is maximum of elements that are not NaN
|
inline |
Definition at line 485 of file DenseBase.h.
|
inline |
Definition at line 63 of file NestByValue.h.
|
inline |
Definition at line 215 of file DenseBase.h.
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE CwiseNullaryOp<CustomNullaryOp, typename DenseBase<Derived>::PlainObject> Eigen::DenseBase< Derived >::NullaryExpr | ( | const CustomNullaryOp & | func | ) |
This variant is only for fixed-size DenseBase types. For dynamic-size types, you need to use the variants taking size arguments.
The template parameter CustomNullaryOp is the type of the functor.
Definition at line 169 of file CwiseNullaryOp.h.
|
static |
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE CwiseNullaryOp<CustomNullaryOp,typename DenseBase<Derived>::PlainObject> Eigen::DenseBase< Derived >::NullaryExpr | ( | Index | rows, |
Index | cols, | ||
const CustomNullaryOp & | func | ||
) |
The parameters rows and cols are the number of rows and of columns of the returned matrix. Must be compatible with this MatrixBase type.
This variant is meant to be used for dynamic-size matrix types. For fixed-size types, it is redundant to pass rows and cols as arguments, so Zero() should be used instead.
The template parameter CustomNullaryOp is the type of the functor.
Definition at line 114 of file CwiseNullaryOp.h.
|
static |
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE CwiseNullaryOp<CustomNullaryOp, typename DenseBase<Derived>::PlainObject> Eigen::DenseBase< Derived >::NullaryExpr | ( | Index | size, |
const CustomNullaryOp & | func | ||
) |
The parameter size is the size of the returned vector. Must be compatible with this MatrixBase type.
\only_for_vectors
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 145 of file CwiseNullaryOp.h.
|
static |
|
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 670 of file CwiseNullaryOp.h.
|
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 630 of file CwiseNullaryOp.h.
|
static |
The parameter newSize is the size of the returned vector. Must be compatible with this MatrixBase type.
\only_for_vectors
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 653 of file CwiseNullaryOp.h.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::operator*= | ( | const Scalar & | other | ) |
Definition at line 18 of file SelfCwiseBinaryOp.h.
EIGEN_DEVICE_FUNC Derived & Eigen::DenseBase< Derived >::operator+= | ( | const EigenBase< OtherDerived > & | other | ) |
Definition at line 143 of file EigenBase.h.
EIGEN_DEVICE_FUNC Derived & Eigen::DenseBase< Derived >::operator-= | ( | const EigenBase< OtherDerived > & | other | ) |
Definition at line 152 of file EigenBase.h.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::operator/= | ( | const Scalar & | other | ) |
Definition at line 39 of file SelfCwiseBinaryOp.h.
|
inline |
Definition at line 157 of file CommaInitializer.h.
|
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 148 of file CommaInitializer.h.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::operator= | ( | const DenseBase< Derived > & | other | ) |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::operator= | ( | const DenseBase< OtherDerived > & | other | ) |
EIGEN_DEVICE_FUNC 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
Definition at line 134 of file EigenBase.h.
EIGEN_DEVICE_FUNC Derived & Eigen::DenseBase< Derived >::operator= | ( | const ReturnByValue< OtherDerived > & | func | ) |
Definition at line 84 of file ReturnByValue.h.
|
inline |
Definition at line 223 of file DenseBase.h.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::prod |
|
inlinestatic |
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.
\not_reentrant
|
inlinestatic |
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.
\not_reentrant
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.
|
inlinestatic |
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.
\only_for_vectors \not_reentrant
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.
EIGEN_DEVICE_FUNC Scalar Eigen::DenseBase< Derived >::redux | ( | const BinaryOp & | func | ) | const |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE 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.
const EIGEN_DEVICE_FUNC Replicate< Derived, RowFactor, ColFactor > Eigen::DenseBase< Derived >::replicate |
*this
Example:
Output:
Definition at line 119 of file Replicate.h.
|
inline |
*this
Example:
Output:
Definition at line 600 of file DenseBase.h.
|
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.
Definition at line 246 of file DenseBase.h.
|
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.
Definition at line 257 of file DenseBase.h.
|
inline |
Example:
Output:
|
inline |
This is the const version of reverse().
Definition at line 610 of file DenseBase.h.
|
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:
EIGEN_DEVICE_FUNC RowwiseReturnType Eigen::DenseBase< Derived >::rowwise | ( | ) |
|
inline |
Example:
Output:
Definition at line 550 of file DenseBase.h.
|
inline |
|
inline |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the else expression being a scalar value.
|
inline |
Version of DenseBase::select(const DenseBase&, const DenseBase&) with the then expression being a scalar value.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setConstant | ( | const Scalar & | val | ) |
Sets all coefficients in this expression to value val.
Definition at line 345 of file CwiseNullaryOp.h.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setLinSpaced | ( | const Scalar & | low, |
const Scalar & | high | ||
) |
Sets a linearly spaced vector.
The function fills *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.
\only_for_vectors
For integer scalar types, do not miss the explanations on the definition of even spacing .
Definition at line 450 of file CwiseNullaryOp.h.
EIGEN_DEVICE_FUNC 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.
\only_for_vectors
Example:
Output:
For integer scalar types, do not miss the explanations on the definition of even spacing .
Definition at line 430 of file CwiseNullaryOp.h.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setOnes |
Sets all coefficients in this expression to one.
Example:
Output:
Definition at line 698 of file CwiseNullaryOp.h.
|
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.
\not_reentrant
Example:
Output:
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & Eigen::DenseBase< Derived >::setZero |
Sets all coefficients in this expression to zero.
Example:
Output:
Definition at line 546 of file CwiseNullaryOp.h.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::traits< Derived >::Scalar Eigen::DenseBase< Derived >::sum |
|
inline |
swaps *this with the expression other.
Definition at line 420 of file DenseBase.h.
|
inline |
swaps *this with the matrix or array other.
Definition at line 432 of file DenseBase.h.
EIGEN_DEVICE_FUNC Scalar Eigen::DenseBase< Derived >::trace | ( | ) | const |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE DenseBase< Derived >::ConstTransposeReturnType Eigen::DenseBase< Derived >::transpose |
Example:
Output:
This is the const version of transpose().
Make sure you read the warning for transpose() !
Definition at line 182 of file Transpose.h.
EIGEN_DEVICE_FUNC ConstTransposeReturnType Eigen::DenseBase< Derived >::transpose | ( | ) | const |
|
inline |
This is the "in place" version of transpose(): it replaces *this
by its own transpose. Thus, doing
has the same effect on m as doing
and is faster and also safer because in the latter line of code, forgetting the eval() results in a bug caused by aliasing.
Notice however that this method is only useful if you want to replace a matrix by its own transpose. If you just need the transpose of a matrix, use transpose().
*this
must be a resizable matrix. This excludes (non-square) fixed-size matrices, block-expressions and maps.Definition at line 344 of file Transpose.h.
|
inline |
Definition at line 526 of file DenseBase.h.
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:
|
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 514 of file CwiseNullaryOp.h.
|
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 474 of file CwiseNullaryOp.h.
|
static |
The parameter size is the size of the returned vector. Must be compatible with this MatrixBase type.
\only_for_vectors
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 497 of file CwiseNullaryOp.h.
|
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.
const typedef VectorwiseOp<const Derived, Vertical> Eigen::DenseBase< Derived >::ConstColwiseReturnType |
Definition at line 540 of file DenseBase.h.
const typedef Reverse<const Derived, BothDirections> Eigen::DenseBase< Derived >::ConstReverseReturnType |
Definition at line 606 of file DenseBase.h.
const typedef VectorwiseOp<const Derived, Horizontal> Eigen::DenseBase< Derived >::ConstRowwiseReturnType |
Definition at line 538 of file DenseBase.h.
EIGEN_DEPRECATED typedef CwiseNullaryOp<internal::linspaced_op<Scalar>,PlainObject> Eigen::DenseBase< Derived >::SequentialLinSpacedReturnType |
Definition at line 269 of file DenseBase.h.