Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends
Eigen::TriangularView< _MatrixType, _Mode > Class Template Reference

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

#include <TriangularMatrix.h>

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

List of all members.

Public Types

enum  { Mode = _Mode, TransposeMode }
typedef TriangularBase
< TriangularView
Base
typedef internal::traits
< TriangularView >
::DenseMatrixType 
DenseMatrixType
typedef internal::traits
< TriangularView >::Index 
Index
typedef _MatrixType MatrixType
typedef DenseMatrixType PlainObject
typedef internal::traits
< TriangularView >::Scalar 
Scalar
typedef internal::traits
< TriangularView >
::StorageKind 
StorageKind

Public Member Functions

const TriangularView< const
typename
MatrixType::AdjointReturnType,
TransposeMode
adjoint () const
template<typename ProductDerived , typename _Lhs , typename _Rhs >
TriangularView< MatrixType,
UpLo > & 
assignProduct (const ProductBase< ProductDerived, _Lhs, _Rhs > &prod, const Scalar &alpha)
Scalar coeff (Index row, Index col) const
ScalarcoeffRef (Index row, Index col)
Index cols () const
TriangularView
< MatrixConjugateReturnType,
Mode
conjugate ()
const TriangularView
< MatrixConjugateReturnType,
Mode
conjugate () const
Scalar determinant () const
void fill (const Scalar &value)
Index innerStride () const
template<typename OtherDerived >
void lazyAssign (const TriangularBase< OtherDerived > &other)
template<typename OtherDerived >
void lazyAssign (const MatrixBase< OtherDerived > &other)
const MatrixTypeNestedCleanednestedExpression () const
MatrixTypeNestedCleanednestedExpression ()
template<typename OtherDerived >
TriangularProduct< Mode, true,
MatrixType, false,
OtherDerived,
OtherDerived::IsVectorAtCompileTime > 
operator* (const MatrixBase< OtherDerived > &rhs) const
TriangularViewoperator*= (const typename internal::traits< MatrixType >::Scalar &other)
template<typename Other >
TriangularViewoperator+= (const DenseBase< Other > &other)
template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE
TriangularView
operator+= (const ProductBase< ProductDerived, Lhs, Rhs > &other)
template<typename ProductDerived >
EIGEN_STRONG_INLINE
TriangularView
operator+= (const ScaledProduct< ProductDerived > &other)
template<typename Other >
TriangularViewoperator-= (const DenseBase< Other > &other)
template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE
TriangularView
operator-= (const ProductBase< ProductDerived, Lhs, Rhs > &other)
template<typename ProductDerived >
EIGEN_STRONG_INLINE
TriangularView
operator-= (const ScaledProduct< ProductDerived > &other)
TriangularViewoperator/= (const typename internal::traits< MatrixType >::Scalar &other)
template<typename OtherDerived >
TriangularViewoperator= (const TriangularBase< OtherDerived > &other)
template<typename OtherDerived >
TriangularViewoperator= (const MatrixBase< OtherDerived > &other)
TriangularViewoperator= (const TriangularView &other)
template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE
TriangularView
operator= (const ProductBase< ProductDerived, Lhs, Rhs > &other)
template<typename ProductDerived >
EIGEN_STRONG_INLINE
TriangularView
operator= (const ScaledProduct< ProductDerived > &other)
Index outerStride () const
Index rows () const
const SelfAdjointView
< MatrixTypeNestedNonRef, Mode
selfadjointView () const
SelfAdjointView
< MatrixTypeNestedNonRef, Mode
selfadjointView ()
TriangularViewsetConstant (const Scalar &value)
TriangularViewsetOnes ()
TriangularViewsetZero ()
template<int Side, typename Other >
const
internal::triangular_solve_retval
< Side, TriangularView, Other > 
solve (const MatrixBase< Other > &other) const
template<typename Other >
const
internal::triangular_solve_retval
< OnTheLeft, TriangularView,
Other > 
solve (const MatrixBase< Other > &other) const
template<int Side, typename OtherDerived >
void solveInPlace (const MatrixBase< OtherDerived > &other) const
template<typename OtherDerived >
void solveInPlace (const MatrixBase< OtherDerived > &other) const
template<typename OtherDerived >
void swap (TriangularBase< OtherDerived > const &other)
template<typename OtherDerived >
void swap (MatrixBase< OtherDerived > const &other)
TriangularView< Transpose
< MatrixType >, TransposeMode
transpose ()
const TriangularView
< Transpose< MatrixType >
, TransposeMode
transpose () const
 TriangularView (const MatrixType &matrix)

