Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::VectorwiseOp< ExpressionType, Direction > Class Template Reference

Pseudo expression providing partial reduction operations. More...

#include <src/eigen/Eigen/src/Core/VectorwiseOp.h>

+ Collaboration diagram for Eigen::VectorwiseOp< ExpressionType, Direction >:

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 ExpressionType::Scalar Scalar
 
typedef ExpressionType::RealScalar RealScalar
 
typedef Eigen::Index Index
 
typedef internal::ref_selector< ExpressionType >::non_const_type ExpressionTypeNested
 
typedef internal::remove_all< ExpressionTypeNested >::type ExpressionTypeNestedCleaned
 
typedef ReturnType< internal::member_minCoeff >::Type MinCoeffReturnType
 
typedef ReturnType< internal::member_maxCoeff >::Type MaxCoeffReturnType
 
typedef ReturnType< internal::member_squaredNorm, RealScalar >::Type SquaredNormReturnType
 
typedef ReturnType< internal::member_norm, RealScalar >::Type NormReturnType
 
typedef ReturnType< internal::member_blueNorm, RealScalar >::Type BlueNormReturnType
 
typedef ReturnType< internal::member_stableNorm, RealScalar >::Type StableNormReturnType
 
typedef ReturnType< internal::member_hypotNorm, RealScalar >::Type HypotNormReturnType
 
typedef ReturnType< internal::member_sum >::Type SumReturnType
 
typedef ReturnType< internal::member_mean >::Type MeanReturnType
 
typedef ReturnType< internal::member_all >::Type AllReturnType
 
typedef ReturnType< internal::member_any >::Type AnyReturnType
 
typedef PartialReduxExpr< ExpressionType, internal::member_count< Index >, Direction > CountReturnType
 
typedef ReturnType< internal::member_prod >::Type ProdReturnType
 
typedef Reverse< const ExpressionType, Direction > ConstReverseReturnType
 
typedef Reverse< ExpressionType, Direction > ReverseReturnType
 
typedef Replicate< ExpressionType,(isVertical?Dynamic:1),(isHorizontal?Dynamic:1)> ReplicateReturnType
 
typedef Homogeneous< ExpressionType, Direction > HomogeneousReturnType
 
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

EIGEN_DEVICE_FUNC VectorwiseOp (ExpressionType &matrix)
 
EIGEN_DEVICE_FUNC const ExpressionType & _expression () const
 
template<typename BinaryOp >
EIGEN_DEVICE_FUNC const ReduxReturnType< BinaryOp >::Type redux (const BinaryOp &func=BinaryOp()) const
 
EIGEN_DEVICE_FUNC const MinCoeffReturnType minCoeff () const
 
EIGEN_DEVICE_FUNC const MaxCoeffReturnType maxCoeff () const
 
EIGEN_DEVICE_FUNC const SquaredNormReturnType squaredNorm () const
 
EIGEN_DEVICE_FUNC const NormReturnType norm () const
 
template<int p>
EIGEN_DEVICE_FUNC const LpNormReturnType< p >::Type lpNorm () const
 
EIGEN_DEVICE_FUNC const BlueNormReturnType blueNorm () const
 
EIGEN_DEVICE_FUNC const StableNormReturnType stableNorm () const
 
EIGEN_DEVICE_FUNC const HypotNormReturnType hypotNorm () const
 
EIGEN_DEVICE_FUNC const SumReturnType sum () const
 
EIGEN_DEVICE_FUNC const MeanReturnType mean () const
 
EIGEN_DEVICE_FUNC const AllReturnType all () const
 
EIGEN_DEVICE_FUNC const AnyReturnType any () const
 
EIGEN_DEVICE_FUNC const CountReturnType count () const
 
EIGEN_DEVICE_FUNC const ProdReturnType prod () const
 
EIGEN_DEVICE_FUNC const ConstReverseReturnType reverse () const
 
