Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::TriangularView< _MatrixType, _Mode > Class Template Reference

Expression of a triangular part in a matrix. More...

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

+ Inheritance diagram for Eigen::TriangularView< _MatrixType, _Mode >:
+ Collaboration diagram for Eigen::TriangularView< _MatrixType, _Mode >:

Public Types

enum  { Mode = _Mode , Flags = internal::traits<TriangularView>::Flags , TransposeMode , IsVectorAtCompileTime = false }
 
typedef TriangularViewImpl< _MatrixType, _Mode, typename internal::traits< _MatrixType >::StorageKindBase
 
typedef internal::traits< TriangularView >::Scalar Scalar
 
typedef _MatrixType MatrixType
 
typedef internal::traits< TriangularView >::StorageKind StorageKind
 
typedef internal::traits< TriangularView >::MatrixTypeNestedCleaned NestedExpression
 
typedef TriangularView< const MatrixConjugateReturnType, ModeConjugateReturnType
 
typedef TriangularView< const typename MatrixType::AdjointReturnType, TransposeModeAdjointReturnType
 
typedef TriangularView< typename MatrixType::TransposeReturnType, TransposeModeTransposeReturnType
 
typedef TriangularView< const typename MatrixType::ConstTransposeReturnType, TransposeModeConstTransposeReturnType
 

Public Member Functions

EIGEN_DEVICE_FUNC TriangularView (MatrixType &matrix)
 
TriangularViewoperator= (const TriangularView &other)
 
EIGEN_DEVICE_FUNC Index rows () const
 
EIGEN_DEVICE_FUNC Index cols () const
 
EIGEN_DEVICE_FUNC const NestedExpressionnestedExpression () const
 
EIGEN_DEVICE_FUNC NestedExpressionnestedExpression ()
 
EIGEN_DEVICE_FUNC const ConjugateReturnType conjugate () const
 
EIGEN_DEVICE_FUNC const AdjointReturnType adjoint () const
 
EIGEN_DEVICE_FUNC TransposeReturnType transpose ()
 
EIGEN_DEVICE_FUNC const ConstTransposeReturnType transpose () const
 
template<typename Other >
EIGEN_DEVICE_FUNC const Solve< TriangularView, Other > solve (const MatrixBase< Other > &other) const
 
EIGEN_DEVICE_FUNC SelfAdjointView< MatrixTypeNestedNonRef, ModeselfadjointView ()
 
EIGEN_DEVICE_FUNC const SelfAdjointView< MatrixTypeNestedNonRef, ModeselfadjointView () const
 
EIGEN_DEVICE_FUNC Scalar determinant () const
 

Protected Types

typedef internal::traits< TriangularView >::MatrixTypeNested MatrixTypeNested
 
typedef internal::traits< TriangularView >::MatrixTypeNestedNonRef MatrixTypeNestedNonRef
 
typedef internal::remove_all< typenameMatrixType::ConjugateReturnType >::type MatrixConjugateReturnType
 

Protected Attributes

MatrixTypeNested m_matrix
 

Detailed Description

template<typename _MatrixType, unsigned int _Mode>
class Eigen::TriangularView< _MatrixType, _Mode >

Expression of a triangular part in a matrix.

Parameters
MatrixTypethe type of the object in which we are taking the triangular part
Modethe kind of triangular matrix expression to construct. Can be Upper, Lower, UnitUpper, UnitLower, StrictlyUpper, or StrictlyLower. This is in fact a bit field; it must have either Upper or Lower, and additionally it may have UnitDiag or ZeroDiag or neither.

This class represents a triangular part of a matrix, not necessarily square. Strictly speaking, for rectangular matrices one should speak of "trapezoid" parts. This class is the return type of MatrixBase::triangularView() and SparseMatrixBase::triangularView(), and most of the time this is the only way it is used.

See also
MatrixBase::triangularView()

Member Typedef Documentation

◆ AdjointReturnType

template<typename _MatrixType , unsigned int _Mode>
typedef TriangularView<const typename MatrixType::AdjointReturnType,TransposeMode> Eigen::TriangularView< _MatrixType, _Mode >::AdjointReturnType

◆ Base

template<typename _MatrixType , unsigned int _Mode>
typedef TriangularViewImpl<_MatrixType, _Mode, typename internal::traits<_MatrixType>::StorageKind > Eigen::TriangularView< _MatrixType, _Mode >::Base

◆ ConjugateReturnType

template<typename _MatrixType , unsigned int _Mode>
typedef TriangularView<const MatrixConjugateReturnType,Mode> Eigen::TriangularView< _MatrixType, _Mode >::ConjugateReturnType

◆ ConstTransposeReturnType

template<typename _MatrixType , unsigned int _Mode>
typedef TriangularView<const typename MatrixType::ConstTransposeReturnType,TransposeMode> Eigen::TriangularView< _MatrixType, _Mode >::ConstTransposeReturnType

◆ MatrixConjugateReturnType

template<typename _MatrixType , unsigned int _Mode>
typedef internal::remove_all<typenameMatrixType::ConjugateReturnType>::type Eigen::TriangularView< _MatrixType, _Mode >::MatrixConjugateReturnType
protected