Protected Types

typedef internal::remove_all
< typename
MatrixType::ConjugateReturnType >
::type 
MatrixConjugateReturnType
typedef internal::traits
< TriangularView >
::MatrixTypeNested 
MatrixTypeNested
typedef internal::traits
< TriangularView >
::MatrixTypeNestedCleaned 
MatrixTypeNestedCleaned
typedef internal::traits
< TriangularView >
::MatrixTypeNestedNonRef 
MatrixTypeNestedNonRef

Protected Member Functions

template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE
TriangularView
assignProduct (const ProductBase< ProductDerived, Lhs, Rhs > &prod, const Scalar &alpha)

Protected Attributes

MatrixTypeNested m_matrix

Friends

template<typename OtherDerived >
TriangularProduct< Mode, false,
OtherDerived,
OtherDerived::IsVectorAtCompileTime,
MatrixType, false > 
operator* (const MatrixBase< OtherDerived > &lhs, const TriangularView &rhs)

Detailed Description

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

Base class for 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 additionnaly 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 most of the time this is the only way it is used.

See also:
MatrixBase::triangularView()

Definition at line 158 of file TriangularMatrix.h.


Member Typedef Documentation

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

Definition at line 163 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
typedef internal::traits<TriangularView>::DenseMatrixType Eigen::TriangularView< _MatrixType, _Mode >::DenseMatrixType
template<typename _MatrixType, unsigned int _Mode>
typedef internal::traits<TriangularView>::Index Eigen::TriangularView< _MatrixType, _Mode >::Index
template<typename _MatrixType, unsigned int _Mode>
typedef internal::remove_all<typename MatrixType::ConjugateReturnType>::type Eigen::TriangularView< _MatrixType, _Mode >::MatrixConjugateReturnType [protected]

Definition at line 175 of file TriangularMatrix.h.

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

Definition at line 166 of file TriangularMatrix.h.

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

Definition at line 171 of file TriangularMatrix.h.

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

Definition at line 173 of file TriangularMatrix.h.

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

Definition at line 172 of file TriangularMatrix.h.

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

Definition at line 168 of file TriangularMatrix.h.

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

Member Enumeration Documentation

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

Definition at line 184 of file TriangularMatrix.h.


Constructor & Destructor Documentation

template<typename _MatrixType, unsigned int _Mode>
Eigen::TriangularView< _MatrixType, _Mode >::TriangularView ( const MatrixType matrix) [inline]

Definition at line 192 of file TriangularMatrix.h.


Member Function Documentation

template<typename _MatrixType, unsigned int _Mode>
const TriangularView<const typename MatrixType::AdjointReturnType,TransposeMode> Eigen::TriangularView< _MatrixType, _Mode >::adjoint ( ) const [inline]
See also:
MatrixBase::adjoint() const

Definition at line 264 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename ProductDerived , typename _Lhs , typename _Rhs >
TriangularView<MatrixType,UpLo>& Eigen::TriangularView< _MatrixType, _Mode >::assignProduct ( const ProductBase< ProductDerived, _Lhs, _Rhs > &  prod,
const Scalar alpha 
)

Definition at line 269 of file GeneralMatrixMatrixTriangular.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::assignProduct ( const ProductBase< ProductDerived, Lhs, Rhs > &  prod,
const Scalar alpha 
) [protected]
template<typename _MatrixType, unsigned int _Mode>
Scalar Eigen::TriangularView< _MatrixType, _Mode >::coeff ( Index  row,
Index  col 
) const [inline]
See also:
MatrixBase::coeff()
Warning:
the coordinates must fit into the referenced triangular part

