Public Types | Public Member Functions | Friends | List of all members
Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense > Class Template Reference

Base class for a triangular part in a dense matrix. More...

#include <TriangularMatrix.h>

Inheritance diagram for Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >:
Inheritance graph
[legend]

Public Types

enum  { Mode = _Mode, Flags = internal::traits<TriangularViewType>::Flags }
 
typedef TriangularBase< TriangularViewTypeBase
 
typedef MatrixType::PlainObject DenseMatrixType
 
typedef _MatrixType MatrixType
 
typedef DenseMatrixType PlainObject
 
typedef internal::traits< TriangularViewType >::Scalar Scalar
 
typedef internal::traits< TriangularViewType >::StorageKind StorageKind
 
typedef TriangularView< _MatrixType, _Mode > TriangularViewType
 
- Public Types inherited from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >
enum  
 
typedef internal::traits< TriangularView< _MatrixType, _Mode > >::FullMatrixType DenseMatrixType
 
typedef DenseMatrixType DenseType
 
typedef TriangularView< _MatrixType, _Mode >const & Nested
 
typedef internal::traits< TriangularView< _MatrixType, _Mode > >::Scalar Scalar
 
typedef internal::traits< TriangularView< _MatrixType, _Mode > >::StorageIndex StorageIndex
 
typedef internal::traits< TriangularView< _MatrixType, _Mode > >::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
 

Public Member Functions

template<typename ProductType >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TriangularViewType_assignProduct (const ProductType &prod, const Scalar &alpha, bool beta)
 
template<typename RhsType , typename DstType >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void _solve_impl (const RhsType &rhs, DstType &dst) const
 
EIGEN_DEVICE_FUNC Scalar coeff (Index row, Index col) const
 
EIGEN_DEVICE_FUNC ScalarcoeffRef (Index row, Index col)
 
EIGEN_DEVICE_FUNC void fill (const Scalar &value)
 