EIGEN_DEVICE_FUNC ReverseReturnType reverse ()
 
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
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC ExpressionType & operator= (const DenseBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC ExpressionType & operator+= (const DenseBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC ExpressionType & operator-= (const DenseBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC ExpressionType & operator*= (const DenseBase< OtherDerived > &other)
 
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 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_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 CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const ExpressionTypeNestedCleaned, const typename ExtendedType< OtherDerived >::Type > operator/ (const DenseBase< OtherDerived > &other) const
 
EIGEN_DEVICE_FUNC CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const ExpressionTypeNestedCleaned, const typename OppositeExtendedType< typename ReturnType< internal::member_norm, RealScalar >::Type >::Type > normalized () const
 
EIGEN_DEVICE_FUNC void normalize ()
 
EIGEN_DEVICE_FUNC void reverseInPlace ()
 
EIGEN_DEVICE_FUNC HomogeneousReturnType homogeneous () 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
 

Protected Types

typedef internal::conditional< isVertical, typenameExpressionType::ColXpr, typenameExpressionType::RowXpr >::type SubVector
 

Protected Member Functions

EIGEN_DEVICE_FUNC SubVector subVector (Index i)
 
EIGEN_DEVICE_FUNC Index subVectors () const
 
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
 

Protected Attributes

ExpressionTypeNested m_matrix
 

Detailed Description

template<typename ExpressionType, int Direction>
class Eigen::VectorwiseOp< ExpressionType, Direction >

Pseudo expression providing partial reduction operations.

Template Parameters
ExpressionTypethe type of the object on which to do partial reductions
Directionindicates 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:

See also
DenseBase::colwise(), DenseBase::rowwise(), class PartialReduxExpr

Class Documentation

◆ Eigen::VectorwiseOp::ExtendedType

struct Eigen::VectorwiseOp::ExtendedType
template<typename ExpressionType, int Direction>
template<typename OtherDerived>
struct Eigen::VectorwiseOp< ExpressionType, Direction >::ExtendedType< OtherDerived >
Class Members
typedef Replicate< OtherDerived, isVertical ? 1 :RowsAtCompileTime, isHorizontal ? 1 :ColsAtCompileTime > Type

◆ Eigen::VectorwiseOp::LpNormReturnType

struct Eigen::VectorwiseOp::LpNormReturnType
template<typename ExpressionType, int Direction>
template<int p>
struct Eigen::VectorwiseOp< ExpressionType, Direction >::LpNormReturnType< p >
Class Members
typedef PartialReduxExpr< ExpressionType, member_lpnorm< p, RealScalar >, Direction > Type

◆ Eigen::VectorwiseOp::OppositeExtendedType

struct Eigen::VectorwiseOp::OppositeExtendedType
template<typename ExpressionType, int Direction>
template<typename OtherDerived>
struct Eigen::VectorwiseOp< ExpressionType, Direction >::OppositeExtendedType< OtherDerived >
Class Members
typedef Replicate< OtherDerived, isHorizontal ? 1 :RowsAtCompileTime, isVertical ? 1 :ColsAtCompileTime > Type

◆ Eigen::VectorwiseOp::ReduxReturnType

struct Eigen::VectorwiseOp::ReduxReturnType
template<typename ExpressionType, int Direction>
template<typename BinaryOp>
struct Eigen::VectorwiseOp< ExpressionType, Direction >::ReduxReturnType< BinaryOp >
Class Members
typedef PartialReduxExpr< ExpressionType, member_redux< BinaryOp, Scalar >, Direction > Type

◆ Eigen::VectorwiseOp::ReturnType

struct Eigen::VectorwiseOp::ReturnType
template<typename ExpressionType, int Direction>
template<template< typename _Scalar > class Functor, typename Scalar_ = Scalar>
struct Eigen::VectorwiseOp< ExpressionType, Direction >::ReturnType< Functor, Scalar_ >
Class Members
typedef PartialReduxExpr< ExpressionType, Functor< Scalar_ >, Direction > Type

Member Typedef Documentation

◆ AllReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_all>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::AllReturnType

◆ AnyReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_any>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::AnyReturnType

◆ BlueNormReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_blueNorm,RealScalar>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::BlueNormReturnType

◆ ConstReverseReturnType

template<typename ExpressionType , int Direction>
typedef Reverse<const ExpressionType, Direction> Eigen::VectorwiseOp< ExpressionType, Direction >::ConstReverseReturnType

◆ CountReturnType

template<typename ExpressionType , int Direction>
typedef PartialReduxExpr<ExpressionType, internal::member_count<Index>, Direction> Eigen::VectorwiseOp< ExpressionType, Direction >::CountReturnType

◆ CrossReturnType

template<typename ExpressionType , int Direction>
typedef ExpressionType::PlainObject Eigen::VectorwiseOp< ExpressionType, Direction >::CrossReturnType

◆ ExpressionTypeNested

template<typename ExpressionType , int Direction>
typedef internal::ref_selector<ExpressionType>::non_const_type Eigen::VectorwiseOp< ExpressionType, Direction >::ExpressionTypeNested

◆ ExpressionTypeNestedCleaned

template<typename ExpressionType , int Direction>
typedef internal::remove_all<ExpressionTypeNested>::type Eigen::VectorwiseOp< ExpressionType, Direction >::ExpressionTypeNestedCleaned

◆ HNormalized_Block

template<typename ExpressionType , int Direction>
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

◆ HNormalized_Factors

template<typename ExpressionType , int Direction>
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

◆ HNormalizedReturnType

template<typename ExpressionType , int Direction>
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

◆ HomogeneousReturnType

template<typename ExpressionType , int Direction>
typedef Homogeneous<ExpressionType,Direction> Eigen::VectorwiseOp< ExpressionType, Direction >::HomogeneousReturnType

◆ HypotNormReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_hypotNorm,RealScalar>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::HypotNormReturnType

◆ Index

template<typename ExpressionType , int Direction>
typedef Eigen::Index Eigen::VectorwiseOp< ExpressionType, Direction >::Index

◆ MaxCoeffReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_maxCoeff>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::MaxCoeffReturnType

◆ MeanReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_mean>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::MeanReturnType

◆ MinCoeffReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_minCoeff>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::MinCoeffReturnType

◆ NormReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_norm,RealScalar>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::NormReturnType

◆ ProdReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_prod>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::ProdReturnType

◆ RealScalar

template<typename ExpressionType , int Direction>
typedef ExpressionType::RealScalar Eigen::VectorwiseOp< ExpressionType, Direction >::RealScalar

◆ ReplicateReturnType

template<typename ExpressionType , int Direction>
typedef Replicate<ExpressionType,(isVertical?Dynamic:1),(isHorizontal?Dynamic:1)> Eigen::VectorwiseOp< ExpressionType, Direction >::ReplicateReturnType

◆ ReverseReturnType

template<typename ExpressionType , int Direction>
typedef Reverse<ExpressionType, Direction> Eigen::VectorwiseOp< ExpressionType, Direction >::ReverseReturnType

◆ Scalar

template<typename ExpressionType , int Direction>
typedef ExpressionType::Scalar Eigen::VectorwiseOp< ExpressionType, Direction >::Scalar

◆ SquaredNormReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_squaredNorm,RealScalar>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::SquaredNormReturnType

◆ StableNormReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_stableNorm,RealScalar>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::StableNormReturnType

◆ SubVector

template<typename ExpressionType , int Direction>
typedef internal::conditional<isVertical,typenameExpressionType::ColXpr,typenameExpressionType::RowXpr>::type Eigen::VectorwiseOp< ExpressionType, Direction >::SubVector
protected

◆ SumReturnType

template<typename ExpressionType , int Direction>
typedef ReturnType<internal::member_sum>::Type Eigen::VectorwiseOp< ExpressionType, Direction >::SumReturnType

Member Enumeration Documentation

◆ anonymous enum

template<typename ExpressionType , int Direction>
anonymous enum
Enumerator
isVertical 
isHorizontal 
183 {
184 isVertical = (Direction==Vertical) ? 1 : 0,
186 };
@ isVertical
Definition VectorwiseOp.h:184
@ isHorizontal
Definition VectorwiseOp.h:185
@ Horizontal
Definition Constants.h:268
@ Vertical
Definition Constants.h:265
Direction
Definition clipper.cpp:67

◆ anonymous enum

template<typename ExpressionType , int Direction>
anonymous enum
Enumerator
HNormalized_Size 
HNormalized_SizeMinusOne 
636 {
637 HNormalized_Size = Direction==Vertical ? internal::traits<ExpressionType>::RowsAtCompileTime
638 : internal::traits<ExpressionType>::ColsAtCompileTime,
640 };
@ HNormalized_Size
Definition VectorwiseOp.h:637
@ HNormalized_SizeMinusOne
Definition VectorwiseOp.h:639
const int Dynamic
Definition Constants.h:21

Constructor & Destructor Documentation

◆ VectorwiseOp()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC Eigen::VectorwiseOp< ExpressionType, Direction >::VectorwiseOp ( ExpressionType &  matrix)
inlineexplicit
255: m_matrix(matrix) {}
ExpressionTypeNested m_matrix
Definition VectorwiseOp.h:662

Member Function Documentation

◆ _expression()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const ExpressionType & Eigen::VectorwiseOp< ExpressionType, Direction >::_expression ( ) const
inline

◆ all()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const AllReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::all ( ) const
inline
Returns
a row (or column) vector expression representing whether all coefficients of each respective column (or row) are true. This expression can be assigned to a vector with entries of type bool.
See also
DenseBase::all()
416 { return AllReturnType(_expression()); }
EIGEN_DEVICE_FUNC const ExpressionType & _expression() const
Definition VectorwiseOp.h:259
ReturnType< internal::member_all >::Type AllReturnType
Definition VectorwiseOp.h:283

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ any()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const AnyReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::any ( ) const
inline
Returns
a row (or column) vector expression representing whether at least one coefficient of each respective column (or row) is true. This expression can be assigned to a vector with entries of type bool.
See also
DenseBase::any()
425 { return AnyReturnType(_expression()); }
ReturnType< internal::member_any >::Type AnyReturnType
Definition VectorwiseOp.h:284

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ blueNorm()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const BlueNormReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::blueNorm ( ) const
inline
Returns
a row (or column) vector expression of the norm of each column (or row) of the referenced expression, using Blue's algorithm. This is a vector with real entries, even if the original matrix has complex entries.
See also
DenseBase::blueNorm()
366 { return BlueNormReturnType(_expression()); }
ReturnType< internal::member_blueNorm, RealScalar >::Type BlueNormReturnType
Definition VectorwiseOp.h:278

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ count()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const CountReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::count ( ) const
inline
Returns
a row (or column) vector expression representing the number of 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:

See also
DenseBase::count()
438 { return CountReturnType(_expression()); }
PartialReduxExpr< ExpressionType, internal::member_count< Index >, Direction > CountReturnType
Definition VectorwiseOp.h:285

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ extendedTo()

template<typename ExpressionType , int Direction>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC ExtendedType< OtherDerived >::Type Eigen::VectorwiseOp< ExpressionType, Direction >::extendedTo ( const DenseBase< OtherDerived > &  other) const
inlineprotected
219 {
220 EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(isVertical, OtherDerived::MaxColsAtCompileTime==1),
221 YOU_PASSED_A_ROW_VECTOR_BUT_A_COLUMN_VECTOR_WAS_EXPECTED)
222 EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(isHorizontal, OtherDerived::MaxRowsAtCompileTime==1),
223 YOU_PASSED_A_COLUMN_VECTOR_BUT_A_ROW_VECTOR_WAS_EXPECTED)
225 (other.derived(),
226 isVertical ? 1 : m_matrix.rows(),
227 isHorizontal ? 1 : m_matrix.cols());
228 }
#define EIGEN_IMPLIES(a, b)
Definition Macros.h:902
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition StaticAssert.h:124
Replicate< OtherDerived, isVertical ? 1 :ExpressionType::RowsAtCompileTime, isHorizontal ? 1 :ExpressionType::ColsAtCompileTime > Type
Definition VectorwiseOp.h:210
size_t cols(const T &raster)
Definition MarchingSquares.hpp:60
size_t rows(const T &raster)
Definition MarchingSquares.hpp:55

References EIGEN_IMPLIES, EIGEN_STATIC_ASSERT, Eigen::VectorwiseOp< ExpressionType, Direction >::isHorizontal, Eigen::VectorwiseOp< ExpressionType, Direction >::isVertical, and Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix.

Referenced by Eigen::DenseBase< ArrayWrapper< ExpressionType > >::colwise(), Eigen::VectorwiseOp< ExpressionType, Direction >::operator*(), Eigen::VectorwiseOp< ExpressionType, Direction >::operator*=(), Eigen::VectorwiseOp< ExpressionType, Direction >::operator+(), Eigen::VectorwiseOp< ExpressionType, Direction >::operator+=(), Eigen::VectorwiseOp< ExpressionType, Direction >::operator-(), Eigen::VectorwiseOp< ExpressionType, Direction >::operator/(), Eigen::VectorwiseOp< ExpressionType, Direction >::operator/=(), and Eigen::VectorwiseOp< ExpressionType, Direction >::operator=().

+ Here is the caller graph for this function:

◆ extendedToOpposite()

template<typename ExpressionType , int Direction>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC OppositeExtendedType< OtherDerived >::Type Eigen::VectorwiseOp< ExpressionType, Direction >::extendedToOpposite ( const DenseBase< OtherDerived > &  other) const
inlineprotected
242 {
243 EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(isHorizontal, OtherDerived::MaxColsAtCompileTime==1),
244 YOU_PASSED_A_ROW_VECTOR_BUT_A_COLUMN_VECTOR_WAS_EXPECTED)
245 EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(isVertical, OtherDerived::MaxRowsAtCompileTime==1),
246 YOU_PASSED_A_COLUMN_VECTOR_BUT_A_ROW_VECTOR_WAS_EXPECTED)
248 (other.derived(),
249 isHorizontal ? 1 : m_matrix.rows(),
250 isVertical ? 1 : m_matrix.cols());
251 }
Replicate< OtherDerived, isHorizontal ? 1 :ExpressionType::RowsAtCompileTime, isVertical ? 1 :ExpressionType::ColsAtCompileTime > Type
Definition VectorwiseOp.h:233