◆ MatrixType

template<typename _MatrixType , unsigned int _Mode>
typedef _MatrixType Eigen::TriangularView< _MatrixType, _Mode >::MatrixType

◆ MatrixTypeNested

template<typename _MatrixType , unsigned int _Mode>
typedef internal::traits<TriangularView>::MatrixTypeNested Eigen::TriangularView< _MatrixType, _Mode >::MatrixTypeNested
protected

◆ MatrixTypeNestedNonRef

template<typename _MatrixType , unsigned int _Mode>
typedef internal::traits<TriangularView>::MatrixTypeNestedNonRef Eigen::TriangularView< _MatrixType, _Mode >::MatrixTypeNestedNonRef
protected

◆ NestedExpression

template<typename _MatrixType , unsigned int _Mode>
typedef internal::traits<TriangularView>::MatrixTypeNestedCleaned Eigen::TriangularView< _MatrixType, _Mode >::NestedExpression

◆ Scalar

template<typename _MatrixType , unsigned int _Mode>
typedef internal::traits<TriangularView>::Scalar Eigen::TriangularView< _MatrixType, _Mode >::Scalar

◆ StorageKind

template<typename _MatrixType , unsigned int _Mode>
typedef internal::traits<TriangularView>::StorageKind Eigen::TriangularView< _MatrixType, _Mode >::StorageKind

◆ TransposeReturnType

template<typename _MatrixType , unsigned int _Mode>
typedef TriangularView<typename MatrixType::TransposeReturnType,TransposeMode> Eigen::TriangularView< _MatrixType, _Mode >::TransposeReturnType

Member Enumeration Documentation

◆ anonymous enum

template<typename _MatrixType , unsigned int _Mode>
anonymous enum
Enumerator
Mode 
Flags 
TransposeMode 
IsVectorAtCompileTime 
206 {
207 Mode = _Mode,
208 Flags = internal::traits<TriangularView>::Flags,
209 TransposeMode = (Mode & Upper ? Lower : 0)
210 | (Mode & Lower ? Upper : 0)
211 | (Mode & (UnitDiag))
212 | (Mode & (ZeroDiag)),
214 };
@ TransposeMode
Definition TriangularMatrix.h:209
@ Flags
Definition TriangularMatrix.h:208
@ Mode
Definition TriangularMatrix.h:207
@ IsVectorAtCompileTime
Definition TriangularMatrix.h:213
@ UnitDiag
Definition Constants.h:208
@ ZeroDiag
Definition Constants.h:210
@ Lower
Definition Constants.h:204
@ Upper
Definition Constants.h:206

Constructor & Destructor Documentation

◆ TriangularView()

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC Eigen::TriangularView< _MatrixType, _Mode >::TriangularView ( MatrixType matrix)
inlineexplicit
217 : m_matrix(matrix)
218 {}
MatrixTypeNested m_matrix
Definition TriangularMatrix.h:321

Member Function Documentation

◆ adjoint()

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC const AdjointReturnType Eigen::TriangularView< _MatrixType, _Mode >::adjoint ( ) const
inline
See also
MatrixBase::adjoint() const
249 { return AdjointReturnType(m_matrix.adjoint()); }
TriangularView< const typename MatrixType::AdjointReturnType, TransposeMode > AdjointReturnType
Definition TriangularMatrix.h:245

References Eigen::TriangularView< _MatrixType, _Mode >::m_matrix.

Referenced by Eigen::internal::apply_block_householder_on_the_left().

+ Here is the caller graph for this function:

◆ cols()

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC Index Eigen::TriangularView< _MatrixType, _Mode >::cols ( ) const
inline

Returns
the number of columns.
See also
rows(), ColsAtCompileTime
229{ return m_matrix.cols(); }

References Eigen::TriangularView< _MatrixType, _Mode >::m_matrix.

Referenced by Eigen::TriangularBase< Derived >::evalToLazy(), Eigen::MatrixBase< Derived >::isLowerTriangular(), and Eigen::MatrixBase< Derived >::isUpperTriangular().

+ Here is the caller graph for this function:

◆ conjugate()

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC const ConjugateReturnType Eigen::TriangularView< _MatrixType, _Mode >::conjugate ( ) const
inline
See also
MatrixBase::conjugate() const
243 { return ConjugateReturnType(m_matrix.conjugate()); }
TriangularView< const MatrixConjugateReturnType, Mode > ConjugateReturnType
Definition TriangularMatrix.h:239

References Eigen::TriangularView< _MatrixType, _Mode >::m_matrix.

◆ determinant()

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC Scalar Eigen::TriangularView< _MatrixType, _Mode >::determinant ( ) const
inline
Returns
the determinant of the triangular matrix
See also
MatrixBase::determinant()
310 {
311 if (Mode & UnitDiag)
312 return 1;
313 else if (Mode & ZeroDiag)
314 return 0;
315 else
316 return m_matrix.diagonal().prod();
317 }

References Eigen::TriangularView< _MatrixType, _Mode >::m_matrix, Eigen::TriangularView< _MatrixType, _Mode >::Mode, Eigen::UnitDiag, and Eigen::ZeroDiag.