EIGEN_DEVICE_FUNC Index innerStride () const
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC void lazyAssign (const TriangularBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC void lazyAssign (const MatrixBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC const Product< TriangularViewType, OtherDerived > operator* (const MatrixBase< OtherDerived > &rhs) const
 
EIGEN_DEVICE_FUNC TriangularViewTypeoperator*= (const typename internal::traits< MatrixType >::Scalar &other)
 
template<typename Other >
EIGEN_DEVICE_FUNC TriangularViewTypeoperator+= (const DenseBase< Other > &other)
 
template<typename Other >
EIGEN_DEVICE_FUNC TriangularViewTypeoperator-= (const DenseBase< Other > &other)
 
EIGEN_DEVICE_FUNC TriangularViewTypeoperator/= (const typename internal::traits< MatrixType >::Scalar &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC TriangularViewTypeoperator= (const TriangularBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC TriangularViewTypeoperator= (const MatrixBase< OtherDerived > &other)
 
EIGEN_DEVICE_FUNC TriangularViewTypeoperator= (const TriangularViewImpl &other)
 
EIGEN_DEVICE_FUNC Index outerStride () const
 
EIGEN_DEVICE_FUNC TriangularViewTypesetConstant (const Scalar &value)
 
EIGEN_DEVICE_FUNC TriangularViewTypesetOnes ()
 
EIGEN_DEVICE_FUNC TriangularViewTypesetZero ()
 
template<int Side, typename Other >
EIGEN_DEVICE_FUNC const internal::triangular_solve_retval< Side, TriangularViewType, Other > solve (const MatrixBase< Other > &other) const
 
template<int Side, typename OtherDerived >
EIGEN_DEVICE_FUNC void solveInPlace (const MatrixBase< OtherDerived > &other) const
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC void solveInPlace (const MatrixBase< OtherDerived > &other) const
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC void swap (TriangularBase< OtherDerived > const &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC void swap (MatrixBase< OtherDerived > const &other)
 
- Public Member Functions inherited from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >
EIGEN_DEVICE_FUNC Scalar coeff (Index row, Index col) const
 
EIGEN_DEVICE_FUNC ScalarcoeffRef (Index row, Index col)
 
EIGEN_DEVICE_FUNC Index cols () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void copyCoeff (Index row, Index col, Other &other)
 
EIGEN_DEVICE_FUNC const TriangularView< _MatrixType, _Mode > & derived () const
 
EIGEN_DEVICE_FUNC TriangularView< _MatrixType, _Mode > & derived ()
 
EIGEN_DEVICE_FUNC void evalTo (MatrixBase< DenseDerived > &other) const
 
EIGEN_DEVICE_FUNC void evalToLazy (MatrixBase< DenseDerived > &other) const
 
EIGEN_DEVICE_FUNC Index innerStride () const
 
EIGEN_DEVICE_FUNC Scalar operator() (Index row, Index col) const
 
EIGEN_DEVICE_FUNC Scalaroperator() (Index row, Index col)
 
EIGEN_DEVICE_FUNC Index outerStride () const
 
void resize (Index rows, Index cols)
 
EIGEN_DEVICE_FUNC Index rows () const
 
EIGEN_DEVICE_FUNC DenseMatrixType toDenseMatrix () const
 
EIGEN_DEVICE_FUNC TriangularBase ()
 
- Public Member Functions inherited from Eigen::EigenBase< Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void addTo (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void applyThisOnTheLeft (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void applyThisOnTheRight (Dest &dst) const
 
EIGEN_DEVICE_FUNC Index cols () const
 
EIGEN_DEVICE_FUNC Derived & const_cast_derived () const
 
EIGEN_DEVICE_FUNC const Derived & const_derived () const
 
EIGEN_DEVICE_FUNC Derived & derived ()
 
EIGEN_DEVICE_FUNC const Derived & derived () const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void evalTo (Dest &dst) const
 
EIGEN_DEVICE_FUNC Index rows () const
 
EIGEN_DEVICE_FUNC Index size () const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void subTo (Dest &dst) const
 

Friends

template<typename OtherDerived >
EIGEN_DEVICE_FUNC const Product< OtherDerived, TriangularViewTypeoperator* (const MatrixBase< OtherDerived > &lhs, const TriangularViewImpl &rhs)
 

Additional Inherited Members

- Protected Member Functions inherited from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >
void check_coordinates (Index row, Index col) const
 
void check_coordinates_internal (Index, Index) const
 

Detailed Description

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

Base class for a triangular part in a dense matrix.

This class is an abstract base class of class TriangularView, and objects of type TriangularViewImpl cannot be instantiated. It extends class TriangularView with additional methods which available for dense expressions only.

See also
class TriangularView, MatrixBase::triangularView()

Definition at line 333 of file TriangularMatrix.h.

Member Typedef Documentation

template<typename _MatrixType , unsigned int _Mode>
typedef TriangularBase<TriangularViewType> Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::Base

Definition at line 339 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
typedef MatrixType::PlainObject Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::DenseMatrixType

Definition at line 343 of file TriangularMatrix.h.

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

Definition at line 342 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
typedef DenseMatrixType Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::PlainObject

Definition at line 344 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
typedef internal::traits<TriangularViewType>::Scalar Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::Scalar

Definition at line 340 of file TriangularMatrix.h.

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

Definition at line 350 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
typedef TriangularView<_MatrixType, _Mode> Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::TriangularViewType

Definition at line 338 of file TriangularMatrix.h.

Member Enumeration Documentation

template<typename _MatrixType , unsigned int _Mode>
anonymous enum
Enumerator
Mode 
Flags 

Definition at line 352 of file TriangularMatrix.h.

Member Function Documentation

template<typename _MatrixType , unsigned int _Mode>
template<typename ProductType >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TriangularViewType& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::_assignProduct ( const ProductType &  prod,
const Scalar alpha,
bool  beta 
)
template<typename _MatrixType , unsigned int _Mode>
template<typename RhsType , typename DstType >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::_solve_impl ( const RhsType &  rhs,
DstType &  dst 
) const
inline

Definition at line 538 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC Scalar Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::coeff ( Index  row,
Index  col 
) const
inline
See also
MatrixBase::coeff()
Warning
the coordinates must fit into the referenced triangular part

Definition at line 406 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC Scalar& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::coeffRef ( Index  row,
Index  col 
)
inline
See also
MatrixBase::coeffRef()
Warning
the coordinates must fit into the referenced triangular part

Definition at line 416 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC void Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::fill ( const Scalar value)
inline
See also
MatrixBase::fill()

Definition at line 390 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC Index Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::innerStride ( ) const
inline
Returns
the inner-stride of the underlying dense matrix
See also
DenseCoeffsBase::innerStride()

Definition at line 364 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC void Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::lazyAssign ( const TriangularBase< OtherDerived > &  other)
template<typename _MatrixType , unsigned int _Mode>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC void Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::lazyAssign ( const MatrixBase< OtherDerived > &  other)
template<typename _MatrixType , unsigned int _Mode>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC const Product<TriangularViewType,OtherDerived> Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::operator* ( const MatrixBase< OtherDerived > &  rhs) const
inline

Efficient triangular matrix times vector/matrix product

Definition at line 453 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC TriangularViewType& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::operator*= ( const typename internal::traits< MatrixType >::Scalar other)
inline
See also
MatrixBase::operator*=()

Definition at line 383 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
template<typename Other >
EIGEN_DEVICE_FUNC TriangularViewType& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::operator+= ( const DenseBase< Other > &  other)
inline
See also
MatrixBase::operator+=()

Definition at line 369 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
template<typename Other >
EIGEN_DEVICE_FUNC TriangularViewType& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::operator-= ( const DenseBase< Other > &  other)
inline
See also
MatrixBase::operator-=()

Definition at line 376 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC TriangularViewType& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::operator/= ( const typename internal::traits< MatrixType >::Scalar other)
inline
See also
DenseBase::operator/=()

Definition at line 386 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC TriangularViewType& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::operator= ( const TriangularBase< OtherDerived > &  other)

Assigns a triangular matrix to a triangular part of a dense matrix

template<typename _MatrixType , unsigned int _Mode>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC TriangularViewType& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::operator= ( const MatrixBase< OtherDerived > &  other)

Shortcut for

*this = other.other.triangularView<(*this)::Mode>()
template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC TriangularViewType& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::operator= ( const TriangularViewImpl< _MatrixType, _Mode, Dense > &  other)
inline

Definition at line 435 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC Index Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::outerStride ( ) const
inline
Returns
the outer-stride of the underlying dense matrix
See also
DenseCoeffsBase::outerStride()

Definition at line 360 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC TriangularViewType& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::setConstant ( const Scalar value)
inline
See also
MatrixBase::setConstant()

Definition at line 393 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC TriangularViewType& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::setOnes ( )
inline
See also
MatrixBase::setOnes()

Definition at line 400 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
EIGEN_DEVICE_FUNC TriangularViewType& Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::setZero ( )
inline
See also
MatrixBase::setZero()

Definition at line 397 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
template<int Side, typename Other >
EIGEN_DEVICE_FUNC const internal::triangular_solve_retval<Side,TriangularViewType, Other> Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::solve ( const MatrixBase< Other > &  other) const
inline
Returns
the product of the inverse of *this with other, *this being triangular.

This function computes the inverse-matrix matrix product inverse(*this) * other if Side==OnTheLeft (the default), or the right-inverse-multiply other * inverse(*this) if Side==OnTheRight.

Note that the template parameter Side can be ommitted, in which case Side==OnTheLeft

The matrix *this must be triangular and invertible (i.e., all the coefficients of the diagonal must be non zero). It works as a forward (resp. backward) substitution if *this is an upper (resp. lower) triangular matrix.

Example:

Output:

This function returns an expression of the inverse-multiply and can works in-place if it is assigned to the same matrix or vector other.

For users coming from BLAS, this function (and more specifically solveInPlace()) offer all the operations supported by the *TRSV and *TRSM BLAS routines.

See also
TriangularView::solveInPlace()
template<typename _MatrixType , unsigned int _Mode>
template<int Side, typename OtherDerived >
EIGEN_DEVICE_FUNC void Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::solveInPlace ( const MatrixBase< OtherDerived > &  other) const

"in-place" version of TriangularView::solve() where the result is written in other

Warning
The parameter is only marked 'const' to make the C++ compiler accept a temporary expression here. This function will const_cast it, so constness isn't honored here.

Note that the template parameter Side can be ommitted, in which case Side==OnTheLeft

See TriangularView:solve() for the details.

template<typename _MatrixType , unsigned int _Mode>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC void Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::solveInPlace ( const MatrixBase< OtherDerived > &  other) const
inline

Definition at line 510 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC void Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::swap ( TriangularBase< OtherDerived > const &  other)
inline

Swaps the coefficients of the common triangular parts of two matrices

Definition at line 519 of file TriangularMatrix.h.

template<typename _MatrixType , unsigned int _Mode>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC void Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::swap ( MatrixBase< OtherDerived > const &  other)
inline
Deprecated:
Shortcut for
(*this).swap(other.triangularView<(*this)::Mode>())

Definition at line 530 of file TriangularMatrix.h.

Friends And Related Function Documentation

template<typename _MatrixType , unsigned int _Mode>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC const Product<OtherDerived,TriangularViewType> operator* ( const MatrixBase< OtherDerived > &  lhs,
const TriangularViewImpl< _MatrixType, _Mode, Dense > &  rhs 
)
friend

Efficient vector/matrix times triangular matrix product

Definition at line 462 of file TriangularMatrix.h.


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


hebiros
Author(s): Xavier Artache , Matthew Tesch
autogenerated on Thu Sep 3 2020 04:10:27