References EIGEN_IMPLIES, EIGEN_STATIC_ASSERT, Eigen::VectorwiseOp< ExpressionType, Direction >::isHorizontal, Eigen::VectorwiseOp< ExpressionType, Direction >::isVertical, and Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix.

Referenced by Eigen::VectorwiseOp< ExpressionType, Direction >::normalized().

+ Here is the caller graph for this function:

◆ hypotNorm()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const HypotNormReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::hypotNorm ( ) const
inline
Returns
a row (or column) vector expression of the norm of each column (or row) of the referenced expression, avoiding underflow and overflow using a concatenation of hypot() calls. This is a vector with real entries, even if the original matrix has complex entries.
See also
DenseBase::hypotNorm()
388 { return HypotNormReturnType(_expression()); }
ReturnType< internal::member_hypotNorm, RealScalar >::Type HypotNormReturnType
Definition VectorwiseOp.h:280

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ lpNorm()

template<typename ExpressionType , int Direction>
template<int p>
EIGEN_DEVICE_FUNC const LpNormReturnType< p >::Type Eigen::VectorwiseOp< ExpressionType, Direction >::lpNorm ( ) const
inline
Returns
a row (or column) vector expression of the norm of each column (or row) of the referenced expression. This is a vector with real entries, even if the original matrix has complex entries.

