Pseudo expression providing partial reduction operations. More...
#include <ForwardDeclarations.h>
Classes | |
struct | ExtendedType |
struct | LpNormReturnType |
struct | OppositeExtendedType |
struct | ReduxReturnType |
struct | ReturnType |
Public Types | |
enum | { isVertical = (Direction==Vertical) ? 1 : 0, isHorizontal = (Direction==Horizontal) ? 1 : 0 } |
enum | { HNormalized_Size, HNormalized_SizeMinusOne = HNormalized_Size==Dynamic ? Dynamic : HNormalized_Size-1 } |
typedef ReturnType< internal::member_all >::Type | AllReturnType |
typedef ReturnType< internal::member_any >::Type | AnyReturnType |
typedef ReturnType< internal::member_blueNorm, RealScalar >::Type | BlueNormReturnType |
typedef Reverse< const ExpressionType, Direction > | ConstReverseReturnType |
typedef PartialReduxExpr< ExpressionType, internal::member_count< Index >, Direction > | CountReturnType |
typedef ExpressionType::PlainObject | CrossReturnType |
typedef internal::ref_selector< ExpressionType >::non_const_type | ExpressionTypeNested |
typedef internal::remove_all< ExpressionTypeNested >::type | ExpressionTypeNestedCleaned |
typedef Block< const ExpressionType, Direction==Vertical?int(HNormalized_SizeMinusOne):int(internal::traits< ExpressionType >::RowsAtCompileTime), Direction==Horizontal?int(HNormalized_SizeMinusOne):int(internal::traits< ExpressionType >::ColsAtCompileTime)> | HNormalized_Block |
typedef Block< const ExpressionType, Direction==Vertical?1:int(internal::traits< ExpressionType >::RowsAtCompileTime), Direction==Horizontal?1:int(internal::traits< ExpressionType >::ColsAtCompileTime)> | HNormalized_Factors |
typedef CwiseBinaryOp< internal::scalar_quotient_op< typename internal::traits< ExpressionType >::Scalar >, const HNormalized_Block, const Replicate< HNormalized_Factors, Direction==Vertical?HNormalized_SizeMinusOne:1, Direction==Horizontal?HNormalized_SizeMinusOne:1 > > | HNormalizedReturnType |
typedef Homogeneous< ExpressionType, Direction > | HomogeneousReturnType |
typedef ReturnType< internal::member_hypotNorm, RealScalar >::Type | HypotNormReturnType |
typedef Eigen::Index | Index |
typedef ReturnType< internal::member_maxCoeff >::Type | MaxCoeffReturnType |
typedef ReturnType< internal::member_mean >::Type | MeanReturnType |
typedef ReturnType< internal::member_minCoeff >::Type | MinCoeffReturnType |
typedef ReturnType< internal::member_norm, RealScalar >::Type | NormReturnType |
typedef ReturnType< internal::member_prod >::Type | ProdReturnType |
typedef ExpressionType::RealScalar | RealScalar |
typedef Replicate< ExpressionType,(isVertical?Dynamic:1),(isHorizontal?Dynamic:1)> | ReplicateReturnType |
typedef Reverse< ExpressionType, Direction > | ReverseReturnType |
typedef ExpressionType::Scalar | Scalar |
typedef ReturnType< internal::member_squaredNorm, RealScalar >::Type | SquaredNormReturnType |
typedef ReturnType< internal::member_stableNorm, RealScalar >::Type | StableNormReturnType |
typedef ReturnType< internal::member_sum >::Type | SumReturnType |
Public Member Functions | |
EIGEN_DEVICE_FUNC const ExpressionType & | _expression () const |
EIGEN_DEVICE_FUNC const AllReturnType | all () const |
EIGEN_DEVICE_FUNC const AnyReturnType | any () const |
EIGEN_DEVICE_FUNC const BlueNormReturnType | blueNorm () const |
EIGEN_DEVICE_FUNC const CountReturnType | count () const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC const CrossReturnType | cross (const MatrixBase< OtherDerived > &other) const |
EIGEN_DEVICE_FUNC const HNormalizedReturnType | hnormalized () const |
column or row-wise homogeneous normalization More... | |
EIGEN_DEVICE_FUNC HomogeneousReturnType | homogeneous () const |
EIGEN_DEVICE_FUNC const HypotNormReturnType | hypotNorm () const |
template<int p> | |
EIGEN_DEVICE_FUNC const LpNormReturnType< p >::Type | lpNorm () const |
EIGEN_DEVICE_FUNC const MaxCoeffReturnType | maxCoeff () const |
EIGEN_DEVICE_FUNC const MeanReturnType | mean () const |
EIGEN_DEVICE_FUNC const MinCoeffReturnType | minCoeff () const |
EIGEN_DEVICE_FUNC const NormReturnType | norm () const |
EIGEN_DEVICE_FUNC void | normalize () |
EIGEN_DEVICE_FUNC CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const ExpressionTypeNestedCleaned, const typename OppositeExtendedType< typename ReturnType< internal::member_norm, RealScalar >::Type >::Type > | normalized () const |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC CwiseBinaryOp< internal::scalar_product_op< Scalar >, const ExpressionTypeNestedCleaned, const typename ExtendedType< OtherDerived >::Type > EIGEN_DEVICE_FUNC | operator* (const DenseBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC ExpressionType & | operator*= (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC CwiseBinaryOp< internal::scalar_sum_op< Scalar, typename OtherDerived::Scalar >, const ExpressionTypeNestedCleaned, const typename ExtendedType< OtherDerived >::Type > | operator+ (const DenseBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC ExpressionType & | operator+= (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC CwiseBinaryOp< internal::scalar_difference_op< Scalar, typename OtherDerived::Scalar >, const ExpressionTypeNestedCleaned, const typename ExtendedType< OtherDerived >::Type > | operator- (const DenseBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC ExpressionType & | operator-= (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const ExpressionTypeNestedCleaned, const typename ExtendedType< OtherDerived >::Type > | operator/ (const DenseBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC ExpressionType & | operator/= (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC ExpressionType & | operator= (const DenseBase< OtherDerived > &other) |
EIGEN_DEVICE_FUNC const ProdReturnType | prod () const |
template<typename BinaryOp > | |
EIGEN_DEVICE_FUNC const ReduxReturnType< BinaryOp >::Type | redux (const BinaryOp &func=BinaryOp()) const |
EIGEN_DEVICE_FUNC const ReplicateReturnType | replicate (Index factor) const |
template<int Factor> | |
const Replicate< ExpressionType, isVertical *Factor+isHorizontal, isHorizontal *Factor+isVertical > EIGEN_DEVICE_FUNC | replicate (Index factor=Factor) const |
EIGEN_DEVICE_FUNC const ConstReverseReturnType | reverse () const |
EIGEN_DEVICE_FUNC ReverseReturnType | reverse () |
EIGEN_DEVICE_FUNC void | reverseInPlace () |
EIGEN_DEVICE_FUNC const SquaredNormReturnType | squaredNorm () const |
EIGEN_DEVICE_FUNC const StableNormReturnType | stableNorm () const |
EIGEN_DEVICE_FUNC const SumReturnType | sum () const |
EIGEN_DEVICE_FUNC | VectorwiseOp (ExpressionType &matrix) |
Protected Types | |
typedef internal::conditional< isVertical, typename ExpressionType::ColXpr, typename ExpressionType::RowXpr >::type | SubVector |
Protected Member Functions | |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC ExtendedType< OtherDerived >::Type | extendedTo (const DenseBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC OppositeExtendedType< OtherDerived >::Type | extendedToOpposite (const DenseBase< OtherDerived > &other) const |
EIGEN_DEVICE_FUNC SubVector | subVector (Index i) |
EIGEN_DEVICE_FUNC Index | subVectors () const |
Protected Attributes | |
ExpressionTypeNested | m_matrix |
Pseudo expression providing partial reduction operations.
ExpressionType | the type of the object on which to do partial reductions |
Direction | indicates the direction of the redux (Vertical or Horizontal) |
This class represents a pseudo expression with partial reduction features. It is the return type of DenseBase::colwise() and DenseBase::rowwise() and most of the time this is the only way it is used.
Example:
Output:
Definition at line 245 of file ForwardDeclarations.h.
typedef ReturnType<internal::member_all>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::AllReturnType |
Definition at line 283 of file VectorwiseOp.h.
typedef ReturnType<internal::member_any>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::AnyReturnType |
Definition at line 284 of file VectorwiseOp.h.
typedef ReturnType<internal::member_blueNorm,RealScalar>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::BlueNormReturnType |
Definition at line 278 of file VectorwiseOp.h.
typedef Reverse<const ExpressionType, Direction> Eigen::VectorwiseOp< ExpressionType, Direction >::ConstReverseReturnType |
Definition at line 287 of file VectorwiseOp.h.
typedef PartialReduxExpr<ExpressionType, internal::member_count<Index>, Direction> Eigen::VectorwiseOp< ExpressionType, Direction >::CountReturnType |
Definition at line 285 of file VectorwiseOp.h.
typedef ExpressionType::PlainObject Eigen::VectorwiseOp< ExpressionType, Direction >::CrossReturnType |
Definition at line 631 of file VectorwiseOp.h.
typedef internal::ref_selector<ExpressionType>::non_const_type Eigen::VectorwiseOp< ExpressionType, Direction >::ExpressionTypeNested |
Definition at line 163 of file VectorwiseOp.h.
typedef internal::remove_all<ExpressionTypeNested>::type Eigen::VectorwiseOp< ExpressionType, Direction >::ExpressionTypeNestedCleaned |
Definition at line 164 of file VectorwiseOp.h.
typedef Block<const ExpressionType, Direction==Vertical ? int(HNormalized_SizeMinusOne) : int(internal::traits<ExpressionType>::RowsAtCompileTime), Direction==Horizontal ? int(HNormalized_SizeMinusOne) : int(internal::traits<ExpressionType>::ColsAtCompileTime)> Eigen::VectorwiseOp< ExpressionType, Direction >::HNormalized_Block |
Definition at line 646 of file VectorwiseOp.h.
typedef Block<const ExpressionType, Direction==Vertical ? 1 : int(internal::traits<ExpressionType>::RowsAtCompileTime), Direction==Horizontal ? 1 : int(internal::traits<ExpressionType>::ColsAtCompileTime)> Eigen::VectorwiseOp< ExpressionType, Direction >::HNormalized_Factors |
Definition at line 650 of file VectorwiseOp.h.
typedef CwiseBinaryOp<internal::scalar_quotient_op<typename internal::traits<ExpressionType>::Scalar>, const HNormalized_Block, const Replicate<HNormalized_Factors, Direction==Vertical ? HNormalized_SizeMinusOne : 1, Direction==Horizontal ? HNormalized_SizeMinusOne : 1> > Eigen::VectorwiseOp< ExpressionType, Direction >::HNormalizedReturnType |
Definition at line 656 of file VectorwiseOp.h.
typedef Homogeneous<ExpressionType,Direction> Eigen::VectorwiseOp< ExpressionType, Direction >::HomogeneousReturnType |
Definition at line 627 of file VectorwiseOp.h.
typedef ReturnType<internal::member_hypotNorm,RealScalar>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::HypotNormReturnType |
Definition at line 280 of file VectorwiseOp.h.
typedef Eigen::Index Eigen::VectorwiseOp< ExpressionType, Direction >::Index |
Definition at line 162 of file VectorwiseOp.h.
typedef ReturnType<internal::member_maxCoeff>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::MaxCoeffReturnType |
Definition at line 275 of file VectorwiseOp.h.
typedef ReturnType<internal::member_mean>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::MeanReturnType |
Definition at line 282 of file VectorwiseOp.h.
typedef ReturnType<internal::member_minCoeff>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::MinCoeffReturnType |
Definition at line 274 of file VectorwiseOp.h.
typedef ReturnType<internal::member_norm,RealScalar>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::NormReturnType |
Definition at line 277 of file VectorwiseOp.h.
typedef ReturnType<internal::member_prod>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::ProdReturnType |
Definition at line 286 of file VectorwiseOp.h.
typedef ExpressionType::RealScalar Eigen::VectorwiseOp< ExpressionType, Direction >::RealScalar |
Definition at line 161 of file VectorwiseOp.h.
typedef Replicate<ExpressionType,(isVertical?Dynamic:1),(isHorizontal?Dynamic:1)> Eigen::VectorwiseOp< ExpressionType, Direction >::ReplicateReturnType |
Definition at line 471 of file VectorwiseOp.h.
typedef Reverse<ExpressionType, Direction> Eigen::VectorwiseOp< ExpressionType, Direction >::ReverseReturnType |
Definition at line 288 of file VectorwiseOp.h.
typedef ExpressionType::Scalar Eigen::VectorwiseOp< ExpressionType, Direction >::Scalar |
Definition at line 160 of file VectorwiseOp.h.
typedef ReturnType<internal::member_squaredNorm,RealScalar>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::SquaredNormReturnType |
Definition at line 276 of file VectorwiseOp.h.
typedef ReturnType<internal::member_stableNorm,RealScalar>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::StableNormReturnType |
Definition at line 279 of file VectorwiseOp.h.
|
protected |
Definition at line 192 of file VectorwiseOp.h.
typedef ReturnType<internal::member_sum>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::SumReturnType |
Definition at line 281 of file VectorwiseOp.h.
anonymous enum |
Enumerator | |
---|---|
isVertical | |
isHorizontal |
Definition at line 183 of file VectorwiseOp.h.
anonymous enum |
Enumerator | |
---|---|
HNormalized_Size | |
HNormalized_SizeMinusOne |
Definition at line 636 of file VectorwiseOp.h.
|
inlineexplicit |
Definition at line 255 of file VectorwiseOp.h.
|
inline |
Definition at line 259 of file VectorwiseOp.h.
|
inline |
true
. This expression can be assigned to a vector with entries of type bool
.Definition at line 415 of file VectorwiseOp.h.
|
inline |
true
. This expression can be assigned to a vector with entries of type bool
.Definition at line 424 of file VectorwiseOp.h.
|
inline |
Definition at line 365 of file VectorwiseOp.h.
|
inline |
true
coefficients of each respective column (or row). This expression can be assigned to a vector whose entries have the same type as is used to index entries of the original matrix; for dense matrices, this is std::ptrdiff_t
.Example:
Output:
Definition at line 437 of file VectorwiseOp.h.
|
inlineprotected |
Definition at line 218 of file VectorwiseOp.h.
|
inlineprotected |
Definition at line 241 of file VectorwiseOp.h.
|
inline |
Definition at line 387 of file VectorwiseOp.h.
|
inline |
Example:
Output:
Definition at line 354 of file VectorwiseOp.h.
|
inline |
*this
contains NaN.Example:
Output:
Definition at line 317 of file VectorwiseOp.h.
|
inline |
Definition at line 406 of file VectorwiseOp.h.
|
inline |
*this
contains NaN.Example:
Output:
Definition at line 304 of file VectorwiseOp.h.
|
inline |
Example:
Output:
Definition at line 341 of file VectorwiseOp.h.
|
inline |
Normalize in-place each row or columns of the referenced matrix.
Definition at line 619 of file VectorwiseOp.h.
|
inline |
Definition at line 613 of file VectorwiseOp.h.
|
inline |
Returns the expression where each subvector is the product of the vector other by the corresponding subvector of *this
Definition at line 582 of file VectorwiseOp.h.
|
inline |
Multiples each subvector of *this
by the vector other
Definition at line 529 of file VectorwiseOp.h.
|
inline |
Returns the expression of the sum of the vector other to each subvector of *this
Definition at line 555 of file VectorwiseOp.h.
|
inline |
Adds the vector other to each subvector of *this
Definition at line 509 of file VectorwiseOp.h.
|
inline |
Returns the expression of the difference between each subvector of *this
and the vector other
Definition at line 568 of file VectorwiseOp.h.
|
inline |
Substracts the vector other to each subvector of *this
Definition at line 519 of file VectorwiseOp.h.
|
inline |
Returns the expression where each subvector is the quotient of the corresponding subvector of *this
by the vector other
Definition at line 597 of file VectorwiseOp.h.
|
inline |
Divides each subvector of *this
by the vector other
Definition at line 541 of file VectorwiseOp.h.
|
inline |
Copies the vector other to each subvector of *this
Definition at line 498 of file VectorwiseOp.h.
|
inline |
Example:
Output:
Definition at line 448 of file VectorwiseOp.h.
|
inline |
*this
reduxed by func The template parameter BinaryOp is the type of the functor of the custom redux operator. Note that func must be an associative operator.
Definition at line 271 of file VectorwiseOp.h.
const VectorwiseOp< ExpressionType, Direction >::ReplicateReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::replicate | ( | Index | factor | ) | const |
*this
Example:
Output:
Definition at line 134 of file Replicate.h.
|
inline |
*this
Example:
Output:
Definition at line 487 of file VectorwiseOp.h.
|
inline |
Example:
Output:
Definition at line 460 of file VectorwiseOp.h.
|
inline |
Definition at line 468 of file VectorwiseOp.h.
|
inline |
This is the "in place" version of VectorwiseOp::reverse: it reverses each column or row of *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:
|
inline |
Example:
Output:
Definition at line 329 of file VectorwiseOp.h.
|
inline |
Definition at line 376 of file VectorwiseOp.h.
|
inlineprotected |
Definition at line 196 of file VectorwiseOp.h.
|
inlineprotected |
Definition at line 204 of file VectorwiseOp.h.
|
inline |
Example:
Output:
Definition at line 398 of file VectorwiseOp.h.
|
protected |
Definition at line 662 of file VectorwiseOp.h.