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 178 of file VectorwiseOp.h.
#include <src/Core/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 > , HNormalized_Block, 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) |
Copies the vector other to each subvector of *this . | |
template<typename OtherDerived > | |
ExpressionType & | operator+= (const DenseBase< OtherDerived > &other) |
Adds the vector other to each subvector of *this . | |
template<typename OtherDerived > | |
ExpressionType & | operator-= (const DenseBase< OtherDerived > &other) |
Substracts the vector other to each subvector of *this . | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE CwiseBinaryOp < internal::scalar_sum_op < Scalar > , ExpressionTypeNestedCleaned, typename ExtendedType < OtherDerived >::Type > | operator+ (const DenseBase< OtherDerived > &other) const |
Returns the expression of the sum of the vector other to each subvector of *this . | |
template<typename OtherDerived > | |
CwiseBinaryOp < internal::scalar_difference_op < Scalar > , ExpressionTypeNestedCleaned, typename ExtendedType < OtherDerived >::Type > | operator- (const DenseBase< OtherDerived > &other) const |
Returns the expression of the difference between each subvector of *this and the vector other. | |
Homogeneous< ExpressionType, Direction > | homogeneous () 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 |
typedef ExpressionType::PlainObject VectorwiseOp< ExpressionType, Direction >::CrossReturnType |
Definition at line 473 of file VectorwiseOp.h.
typedef internal::conditional<internal::must_nest_by_value<ExpressionType>::ret, ExpressionType, ExpressionType&>::type VectorwiseOp< ExpressionType, Direction >::ExpressionTypeNested |
Definition at line 186 of file VectorwiseOp.h.
typedef internal::remove_all<ExpressionTypeNested>::type VectorwiseOp< ExpressionType, Direction >::ExpressionTypeNestedCleaned |
Definition at line 187 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)> VectorwiseOp< ExpressionType, Direction >::HNormalized_Block |
Definition at line 487 of file VectorwiseOp.h.
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 |
Definition at line 491 of file VectorwiseOp.h.
typedef CwiseBinaryOp<internal::scalar_quotient_op<typename internal::traits<ExpressionType>::Scalar>, HNormalized_Block, Replicate<HNormalized_Factors, Direction==Vertical ? HNormalized_SizeMinusOne : 1, Direction==Horizontal ? HNormalized_SizeMinusOne : 1> > VectorwiseOp< ExpressionType, Direction >::HNormalizedReturnType |
Definition at line 497 of file VectorwiseOp.h.
typedef ExpressionType::Index VectorwiseOp< ExpressionType, Direction >::Index |
Definition at line 184 of file VectorwiseOp.h.
typedef ExpressionType::RealScalar VectorwiseOp< ExpressionType, Direction >::RealScalar |
Definition at line 183 of file VectorwiseOp.h.
typedef Replicate<ExpressionType,Direction==Vertical?Dynamic:1,Direction==Horizontal?Dynamic:1> VectorwiseOp< ExpressionType, Direction >::ReplicateReturnType |
Definition at line 395 of file VectorwiseOp.h.
typedef ExpressionType::Scalar VectorwiseOp< ExpressionType, Direction >::Scalar |
Definition at line 182 of file VectorwiseOp.h.
typedef internal::conditional<Direction==Vertical, typename ExpressionType::ColXpr, typename ExpressionType::RowXpr>::type VectorwiseOp< ExpressionType, Direction >::SubVector [protected] |
Definition at line 217 of file VectorwiseOp.h.
anonymous enum |
Definition at line 206 of file VectorwiseOp.h.
anonymous enum |
Definition at line 477 of file VectorwiseOp.h.
VectorwiseOp< ExpressionType, Direction >::VectorwiseOp | ( | ExpressionType & | matrix ) | [inline] |
Definition at line 249 of file VectorwiseOp.h.
const ExpressionType& VectorwiseOp< ExpressionType, Direction >::_expression | ( | ) | const [inline] |
Definition at line 252 of file VectorwiseOp.h.
const ReturnType<internal::member_all>::Type VectorwiseOp< ExpressionType, Direction >::all | ( | void | ) | const [inline] |
true
.Definition at line 354 of file VectorwiseOp.h.
const ReturnType<internal::member_any>::Type VectorwiseOp< ExpressionType, Direction >::any | ( | void | ) | const [inline] |
true
.Definition at line 361 of file VectorwiseOp.h.
const ReturnType<internal::member_blueNorm,RealScalar>::Type VectorwiseOp< ExpressionType, Direction >::blueNorm | ( | ) | const [inline] |
Definition at line 312 of file VectorwiseOp.h.
const PartialReduxExpr<ExpressionType, internal::member_count<Index>, Direction> VectorwiseOp< ExpressionType, Direction >::count | ( | void | ) | const [inline] |
true
coefficients of each respective column (or row).Example:
Output:
Definition at line 371 of file VectorwiseOp.h.
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.
Definition at line 114 of file OrthoMethods.h.
References DenseBase< Derived >::col(), eigen_assert, EIGEN_STATIC_ASSERT, EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE, DenseBase< Derived >::row(), and Vertical.
ExtendedType<OtherDerived>::Type VectorwiseOp< ExpressionType, Direction >::extendedTo | ( | const DenseBase< OtherDerived > & | other ) | const [inline, protected] |
Definition at line 238 of file VectorwiseOp.h.
References EIGEN_STATIC_ASSERT_VECTOR_ONLY, Horizontal, and Vertical.
const VectorwiseOp< ExpressionType, Direction >::HNormalizedReturnType VectorwiseOp< ExpressionType, Direction >::hnormalized | ( | ) | const [inline] |
*this
Example:
Output:
Definition at line 189 of file Homogeneous.h.
References Horizontal, and Vertical.
Homogeneous< ExpressionType, Direction > VectorwiseOp< ExpressionType, Direction >::homogeneous | ( | ) | const [inline] |
Example:
Output:
Definition at line 156 of file Homogeneous.h.
const ReturnType<internal::member_hypotNorm,RealScalar>::Type VectorwiseOp< ExpressionType, Direction >::hypotNorm | ( | ) | const [inline] |
Definition at line 330 of file VectorwiseOp.h.
const ReturnType<internal::member_maxCoeff>::Type VectorwiseOp< ExpressionType, Direction >::maxCoeff | ( | ) | const [inline] |
Example:
Output:
Definition at line 283 of file VectorwiseOp.h.
const ReturnType<internal::member_mean>::Type VectorwiseOp< ExpressionType, Direction >::mean | ( | ) | const [inline] |
Definition at line 347 of file VectorwiseOp.h.
const ReturnType<internal::member_minCoeff>::Type VectorwiseOp< ExpressionType, Direction >::minCoeff | ( | ) | const [inline] |
Example:
Output:
Definition at line 273 of file VectorwiseOp.h.
const ReturnType<internal::member_norm,RealScalar>::Type VectorwiseOp< ExpressionType, Direction >::norm | ( | ) | const [inline] |
Example:
Output:
Definition at line 303 of file VectorwiseOp.h.
EIGEN_STRONG_INLINE CwiseBinaryOp<internal::scalar_sum_op<Scalar>, ExpressionTypeNestedCleaned, 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
.
Definition at line 452 of file VectorwiseOp.h.
References EIGEN_STATIC_ASSERT_VECTOR_ONLY.
ExpressionType& VectorwiseOp< ExpressionType, Direction >::operator+= | ( | const DenseBase< OtherDerived > & | other ) | [inline] |
Adds the vector other to each subvector of *this
.
Definition at line 429 of file VectorwiseOp.h.
References EIGEN_STATIC_ASSERT_VECTOR_ONLY.
CwiseBinaryOp<internal::scalar_difference_op<Scalar>, ExpressionTypeNestedCleaned, 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.
Definition at line 463 of file VectorwiseOp.h.
References EIGEN_STATIC_ASSERT_VECTOR_ONLY.
ExpressionType& VectorwiseOp< ExpressionType, Direction >::operator-= | ( | const DenseBase< OtherDerived > & | other ) | [inline] |
Substracts the vector other to each subvector of *this
.
Definition at line 439 of file VectorwiseOp.h.
References EIGEN_STATIC_ASSERT_VECTOR_ONLY.
ExpressionType& VectorwiseOp< ExpressionType, Direction >::operator= | ( | const DenseBase< OtherDerived > & | other ) | [inline] |
Copies the vector other to each subvector of *this
.
Definition at line 418 of file VectorwiseOp.h.
References EIGEN_STATIC_ASSERT_VECTOR_ONLY.
const ReturnType<internal::member_prod>::Type VectorwiseOp< ExpressionType, Direction >::prod | ( | ) | const [inline] |
Example:
Output:
Definition at line 381 of file VectorwiseOp.h.
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.
Definition at line 263 of file VectorwiseOp.h.
const Replicate<ExpressionType,(IsVertical?Factor:1),(IsHorizontal?Factor:1)> VectorwiseOp< ExpressionType, Direction >::replicate | ( | Index | factor = Factor ) |
const [inline] |
*this
Example:
Output:
Definition at line 408 of file VectorwiseOp.h.
References Horizontal, and Vertical.
const VectorwiseOp< ExpressionType, Direction >::ReplicateReturnType VectorwiseOp< ExpressionType, Direction >::replicate | ( | Index | factor ) | const |
*this
Example:
Output:
Definition at line 173 of file Replicate.h.
References Horizontal, and Vertical.
const Reverse<ExpressionType, Direction> VectorwiseOp< ExpressionType, Direction >::reverse | ( | ) | const [inline] |
Example:
Output:
Definition at line 392 of file VectorwiseOp.h.
const ReturnType<internal::member_squaredNorm,RealScalar>::Type VectorwiseOp< ExpressionType, Direction >::squaredNorm | ( | ) | const [inline] |
Example:
Output:
Definition at line 293 of file VectorwiseOp.h.
const ReturnType<internal::member_stableNorm,RealScalar>::Type VectorwiseOp< ExpressionType, Direction >::stableNorm | ( | ) | const [inline] |
Definition at line 321 of file VectorwiseOp.h.
SubVector VectorwiseOp< ExpressionType, Direction >::subVector | ( | Index | i ) | [inline, protected] |
Definition at line 218 of file VectorwiseOp.h.
Index VectorwiseOp< ExpressionType, Direction >::subVectors | ( | ) | const [inline, protected] |
Definition at line 225 of file VectorwiseOp.h.
References Vertical.
const ReturnType<internal::member_sum>::Type VectorwiseOp< ExpressionType, Direction >::sum | ( | ) | const [inline] |
Example:
Output:
Definition at line 340 of file VectorwiseOp.h.
ExpressionTypeNested VectorwiseOp< ExpressionType, Direction >::m_matrix [protected] |
Definition at line 502 of file VectorwiseOp.h.
Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:46:17 UTC 2011 |