Pseudo expression providing partial reduction operations. More...
#include <VectorwiseOp.h>
Classes | |
struct | ExtendedType |
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 ExpressionType::Scalar | Scalar |
typedef ExpressionType::RealScalar | RealScalar |
typedef ExpressionType::Index | Index |
typedef internal::conditional < internal::must_nest_by_value < ExpressionType >::ret, ExpressionType, ExpressionType & > ::type | ExpressionTypeNested |
typedef internal::remove_all < ExpressionTypeNested >::type | ExpressionTypeNestedCleaned |
typedef Replicate < ExpressionType, Direction==Vertical?Dynamic:1, Direction==Horizontal?Dynamic:1 > | ReplicateReturnType |
typedef ExpressionType::PlainObject | CrossReturnType |
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 |
Public Member Functions | |
VectorwiseOp (ExpressionType &matrix) | |
const ExpressionType & | _expression () const |
template<typename BinaryOp > | |
const ReduxReturnType < BinaryOp >::Type | redux (const BinaryOp &func=BinaryOp()) const |
const ReturnType < internal::member_minCoeff > ::Type | minCoeff () const |
const ReturnType < internal::member_maxCoeff > ::Type | maxCoeff () const |
const ReturnType < internal::member_squaredNorm, RealScalar >::Type | squaredNorm () const |
const ReturnType < internal::member_norm, RealScalar >::Type | norm () const |
const ReturnType < internal::member_blueNorm, RealScalar >::Type | blueNorm () const |
const ReturnType < internal::member_stableNorm, RealScalar >::Type | stableNorm () const |
const ReturnType < internal::member_hypotNorm, RealScalar >::Type | hypotNorm () const |
const ReturnType < internal::member_sum >::Type | sum () const |
const ReturnType < internal::member_mean > ::Type | mean () const |
const ReturnType < internal::member_all >::Type | all () const |
const ReturnType < internal::member_any >::Type | any () const |
const PartialReduxExpr < ExpressionType, internal::member_count< Index > , Direction > | count () const |
const ReturnType < internal::member_prod > ::Type | prod () const |
const Reverse< ExpressionType, Direction > | reverse () const |
const ReplicateReturnType | replicate (Index factor) const |
template<int Factor> | |
const Replicate < ExpressionType,(IsVertical?Factor:1),(IsHorizontal?Factor:1)> | replicate (Index factor=Factor) const |
template<typename OtherDerived > | |
ExpressionType & | operator= (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
ExpressionType & | operator+= (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
ExpressionType & | operator-= (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE CwiseBinaryOp < internal::scalar_sum_op < Scalar >, const ExpressionTypeNestedCleaned, const typename ExtendedType < OtherDerived >::Type > | operator+ (const DenseBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
CwiseBinaryOp < internal::scalar_difference_op < Scalar >, const ExpressionTypeNestedCleaned, const typename ExtendedType < OtherDerived >::Type > | operator- (const DenseBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
const CrossReturnType | cross (const MatrixBase< OtherDerived > &other) const |
const HNormalizedReturnType | hnormalized () const |
Protected Types | |
typedef internal::conditional < Direction==Vertical, typename ExpressionType::ColXpr, typename ExpressionType::RowXpr >::type | SubVector |
Protected Member Functions | |
SubVector | subVector (Index i) |
Index | subVectors () const |
template<typename OtherDerived > | |
ExtendedType< OtherDerived >::Type | extendedTo (const DenseBase< OtherDerived > &other) 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:
typedef ExpressionType::PlainObject VectorwiseOp< ExpressionType, Direction >::CrossReturnType |
typedef internal::conditional<internal::must_nest_by_value<ExpressionType>::ret, ExpressionType, ExpressionType&>::type VectorwiseOp< ExpressionType, Direction >::ExpressionTypeNested |
typedef internal::remove_all<ExpressionTypeNested>::type VectorwiseOp< ExpressionType, Direction >::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)> VectorwiseOp< ExpressionType, Direction >::HNormalized_Block |
typedef Block<const ExpressionType, Direction==Vertical ? 1 : int(internal::traits<ExpressionType>::RowsAtCompileTime), Direction==Horizontal ? 1 : int(internal::traits<ExpressionType>::ColsAtCompileTime)> VectorwiseOp< ExpressionType, Direction >::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> > VectorwiseOp< ExpressionType, Direction >::HNormalizedReturnType |
typedef ExpressionType::Index VectorwiseOp< ExpressionType, Direction >::Index |
typedef ExpressionType::RealScalar VectorwiseOp< ExpressionType, Direction >::RealScalar |
typedef Replicate<ExpressionType,Direction==Vertical?Dynamic:1,Direction==Horizontal?Dynamic:1> VectorwiseOp< ExpressionType, Direction >::ReplicateReturnType |
typedef ExpressionType::Scalar VectorwiseOp< ExpressionType, Direction >::Scalar |
typedef internal::conditional<Direction==Vertical, typename ExpressionType::ColXpr, typename ExpressionType::RowXpr>::type VectorwiseOp< ExpressionType, Direction >::SubVector [protected] |
anonymous enum |
VectorwiseOp< ExpressionType, Direction >::VectorwiseOp | ( | ExpressionType & | matrix | ) | [inline] |
const ExpressionType& VectorwiseOp< ExpressionType, Direction >::_expression | ( | ) | const [inline] |
const ReturnType<internal::member_all>::Type VectorwiseOp< ExpressionType, Direction >::all | ( | void | ) | const [inline] |
true
.const ReturnType<internal::member_any>::Type VectorwiseOp< ExpressionType, Direction >::any | ( | void | ) | const [inline] |
true
.const ReturnType<internal::member_blueNorm,RealScalar>::Type VectorwiseOp< ExpressionType, Direction >::blueNorm | ( | ) | const [inline] |
const PartialReduxExpr<ExpressionType, internal::member_count<Index>, Direction> VectorwiseOp< ExpressionType, Direction >::count | ( | ) | const [inline] |
true
coefficients of each respective column (or row).Example:
Output:
const VectorwiseOp< ExpressionType, Direction >::CrossReturnType VectorwiseOp< ExpressionType, Direction >::cross | ( | const MatrixBase< OtherDerived > & | other | ) | const |
The referenced matrix must have one dimension equal to 3. The result matrix has the same dimensions than the referenced one.
ExtendedType<OtherDerived>::Type VectorwiseOp< ExpressionType, Direction >::extendedTo | ( | const DenseBase< OtherDerived > & | other | ) | const [inline, protected] |
const VectorwiseOp< ExpressionType, Direction >::HNormalizedReturnType VectorwiseOp< ExpressionType, Direction >::hnormalized | ( | ) | const [inline] |
*this
Example:
Output:
const ReturnType<internal::member_hypotNorm,RealScalar>::Type VectorwiseOp< ExpressionType, Direction >::hypotNorm | ( | ) | const [inline] |
const ReturnType<internal::member_maxCoeff>::Type VectorwiseOp< ExpressionType, Direction >::maxCoeff | ( | ) | const [inline] |
Example:
Output:
const ReturnType<internal::member_mean>::Type VectorwiseOp< ExpressionType, Direction >::mean | ( | ) | const [inline] |
const ReturnType<internal::member_minCoeff>::Type VectorwiseOp< ExpressionType, Direction >::minCoeff | ( | ) | const [inline] |
Example:
Output:
const ReturnType<internal::member_norm,RealScalar>::Type VectorwiseOp< ExpressionType, Direction >::norm | ( | ) | const [inline] |
Example:
Output:
EIGEN_STRONG_INLINE CwiseBinaryOp<internal::scalar_sum_op<Scalar>, const ExpressionTypeNestedCleaned, const typename ExtendedType<OtherDerived>::Type> VectorwiseOp< ExpressionType, Direction >::operator+ | ( | const DenseBase< OtherDerived > & | other | ) | const [inline] |
Returns the expression of the sum of the vector other to each subvector of *this
ExpressionType& VectorwiseOp< ExpressionType, Direction >::operator+= | ( | const DenseBase< OtherDerived > & | other | ) | [inline] |
Adds the vector other to each subvector of *this
CwiseBinaryOp<internal::scalar_difference_op<Scalar>, const ExpressionTypeNestedCleaned, const typename ExtendedType<OtherDerived>::Type> VectorwiseOp< ExpressionType, Direction >::operator- | ( | const DenseBase< OtherDerived > & | other | ) | const [inline] |
Returns the expression of the difference between each subvector of *this
and the vector other
ExpressionType& VectorwiseOp< ExpressionType, Direction >::operator-= | ( | const DenseBase< OtherDerived > & | other | ) | [inline] |
Substracts the vector other to each subvector of *this
ExpressionType& VectorwiseOp< ExpressionType, Direction >::operator= | ( | const DenseBase< OtherDerived > & | other | ) | [inline] |
Copies the vector other to each subvector of *this
const ReturnType<internal::member_prod>::Type VectorwiseOp< ExpressionType, Direction >::prod | ( | ) | const [inline] |
Example:
Output:
const ReduxReturnType<BinaryOp>::Type VectorwiseOp< ExpressionType, Direction >::redux | ( | const BinaryOp & | func = BinaryOp() |
) | const [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.
const Replicate<ExpressionType,(IsVertical?Factor:1),(IsHorizontal?Factor:1)> VectorwiseOp< ExpressionType, Direction >::replicate | ( | Index | factor = Factor |
) | const [inline] |
*this
Example:
Output:
const VectorwiseOp< ExpressionType, Direction >::ReplicateReturnType VectorwiseOp< ExpressionType, Direction >::replicate | ( | Index | factor | ) | const |
*this
Example:
Output:
const Reverse<ExpressionType, Direction> VectorwiseOp< ExpressionType, Direction >::reverse | ( | ) | const [inline] |
Example:
Output:
const ReturnType<internal::member_squaredNorm,RealScalar>::Type VectorwiseOp< ExpressionType, Direction >::squaredNorm | ( | ) | const [inline] |
Example:
Output:
const ReturnType<internal::member_stableNorm,RealScalar>::Type VectorwiseOp< ExpressionType, Direction >::stableNorm | ( | ) | const [inline] |
SubVector VectorwiseOp< ExpressionType, Direction >::subVector | ( | Index | i | ) | [inline, protected] |
Index VectorwiseOp< ExpressionType, Direction >::subVectors | ( | ) | const [inline, protected] |
const ReturnType<internal::member_sum>::Type VectorwiseOp< ExpressionType, Direction >::sum | ( | ) | const [inline] |
Example:
Output:
ExpressionTypeNested VectorwiseOp< ExpressionType, Direction >::m_matrix [protected] |