Example:

Output:

See also
DenseBase::norm()
355 { return typename LpNormReturnType<p>::Type(_expression()); }
PartialReduxExpr< ExpressionType, internal::member_lpnorm< p, RealScalar >, Direction > Type
Definition VectorwiseOp.h:291

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ maxCoeff()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const MaxCoeffReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::maxCoeff ( ) const
inline
Returns
a row (or column) vector expression of the largest coefficient of each column (or row) of the referenced expression.
Warning
the result is undefined if *this contains NaN.

Example:

Output:

See also
DenseBase::maxCoeff()
318 { return MaxCoeffReturnType(_expression()); }
ReturnType< internal::member_maxCoeff >::Type MaxCoeffReturnType
Definition VectorwiseOp.h:275

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

Referenced by igl::bounding_box(), and igl::copyleft::offset_surface().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mean()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const MeanReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::mean ( ) const
inline
Returns
a row (or column) vector expression of the mean of each column (or row) of the referenced expression.
See also
DenseBase::mean()
407 { return MeanReturnType(_expression()); }
ReturnType< internal::member_mean >::Type MeanReturnType
Definition VectorwiseOp.h:282

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ minCoeff()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const MinCoeffReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::minCoeff ( ) const
inline
Returns
a row (or column) vector expression of the smallest coefficient of each column (or row) of the referenced expression.
Warning
the result is undefined if *this contains NaN.

