Eigen::DiagonalWrapper< DiagonalVectorType_ > Class Template Reference

Expression of a diagonal matrix. More...

+ Inheritance diagram for Eigen::DiagonalWrapper< DiagonalVectorType_ >:

Public Member Functions

const DiagonalVectorTypediagonal () const
 
 DiagonalWrapper (DiagonalVectorType &a_diagonal)
 
- Public Member Functions inherited from Eigen::DiagonalBase< DiagonalWrapper< DiagonalVectorType_ > >
Scalar coeff (Index row, Index col) const
 
EIGEN_CONSTEXPR Index cols () const
 
DiagonalWrapper< DiagonalVectorType_ > & derived ()
 
const DiagonalWrapper< DiagonalVectorType_ > & derived () const
 
DiagonalVectorTypediagonal ()
 
const DiagonalVectorTypediagonal () const
 
const DiagonalInverseReturnType inverse () const
 
const DiagonalProductReturnType< OtherDerived > operator* (const DiagonalBase< OtherDerived > &other) const
 
const Product< DiagonalWrapper< DiagonalVectorType_ >, MatrixDerived, LazyProduct > operator* (const MatrixBase< MatrixDerived > &matrix) const
 
const DiagonalScaleReturnType operator* (const Scalar &scalar) const
 
const DiagonalSumReturnType< OtherDerived > operator+ (const DiagonalBase< OtherDerived > &other) const
 
const DiagonalDifferenceReturnType< OtherDerived > operator- (const DiagonalBase< OtherDerived > &other) const
 
EIGEN_CONSTEXPR Index rows () const
 
DenseMatrixType toDenseMatrix () const
 
- Public Member Functions inherited from Eigen::EigenBase< Derived >
template<typename Dest >
void addTo (Dest &dst) const
 
template<typename Dest >
void applyThisOnTheLeft (Dest &dst) const
 
template<typename Dest >
void applyThisOnTheRight (Dest &dst) const
 
EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
Derived & const_cast_derived () const
 
const Derived & const_derived () const
 
Derived & derived ()
 
const Derived & derived () const
 
template<typename Dest >
void evalTo (Dest &dst) const
 
EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_CONSTEXPR Index size () const EIGEN_NOEXCEPT
 
template<typename Dest >
void subTo (Dest &dst) const
 

Protected Attributes

DiagonalVectorType::Nested m_diagonal
 

Additional Inherited Members

- Public Types inherited from Eigen::DiagonalBase< DiagonalWrapper< DiagonalVectorType_ > >
enum  
 
typedef Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTime, 0, MaxRowsAtCompileTime, MaxColsAtCompileTimeDenseMatrixType
 
typedef DenseMatrixType DenseType
 
using DiagonalDifferenceReturnType = DiagonalWrapper< const CwiseBinaryOp< internal::scalar_difference_op< DiagonalVectorType ::Scalar, typename OtherDerived::DiagonalVectorType ::Scalar >, const DiagonalVectorType, const typename OtherDerived::DiagonalVectorType > >
 
using DiagonalInverseReturnType = DiagonalWrapper< const CwiseUnaryOp< internal::scalar_inverse_op< Scalar >, const DiagonalVectorType > >
 
using DiagonalProductReturnType = DiagonalWrapper< const CwiseBinaryOp< internal::scalar_product_op< DiagonalVectorType ::Scalar, typename OtherDerived::DiagonalVectorType ::Scalar >, const DiagonalVectorType, const typename OtherDerived::DiagonalVectorType > >
 
using DiagonalScaleReturnType = DiagonalWrapper< const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DiagonalVectorType, Scalar, product)>
 
using DiagonalSumReturnType = DiagonalWrapper< const CwiseBinaryOp< internal::scalar_sum_op< DiagonalVectorType ::Scalar, typename OtherDerived::DiagonalVectorType ::Scalar >, const DiagonalVectorType, const typename OtherDerived::DiagonalVectorType > >
 
typedef internal::traits< DiagonalWrapper< DiagonalVectorType_ > >::DiagonalVectorType DiagonalVectorType
 
typedef DiagonalMatrix< Scalar, DiagonalVectorType::SizeAtCompileTime, DiagonalVectorType::MaxSizeAtCompileTime > PlainObject
 
typedef DiagonalVectorType::RealScalar RealScalar
 
typedef DiagonalVectorType::Scalar Scalar
 
using ScaleDiagonalReturnType = DiagonalWrapper< const EIGEN_SCALAR_BINARYOP_EXPR_RETURN_TYPE(Scalar, DiagonalVectorType, product)>
 
typedef internal::traits< DiagonalWrapper< DiagonalVectorType_ > >::StorageIndex StorageIndex
 
typedef internal::traits< DiagonalWrapper< DiagonalVectorType_ > >::StorageKind StorageKind
 
- Public Types inherited from Eigen::EigenBase< Derived >
typedef Eigen::Index Index
 The interface type of indices. More...
 
typedef internal::traits< Derived >::StorageKind StorageKind
 

Detailed Description

template<typename DiagonalVectorType_>
class Eigen::DiagonalWrapper< DiagonalVectorType_ >

Expression of a diagonal matrix.

Template Parameters
DiagonalVectorType_the type of the vector of diagonal coefficients

This class is an expression of a diagonal matrix, but not storing its own vector of diagonal coefficients, instead wrapping an existing vector expression. It is the return type of MatrixBase::asDiagonal() and most of the time this is the only way that it is used.

See also
class DiagonalMatrix, class DiagonalBase, MatrixBase::asDiagonal()

Definition at line 352 of file DiagonalMatrix.h.

Constructor & Destructor Documentation

◆ DiagonalWrapper()

template<typename DiagonalVectorType_ >
Eigen::DiagonalWrapper< DiagonalVectorType_ >::DiagonalWrapper ( DiagonalVectorType a_diagonal)
inlineexplicit

Constructor from expression of diagonal coefficients to wrap.

Definition at line 363 of file DiagonalMatrix.h.

363 : m_diagonal(a_diagonal) {}
DiagonalVectorType::Nested m_diagonal

Member Function Documentation

◆ diagonal()

template<typename DiagonalVectorType_ >
const DiagonalVectorType& Eigen::DiagonalWrapper< DiagonalVectorType_ >::diagonal ( ) const
inline
Returns
a const reference to the wrapped expression of diagonal coefficients.

Definition at line 367 of file DiagonalMatrix.h.

367 { return m_diagonal; }

Member Data Documentation

◆ m_diagonal

template<typename DiagonalVectorType_ >
DiagonalVectorType::Nested Eigen::DiagonalWrapper< DiagonalVectorType_ >::m_diagonal
protected

Definition at line 370 of file DiagonalMatrix.h.


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