◆ nestedExpression() [1/2]

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC NestedExpression & Eigen::TriangularView< _MatrixType, _Mode >::nestedExpression ( )
inline
Returns
a reference to the nested expression
237{ return m_matrix; }

References Eigen::TriangularView< _MatrixType, _Mode >::m_matrix.

◆ nestedExpression() [2/2]

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC const NestedExpression & Eigen::TriangularView< _MatrixType, _Mode >::nestedExpression ( ) const
inline
Returns
a const reference to the nested expression
233{ return m_matrix; }

References Eigen::TriangularView< _MatrixType, _Mode >::m_matrix.

Referenced by Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::operator*=(), and Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::operator/=().

+ Here is the caller graph for this function:

◆ operator=()

template<typename _MatrixType , unsigned int _Mode>
TriangularView & Eigen::TriangularView< _MatrixType, _Mode >::operator= ( const TriangularView< _MatrixType, _Mode > &  other)
inline
222 { return Base::operator=(other); }

◆ rows()

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC Index Eigen::TriangularView< _MatrixType, _Mode >::rows ( ) const
inline

Returns
the number of rows.
See also
cols(), RowsAtCompileTime
226{ return m_matrix.rows(); }

References Eigen::TriangularView< _MatrixType, _Mode >::m_matrix.

Referenced by Eigen::TriangularBase< Derived >::evalToLazy(), Eigen::MatrixBase< Derived >::isLowerTriangular(), and Eigen::MatrixBase< Derived >::isUpperTriangular().

+ Here is the caller graph for this function:

◆ selfadjointView() [1/2]

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC SelfAdjointView< MatrixTypeNestedNonRef, Mode > Eigen::TriangularView< _MatrixType, _Mode >::selfadjointView ( )
inline
Returns
a selfadjoint view of the referenced triangular part which must be either Upper or Lower.

This is a shortcut for

this->nestedExpression().selfadjointView<(*this)::Mode>()
EIGEN_DEVICE_FUNC const NestedExpression & nestedExpression() const
Definition TriangularMatrix.h:233
See also
MatrixBase::selfadjointView()
292 {
293 EIGEN_STATIC_ASSERT((Mode&(UnitDiag|ZeroDiag))==0,PROGRAMMING_ERROR);
294 return SelfAdjointView<MatrixTypeNestedNonRef,Mode>(m_matrix);
295 }
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition StaticAssert.h:124

References EIGEN_STATIC_ASSERT, Eigen::TriangularView< _MatrixType, _Mode >::m_matrix, Eigen::TriangularView< _MatrixType, _Mode >::Mode, Eigen::UnitDiag, and Eigen::ZeroDiag.

◆ selfadjointView() [2/2]

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC const SelfAdjointView< MatrixTypeNestedNonRef, Mode > Eigen::TriangularView< _MatrixType, _Mode >::selfadjointView ( ) const
inline

This is the const version of selfadjointView()

300 {
301 EIGEN_STATIC_ASSERT((Mode&(UnitDiag|ZeroDiag))==0,PROGRAMMING_ERROR);
302 return SelfAdjointView<MatrixTypeNestedNonRef,Mode>(m_matrix);
303 }

References EIGEN_STATIC_ASSERT, Eigen::TriangularView< _MatrixType, _Mode >::m_matrix, Eigen::TriangularView< _MatrixType, _Mode >::Mode, Eigen::UnitDiag, and Eigen::ZeroDiag.

◆ solve()

template<typename _MatrixType , unsigned int _Mode>
template<typename Other >
EIGEN_DEVICE_FUNC const Solve< TriangularView, Other > Eigen::TriangularView< _MatrixType, _Mode >::solve ( const MatrixBase< Other > &  other) const
inline
273 { return Solve<TriangularView, Other>(*this, other.derived()); }

◆ transpose() [1/2]

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC TransposeReturnType Eigen::TriangularView< _MatrixType, _Mode >::transpose ( )
inline
See also
MatrixBase::transpose()
255 {
257 typename MatrixType::TransposeReturnType tmp(m_matrix);
258 return TransposeReturnType(tmp);
259 }
#define EIGEN_STATIC_ASSERT_LVALUE(Derived)
Definition StaticAssert.h:199
TriangularView< typename MatrixType::TransposeReturnType, TransposeMode > TransposeReturnType
Definition TriangularMatrix.h:251
_MatrixType MatrixType
Definition TriangularMatrix.h:193

References EIGEN_STATIC_ASSERT_LVALUE, and Eigen::TriangularView< _MatrixType, _Mode >::m_matrix.

◆ transpose() [2/2]

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC const ConstTransposeReturnType Eigen::TriangularView< _MatrixType, _Mode >::transpose ( ) const
inline
See also
MatrixBase::transpose() const
265 {
266 return ConstTransposeReturnType(m_matrix.transpose());
267 }
TriangularView< const typename MatrixType::ConstTransposeReturnType, TransposeMode > ConstTransposeReturnType
Definition TriangularMatrix.h:261

References Eigen::TriangularView< _MatrixType, _Mode >::m_matrix.

Member Data Documentation

◆ m_matrix


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