Example:

Output:

See also
DenseBase::minCoeff()
305 { return MinCoeffReturnType(_expression()); }
ReturnType< internal::member_minCoeff >::Type MinCoeffReturnType
Definition VectorwiseOp.h:274

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

Referenced by igl::bounding_box(), and igl::copyleft::offset_surface().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ norm()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const NormReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::norm ( ) const
inline
Returns
a row (or column) vector expression of the norm of each column (or row) of the referenced expression. This is a vector with real entries, even if the original matrix has complex entries.

Example:

Output:

See also
DenseBase::norm()
342 { return NormReturnType(_expression()); }
ReturnType< internal::member_norm, RealScalar >::Type NormReturnType
Definition VectorwiseOp.h:277

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

Referenced by Eigen::VectorwiseOp< ExpressionType, Direction >::normalized().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ normalize()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC void Eigen::VectorwiseOp< ExpressionType, Direction >::normalize ( )
inline

Normalize in-place each row or columns of the referenced matrix.

See also
MatrixBase::normalize(), normalized()
619 {
620 m_matrix = this->normalized();
621 }
EIGEN_DEVICE_FUNC CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const ExpressionTypeNestedCleaned, const typename OppositeExtendedType< typename ReturnType< internal::member_norm, RealScalar >::Type >::Type > normalized() const
Definition VectorwiseOp.h:613

References Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix, and Eigen::VectorwiseOp< ExpressionType, Direction >::normalized().

+ Here is the call graph for this function:

◆ normalized()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const ExpressionTypeNestedCleaned, const typename OppositeExtendedType< typename ReturnType< internal::member_norm, RealScalar >::Type >::Type > Eigen::VectorwiseOp< ExpressionType, Direction >::normalized ( ) const
inline
Returns
an expression where each column (or row) of the referenced matrix are normalized. The referenced matrix is not modified.
See also
MatrixBase::normalized(), normalize()
613{ return m_matrix.cwiseQuotient(extendedToOpposite(this->norm())); }
EIGEN_DEVICE_FUNC const NormReturnType norm() const
Definition VectorwiseOp.h:341
EIGEN_DEVICE_FUNC OppositeExtendedType< OtherDerived >::Type extendedToOpposite(const DenseBase< OtherDerived > &other) const
Definition VectorwiseOp.h:241

References Eigen::VectorwiseOp< ExpressionType, Direction >::extendedToOpposite(), Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix, and Eigen::VectorwiseOp< ExpressionType, Direction >::norm().

Referenced by Eigen::VectorwiseOp< ExpressionType, Direction >::normalize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator*()

template<typename ExpressionType , int Direction>
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 Eigen::VectorwiseOp< ExpressionType, Direction >::operator* ( const DenseBase< OtherDerived > &  other) const
inline

Returns the expression where each subvector is the product of the vector other by the corresponding subvector of *this

583 {
585 EIGEN_STATIC_ASSERT_ARRAYXPR(ExpressionType)
586 EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
587 return m_matrix * extendedTo(other.derived());
588 }
#define EIGEN_STATIC_ASSERT_ARRAYXPR(Derived)
Definition StaticAssert.h:203
#define EIGEN_STATIC_ASSERT_SAME_XPR_KIND(Derived1, Derived2)
Definition StaticAssert.h:207
#define EIGEN_STATIC_ASSERT_VECTOR_ONLY(TYPE)
Definition StaticAssert.h:139
EIGEN_DEVICE_FUNC ExtendedType< OtherDerived >::Type extendedTo(const DenseBase< OtherDerived > &other) const
Definition VectorwiseOp.h:218

References EIGEN_STATIC_ASSERT_ARRAYXPR, EIGEN_STATIC_ASSERT_SAME_XPR_KIND, EIGEN_STATIC_ASSERT_VECTOR_ONLY, Eigen::VectorwiseOp< ExpressionType, Direction >::extendedTo(), and Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix.

+ Here is the call graph for this function:

◆ operator*=()

template<typename ExpressionType , int Direction>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC ExpressionType & Eigen::VectorwiseOp< ExpressionType, Direction >::operator*= ( const DenseBase< OtherDerived > &  other)
inline

Multiples each subvector of *this by the vector other

530 {
532 EIGEN_STATIC_ASSERT_ARRAYXPR(ExpressionType)
533 EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
534 m_matrix *= extendedTo(other.derived());
535 return const_cast<ExpressionType&>(m_matrix);
536 }

References EIGEN_STATIC_ASSERT_ARRAYXPR, EIGEN_STATIC_ASSERT_SAME_XPR_KIND, EIGEN_STATIC_ASSERT_VECTOR_ONLY, Eigen::VectorwiseOp< ExpressionType, Direction >::extendedTo(), and Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix.

+ Here is the call graph for this function:

◆ operator+()

template<typename ExpressionType , int Direction>
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 > Eigen::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

556 {
558 EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
559 return m_matrix + extendedTo(other.derived());
560 }

References EIGEN_STATIC_ASSERT_SAME_XPR_KIND, EIGEN_STATIC_ASSERT_VECTOR_ONLY, Eigen::VectorwiseOp< ExpressionType, Direction >::extendedTo(), and Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix.

+ Here is the call graph for this function:

◆ operator+=()

template<typename ExpressionType , int Direction>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC ExpressionType & Eigen::VectorwiseOp< ExpressionType, Direction >::operator+= ( const DenseBase< OtherDerived > &  other)
inline

Adds the vector other to each subvector of *this

510 {
512 EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
513 return const_cast<ExpressionType&>(m_matrix += extendedTo(other.derived()));
514 }

References EIGEN_STATIC_ASSERT_SAME_XPR_KIND, EIGEN_STATIC_ASSERT_VECTOR_ONLY, Eigen::VectorwiseOp< ExpressionType, Direction >::extendedTo(), and Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix.

+ Here is the call graph for this function:

◆ operator-()

template<typename ExpressionType , int Direction>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC CwiseBinaryOp< internal::scalar_difference_op< Scalar, typename OtherDerived::Scalar >, const ExpressionTypeNestedCleaned, const typename ExtendedType< OtherDerived >::Type > Eigen::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

569 {
571 EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
572 return m_matrix - extendedTo(other.derived());
573 }

References EIGEN_STATIC_ASSERT_SAME_XPR_KIND, EIGEN_STATIC_ASSERT_VECTOR_ONLY, Eigen::VectorwiseOp< ExpressionType, Direction >::extendedTo(), and Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix.