Definition at line 222 of file TriangularMatrix.h.

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

Definition at line 231 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
Index Eigen::TriangularView< _MatrixType, _Mode >::cols ( void  ) const [inline]
Returns:
the number of columns.
See also:
rows(), ColsAtCompileTime

Reimplemented from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >.

Definition at line 196 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
TriangularView<MatrixConjugateReturnType,Mode> Eigen::TriangularView< _MatrixType, _Mode >::conjugate ( ) [inline]
See also:
MatrixBase::conjugate()

Definition at line 257 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
const TriangularView<MatrixConjugateReturnType,Mode> Eigen::TriangularView< _MatrixType, _Mode >::conjugate ( ) const [inline]
See also:
MatrixBase::conjugate() const

Definition at line 260 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
Scalar Eigen::TriangularView< _MatrixType, _Mode >::determinant ( ) const [inline]

Definition at line 368 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
void Eigen::TriangularView< _MatrixType, _Mode >::fill ( const Scalar value) [inline]
See also:
MatrixBase::fill()

Definition at line 210 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
Index Eigen::TriangularView< _MatrixType, _Mode >::innerStride ( ) const [inline]
template<typename MatrixType , unsigned int Mode>
template<typename OtherDerived >
void Eigen::TriangularView< MatrixType, Mode >::lazyAssign ( const TriangularBase< OtherDerived > &  other)

Definition at line 647 of file TriangularMatrix.h.

template<typename MatrixType , unsigned int Mode>
template<typename OtherDerived >
void Eigen::TriangularView< MatrixType, Mode >::lazyAssign ( const MatrixBase< OtherDerived > &  other)

Definition at line 610 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
const MatrixTypeNestedCleaned& Eigen::TriangularView< _MatrixType, _Mode >::nestedExpression ( ) const [inline]

Definition at line 237 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
MatrixTypeNestedCleaned& Eigen::TriangularView< _MatrixType, _Mode >::nestedExpression ( ) [inline]

Definition at line 238 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename OtherDerived >
TriangularProduct<Mode,true,MatrixType,false,OtherDerived, OtherDerived::IsVectorAtCompileTime> Eigen::TriangularView< _MatrixType, _Mode >::operator* ( const MatrixBase< OtherDerived > &  rhs) const [inline]

Efficient triangular matrix times vector/matrix product

Definition at line 282 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator*= ( const typename internal::traits< MatrixType >::Scalar other) [inline]
See also:
MatrixBase::operator*=()

Definition at line 205 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename Other >
TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator+= ( const DenseBase< Other > &  other) [inline]
See also:
MatrixBase::operator+=()

Definition at line 201 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator+= ( const ProductBase< ProductDerived, Lhs, Rhs > &  other) [inline]

Definition at line 387 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename ProductDerived >
EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator+= ( const ScaledProduct< ProductDerived > &  other) [inline]

Definition at line 407 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename Other >
TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator-= ( const DenseBase< Other > &  other) [inline]
See also:
MatrixBase::operator-=()

Definition at line 203 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator-= ( const ProductBase< ProductDerived, Lhs, Rhs > &  other) [inline]

Definition at line 393 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename ProductDerived >
EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator-= ( const ScaledProduct< ProductDerived > &  other) [inline]

Definition at line 413 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator/= ( const typename internal::traits< MatrixType >::Scalar other) [inline]
See also:
MatrixBase::operator/=()

Definition at line 207 of file TriangularMatrix.h.

template<typename MatrixType , unsigned int Mode>
template<typename OtherDerived >
TriangularView< MatrixType, Mode > & Eigen::TriangularView< MatrixType, Mode >::operator= ( const TriangularBase< OtherDerived > &  other) [inline]

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

Definition at line 631 of file TriangularMatrix.h.

template<typename MatrixType , unsigned int Mode>
template<typename OtherDerived >
TriangularView< MatrixType, Mode > & Eigen::TriangularView< MatrixType, Mode >::operator= ( const MatrixBase< OtherDerived > &  other) [inline]

Definition at line 594 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator= ( const TriangularView< _MatrixType, _Mode > &  other) [inline]

Definition at line 247 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator= ( const ProductBase< ProductDerived, Lhs, Rhs > &  other) [inline]

Definition at line 380 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename ProductDerived >
EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator= ( const ScaledProduct< ProductDerived > &  other) [inline]

Definition at line 400 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
Index Eigen::TriangularView< _MatrixType, _Mode >::outerStride ( ) const [inline]
template<typename _MatrixType, unsigned int _Mode>
Index Eigen::TriangularView< _MatrixType, _Mode >::rows ( void  ) const [inline]
Returns:
the number of rows.
See also:
cols(), RowsAtCompileTime

Reimplemented from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >.

Definition at line 195 of file TriangularMatrix.h.

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

Definition at line 344 of file TriangularMatrix.h.

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

Definition at line 349 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::setConstant ( const Scalar value) [inline]
See also:
MatrixBase::setConstant()

Definition at line 212 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::setOnes ( ) [inline]
See also:
MatrixBase::setOnes()

Definition at line 217 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::setZero ( ) [inline]
See also:
MatrixBase::setZero()

Definition at line 215 of file TriangularMatrix.h.

template<typename Derived , unsigned int Mode>
template<int Side, typename Other >
const internal::triangular_solve_retval< Side, TriangularView< Derived, Mode >, Other > Eigen::TriangularView< Derived, Mode >::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.

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()

Definition at line 216 of file SolveTriangular.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename Other >
const internal::triangular_solve_retval<OnTheLeft,TriangularView, Other> Eigen::TriangularView< _MatrixType, _Mode >::solve ( const MatrixBase< Other > &  other) const [inline]

Definition at line 337 of file TriangularMatrix.h.

template<typename MatrixType , unsigned int Mode>
template<int Side, typename OtherDerived >
void Eigen::TriangularView< MatrixType, Mode >::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.

See TriangularView:solve() for the details.

Definition at line 174 of file SolveTriangular.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename OtherDerived >
void Eigen::TriangularView< _MatrixType, _Mode >::solveInPlace ( const MatrixBase< OtherDerived > &  other) const [inline]

Definition at line 341 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename OtherDerived >
void Eigen::TriangularView< _MatrixType, _Mode >::swap ( TriangularBase< OtherDerived > const &  other) [inline]

Definition at line 356 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
template<typename OtherDerived >
void Eigen::TriangularView< _MatrixType, _Mode >::swap ( MatrixBase< OtherDerived > const &  other) [inline]

Definition at line 362 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
TriangularView<Transpose<MatrixType>,TransposeMode> Eigen::TriangularView< _MatrixType, _Mode >::transpose ( ) [inline]
See also:
MatrixBase::transpose()

Definition at line 268 of file TriangularMatrix.h.

template<typename _MatrixType, unsigned int _Mode>
const TriangularView<Transpose<MatrixType>,TransposeMode> Eigen::TriangularView< _MatrixType, _Mode >::transpose ( ) const [inline]
See also:
MatrixBase::transpose() const

Definition at line 274 of file TriangularMatrix.h.


Friends And Related Function Documentation

template<typename _MatrixType, unsigned int _Mode>
template<typename OtherDerived >
TriangularProduct<Mode,false,OtherDerived,OtherDerived::IsVectorAtCompileTime,MatrixType,false> operator* ( const MatrixBase< OtherDerived > &  lhs,
const TriangularView< _MatrixType, _Mode > &  rhs 
) [friend]

Efficient vector/matrix times triangular matrix product

Definition at line 292 of file TriangularMatrix.h.


Member Data Documentation

template<typename _MatrixType, unsigned int _Mode>
MatrixTypeNested Eigen::TriangularView< _MatrixType, _Mode >::m_matrix [protected]

Definition at line 423 of file TriangularMatrix.h.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Sat Jun 8 2019 19:40:55