+ Here is the call graph for this function:

◆ operator-=()

template<typename ExpressionType , int Direction>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC ExpressionType & Eigen::VectorwiseOp< ExpressionType, Direction >::operator-= ( const DenseBase< OtherDerived > &  other)
inline

Substracts the vector other to each subvector of *this

520 {
522 EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
523 return const_cast<ExpressionType&>(m_matrix -= extendedTo(other.derived()));
524 }

◆ operator/()

template<typename ExpressionType , int Direction>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const ExpressionTypeNestedCleaned, const typename ExtendedType< OtherDerived >::Type > Eigen::VectorwiseOp< ExpressionType, Direction >::operator/ ( const DenseBase< OtherDerived > &  other) const
inline

Returns the expression where each subvector is the quotient of the corresponding subvector of *this by the vector other

598 {
600 EIGEN_STATIC_ASSERT_ARRAYXPR(ExpressionType)
601 EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
602 return m_matrix / extendedTo(other.derived());
603 }

References EIGEN_STATIC_ASSERT_ARRAYXPR, EIGEN_STATIC_ASSERT_SAME_XPR_KIND, EIGEN_STATIC_ASSERT_VECTOR_ONLY, Eigen::VectorwiseOp< ExpressionType, Direction >::extendedTo(), and Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix.

+ Here is the call graph for this function:

◆ operator/=()

template<typename ExpressionType , int Direction>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC ExpressionType & Eigen::VectorwiseOp< ExpressionType, Direction >::operator/= ( const DenseBase< OtherDerived > &  other)
inline

Divides each subvector of *this by the vector other

542 {
544 EIGEN_STATIC_ASSERT_ARRAYXPR(ExpressionType)
545 EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
546 m_matrix /= extendedTo(other.derived());
547 return const_cast<ExpressionType&>(m_matrix);
548 }

References EIGEN_STATIC_ASSERT_ARRAYXPR, EIGEN_STATIC_ASSERT_SAME_XPR_KIND, EIGEN_STATIC_ASSERT_VECTOR_ONLY, Eigen::VectorwiseOp< ExpressionType, Direction >::extendedTo(), and Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix.

+ Here is the call graph for this function:

◆ operator=()

template<typename ExpressionType , int Direction>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC ExpressionType & Eigen::VectorwiseOp< ExpressionType, Direction >::operator= ( const DenseBase< OtherDerived > &  other)
inline

Copies the vector other to each subvector of *this

499 {
501 EIGEN_STATIC_ASSERT_SAME_XPR_KIND(ExpressionType, OtherDerived)
502 //eigen_assert((m_matrix.isNull()) == (other.isNull())); FIXME
503 return const_cast<ExpressionType&>(m_matrix = extendedTo(other.derived()));
504 }

References EIGEN_STATIC_ASSERT_SAME_XPR_KIND, EIGEN_STATIC_ASSERT_VECTOR_ONLY, Eigen::VectorwiseOp< ExpressionType, Direction >::extendedTo(), and Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix.

+ Here is the call graph for this function:

◆ prod()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const ProdReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::prod ( ) const
inline
Returns
a row (or column) vector expression of the product of each column (or row) of the referenced expression.

Example:

Output:

See also
DenseBase::prod()
449 { return ProdReturnType(_expression()); }
ReturnType< internal::member_prod >::Type ProdReturnType
Definition VectorwiseOp.h:286

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ redux()

template<typename ExpressionType , int Direction>
template<typename BinaryOp >
EIGEN_DEVICE_FUNC const ReduxReturnType< BinaryOp >::Type Eigen::VectorwiseOp< ExpressionType, Direction >::redux ( const BinaryOp &  func = BinaryOp()) const
inline
Returns
a row or column vector expression of *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.

See also
class VectorwiseOp, DenseBase::colwise(), DenseBase::rowwise()
272 { return typename ReduxReturnType<BinaryOp>::Type(_expression(), internal::member_redux<BinaryOp,Scalar>(func)); }
PartialReduxExpr< ExpressionType, internal::member_redux< BinaryOp, Scalar >, Direction > Type
Definition VectorwiseOp.h:180

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ replicate() [1/2]

template<typename ExpressionType , int Direction>
const VectorwiseOp< ExpressionType, Direction >::ReplicateReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::replicate ( Index  factor) const
Returns
an expression of the replication of each column (or row) of *this

Example:

Output:

See also
VectorwiseOp::replicate(), DenseBase::replicate(), class Replicate
135{
137 (_expression(),Direction==Vertical?factor:1,Direction==Horizontal?factor:1);
138}
Replicate< ExpressionType,(isVertical?Dynamic:1),(isHorizontal?Dynamic:1)> ReplicateReturnType
Definition VectorwiseOp.h:471

References Eigen::Horizontal, and Eigen::Vertical.

◆ replicate() [2/2]

template<typename ExpressionType , int Direction>
template<int Factor>
const Replicate< ExpressionType, isVertical *Factor+isHorizontal, isHorizontal *Factor+isVertical > EIGEN_DEVICE_FUNC Eigen::VectorwiseOp< ExpressionType, Direction >::replicate ( Index  factor = Factor) const
inline
Returns
an expression of the replication of each column (or row) of *this

Example:

Output:

See also
VectorwiseOp::replicate(Index), DenseBase::replicate(), class Replicate
488 {
489 return Replicate<ExpressionType,(isVertical?Factor:1),(isHorizontal?Factor:1)>
490 (_expression(),isVertical?factor:1,isHorizontal?factor:1);
491 }

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression(), Eigen::VectorwiseOp< ExpressionType, Direction >::isHorizontal, and Eigen::VectorwiseOp< ExpressionType, Direction >::isVertical.

+ Here is the call graph for this function:

◆ reverse() [1/2]

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC ReverseReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::reverse ( )
inline
Returns
a writable matrix expression where each column (or row) are reversed.
See also
reverse() const
469 { return ReverseReturnType( _expression() ); }
Reverse< ExpressionType, Direction > ReverseReturnType
Definition VectorwiseOp.h:288

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ reverse() [2/2]

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const ConstReverseReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::reverse ( ) const
inline
Returns
a matrix expression where each column (or row) are reversed.

Example:

Output:

See also
DenseBase::reverse()
461 { return ConstReverseReturnType( _expression() ); }
Reverse< const ExpressionType, Direction > ConstReverseReturnType
Definition VectorwiseOp.h:287

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ reverseInPlace()

template<typename ExpressionType , int Direction>
void Eigen::VectorwiseOp< ExpressionType, Direction >::reverseInPlace
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:

  • less error prone: doing the same operation with .reverse() requires special care:
    m = m.reverse().eval();
  • this API enables reverse operations without the need for a temporary
See also
DenseBase::reverseInPlace(), reverse()
205{
206 internal::vectorwise_reverse_inplace_impl<Direction>::run(_expression().const_cast_derived());
207}

◆ squaredNorm()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const SquaredNormReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::squaredNorm ( ) const
inline
Returns
a row (or column) vector expression of the squared norm of each column (or row) of the referenced expression. This is a vector with real entries, even if the original matrix has complex entries.

Example:

Output:

See also
DenseBase::squaredNorm()
ReturnType< internal::member_squaredNorm, RealScalar >::Type SquaredNormReturnType
Definition VectorwiseOp.h:276

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ stableNorm()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const StableNormReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::stableNorm ( ) const
inline
Returns
a row (or column) vector expression of the norm of each column (or row) of the referenced expression, avoiding underflow and overflow. This is a vector with real entries, even if the original matrix has complex entries.
See also
DenseBase::stableNorm()
377 { return StableNormReturnType(_expression()); }
ReturnType< internal::member_stableNorm, RealScalar >::Type StableNormReturnType
Definition VectorwiseOp.h:279

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

+ Here is the call graph for this function:

◆ subVector()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC SubVector Eigen::VectorwiseOp< ExpressionType, Direction >::subVector ( Index  i)
inlineprotected
197 {
198 return SubVector(m_matrix.derived(),i);
199 }
internal::conditional< isVertical, typenameExpressionType::ColXpr, typenameExpressionType::RowXpr >::type SubVector
Definition VectorwiseOp.h:192

References Eigen::VectorwiseOp< ExpressionType, Direction >::m_matrix.

◆ subVectors()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC Index Eigen::VectorwiseOp< ExpressionType, Direction >::subVectors ( ) const
inlineprotected

◆ sum()

template<typename ExpressionType , int Direction>
EIGEN_DEVICE_FUNC const SumReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::sum ( ) const
inline
Returns
a row (or column) vector expression of the sum of each column (or row) of the referenced expression.

Example:

Output:

See also
DenseBase::sum()
399 { return SumReturnType(_expression()); }
ReturnType< internal::member_sum >::Type SumReturnType
Definition VectorwiseOp.h:281

References Eigen::VectorwiseOp< ExpressionType, Direction >::_expression().

Referenced by igl::normalize_row_sums(), and Eigen::umeyama().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_matrix


The documentation for this class was generated from the following files: