Base class for triangular part in a matrix.
| MatrixType | the type of the object in which we are taking the triangular part |
| Mode | the 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.

Public Types | |
| enum | { Mode = _Mode, TransposeMode } |
| typedef TriangularBase < TriangularView > | Base |
| typedef internal::traits < TriangularView >::Scalar | Scalar |
| typedef _MatrixType | MatrixType |
| typedef internal::traits < TriangularView > ::DenseMatrixType | DenseMatrixType |
| typedef DenseMatrixType | PlainObject |
| typedef internal::traits < TriangularView > ::StorageKind | StorageKind |
| typedef internal::traits < TriangularView >::Index | Index |
| enum | |
| typedef DenseMatrixType | DenseType |
Public Member Functions | |
| TriangularView (const MatrixType &matrix) | |
| Index | rows () const |
| Index | cols () const |
| Index | outerStride () const |
| Index | innerStride () const |
| template<typename Other > | |
| TriangularView & | operator+= (const DenseBase< Other > &other) |
| template<typename Other > | |
| TriangularView & | operator-= (const DenseBase< Other > &other) |
| TriangularView & | operator*= (const typename internal::traits< MatrixType >::Scalar &other) |
| TriangularView & | operator/= (const typename internal::traits< MatrixType >::Scalar &other) |
| void | fill (const Scalar &value) |
| TriangularView & | setConstant (const Scalar &value) |
| TriangularView & | setZero () |
| TriangularView & | setOnes () |
| Scalar | coeff (Index row, Index col) const |
| Scalar & | coeffRef (Index row, Index col) |
| const MatrixTypeNestedCleaned & | nestedExpression () const |
| MatrixTypeNestedCleaned & | nestedExpression () |
| template<typename OtherDerived > | |
| TriangularView & | operator= (const TriangularBase< OtherDerived > &other) |
| Assigns a triangular matrix to a triangular part of a dense matrix. | |
| template<typename OtherDerived > | |
| TriangularView & | operator= (const MatrixBase< OtherDerived > &other) |
| TriangularView & | operator= (const TriangularView &other) |
| template<typename OtherDerived > | |
| void | lazyAssign (const TriangularBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| void | lazyAssign (const MatrixBase< OtherDerived > &other) |
| TriangularView < MatrixConjugateReturnType, Mode > | conjugate () |
| const TriangularView < MatrixConjugateReturnType, Mode > | conjugate () const |
| TriangularView< typename MatrixType::AdjointReturnType, TransposeMode > | adjoint () |
| const TriangularView< typename MatrixType::AdjointReturnType, TransposeMode > | adjoint () const |
| TriangularView< Transpose < MatrixType >, TransposeMode > | transpose () |
| const TriangularView < Transpose< MatrixType > , TransposeMode > | transpose () const |
| template<typename OtherDerived > | |
| TriangularProduct< Mode, true, MatrixType, false, OtherDerived, OtherDerived::IsVectorAtCompileTime > | operator* (const MatrixBase< OtherDerived > &rhs) const |
| Efficient triangular matrix times vector/matrix product. | |
| template<int Side, typename Other > | |
| const internal::triangular_solve_retval < Side, TriangularView, Other > | solve (const MatrixBase< Other > &other) const |
| template<int Side, typename OtherDerived > | |
| void | solveInPlace (const MatrixBase< OtherDerived > &other) const |
| "in-place" version of TriangularView::solve() where the result is written in other | |
| template<typename Other > | |
| const internal::triangular_solve_retval < OnTheLeft, TriangularView, Other > | solve (const MatrixBase< Other > &other) const |
| template<typename OtherDerived > | |
| void | solveInPlace (const MatrixBase< OtherDerived > &other) const |
| const SelfAdjointView < MatrixTypeNestedNonRef, Mode > | selfadjointView () const |
| SelfAdjointView < MatrixTypeNestedNonRef, Mode > | selfadjointView () |
| template<typename OtherDerived > | |
| void | swap (TriangularBase< OtherDerived > const &other) |
| template<typename OtherDerived > | |
| void | swap (MatrixBase< OtherDerived > const &other) |
| Scalar | determinant () const |
| template<typename ProductDerived , typename Lhs , typename Rhs > | |
| EIGEN_STRONG_INLINE TriangularView & | operator= (const ProductBase< ProductDerived, Lhs, Rhs > &other) |
| template<typename ProductDerived , typename Lhs , typename Rhs > | |
| EIGEN_STRONG_INLINE TriangularView & | operator+= (const ProductBase< ProductDerived, Lhs, Rhs > &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 ProductDerived > | |
| EIGEN_STRONG_INLINE TriangularView & | operator+= (const ScaledProduct< ProductDerived > &other) |
| template<typename ProductDerived > | |
| EIGEN_STRONG_INLINE TriangularView & | operator-= (const ScaledProduct< ProductDerived > &other) |
| 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 |
| Scalar & | coeffRef (Index row, Index col) |
| EIGEN_STRONG_INLINE void | copyCoeff (Index row, Index col, Other &other) |
| Scalar | operator() (Index row, Index col) const |
| Scalar & | operator() (Index row, Index col) |
| void | evalTo (MatrixBase< DenseDerived > &other) const |
| void | evalToLazy (MatrixBase< DenseDerived > &other) const |
| DenseMatrixType | toDenseMatrix () const |
Protected Types | |
| typedef internal::traits < TriangularView > ::MatrixTypeNested | MatrixTypeNested |
| typedef internal::traits < TriangularView > ::MatrixTypeNestedNonRef | MatrixTypeNestedNonRef |
| typedef internal::traits < TriangularView > ::MatrixTypeNestedCleaned | MatrixTypeNestedCleaned |
| typedef internal::remove_all < typename MatrixType::ConjugateReturnType > ::type | MatrixConjugateReturnType |
Protected Member Functions | |
| template<typename ProductDerived , typename Lhs , typename Rhs > | |
| EIGEN_STRONG_INLINE TriangularView & | assignProduct (const ProductBase< ProductDerived, Lhs, Rhs > &prod, const Scalar &alpha) |
| void | check_coordinates (Index row, Index col) const |
| void | check_coordinates_internal (Index, Index) const |
Protected Attributes | |
| const MatrixTypeNested | m_matrix |
Friends | |
| template<typename OtherDerived > | |
| TriangularProduct< Mode, false, OtherDerived, OtherDerived::IsVectorAtCompileTime, MatrixType, false > | operator* (const MatrixBase< OtherDerived > &lhs, const TriangularView &rhs) |
| Efficient vector/matrix times triangular matrix product. | |
| typedef internal::traits<TriangularView>::DenseMatrixType Eigen::TriangularView::DenseMatrixType |
Reimplemented from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >.
typedef DenseMatrixType Eigen::TriangularBase::DenseType [inherited] |
| typedef internal::traits<TriangularView>::Index Eigen::TriangularView::Index |
Reimplemented from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >.
typedef internal::remove_all<typename MatrixType::ConjugateReturnType>::type Eigen::TriangularView::MatrixConjugateReturnType [protected] |
| typedef _MatrixType Eigen::TriangularView::MatrixType |
typedef internal::traits<TriangularView>::MatrixTypeNested Eigen::TriangularView::MatrixTypeNested [protected] |
typedef internal::traits<TriangularView>::MatrixTypeNestedCleaned Eigen::TriangularView::MatrixTypeNestedCleaned [protected] |
typedef internal::traits<TriangularView>::MatrixTypeNestedNonRef Eigen::TriangularView::MatrixTypeNestedNonRef [protected] |
| typedef internal::traits<TriangularView>::Scalar Eigen::TriangularView::Scalar |
Reimplemented from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >.
| typedef internal::traits<TriangularView>::StorageKind Eigen::TriangularView::StorageKind |
Reimplemented from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >.
| Eigen::TriangularView::TriangularView | ( | const MatrixType & | matrix | ) | [inline] |
| TriangularView<typename MatrixType::AdjointReturnType,TransposeMode> Eigen::TriangularView::adjoint | ( | ) | [inline] |
| const TriangularView<typename MatrixType::AdjointReturnType,TransposeMode> Eigen::TriangularView::adjoint | ( | ) | const [inline] |
| TriangularView<MatrixType,UpLo>& Eigen::TriangularView::assignProduct | ( | const ProductBase< ProductDerived, _Lhs, _Rhs > & | prod, |
| const Scalar & | alpha | ||
| ) |
| EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView::assignProduct | ( | const ProductBase< ProductDerived, Lhs, Rhs > & | prod, |
| const Scalar & | alpha | ||
| ) | [protected] |
| Index Eigen::TriangularView::cols | ( | void | ) | const [inline] |
Reimplemented from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >.
| TriangularView<MatrixConjugateReturnType,Mode> Eigen::TriangularView::conjugate | ( | ) | [inline] |
| const TriangularView<MatrixConjugateReturnType,Mode> Eigen::TriangularView::conjugate | ( | ) | const [inline] |
| void Eigen::TriangularBase::evalTo | ( | MatrixBase< DenseDerived > & | other | ) | const [inherited] |
Assigns a triangular or selfadjoint matrix to a dense matrix.
If the matrix is triangular, the opposite part is set to zero.
| void Eigen::TriangularBase::evalToLazy | ( | MatrixBase< DenseDerived > & | other | ) | const [inherited] |
Assigns a triangular or selfadjoint matrix to a dense matrix.
If the matrix is triangular, the opposite part is set to zero.
| void Eigen::TriangularView::fill | ( | const Scalar & | value | ) | [inline] |
| Index Eigen::TriangularView::innerStride | ( | ) | const [inline] |
Reimplemented from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >.
| void Eigen::TriangularView::lazyAssign | ( | const TriangularBase< OtherDerived > & | other | ) |
| void Eigen::TriangularView::lazyAssign | ( | const MatrixBase< OtherDerived > & | other | ) |
| const MatrixTypeNestedCleaned& Eigen::TriangularView::nestedExpression | ( | ) | const [inline] |
| MatrixTypeNestedCleaned& Eigen::TriangularView::nestedExpression | ( | ) | [inline] |
| TriangularProduct<Mode,true,MatrixType,false,OtherDerived,OtherDerived::IsVectorAtCompileTime> Eigen::TriangularView::operator* | ( | const MatrixBase< OtherDerived > & | rhs | ) | const [inline] |
| TriangularView& Eigen::TriangularView::operator*= | ( | const typename internal::traits< MatrixType >::Scalar & | other | ) | [inline] |
| TriangularView& Eigen::TriangularView::operator+= | ( | const DenseBase< Other > & | other | ) | [inline] |
| EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView::operator+= | ( | const ProductBase< ProductDerived, Lhs, Rhs > & | other | ) | [inline] |
| EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView::operator+= | ( | const ScaledProduct< ProductDerived > & | other | ) | [inline] |
| TriangularView& Eigen::TriangularView::operator-= | ( | const DenseBase< Other > & | other | ) | [inline] |
| EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView::operator-= | ( | const ProductBase< ProductDerived, Lhs, Rhs > & | other | ) | [inline] |
| EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView::operator-= | ( | const ScaledProduct< ProductDerived > & | other | ) | [inline] |
| TriangularView& Eigen::TriangularView::operator/= | ( | const typename internal::traits< MatrixType >::Scalar & | other | ) | [inline] |
| TriangularView< MatrixType, Mode > & Eigen::TriangularView::operator= | ( | const TriangularBase< OtherDerived > & | other | ) | [inline] |
| TriangularView< MatrixType, Mode > & Eigen::TriangularView::operator= | ( | const MatrixBase< OtherDerived > & | other | ) | [inline] |
| TriangularView& Eigen::TriangularView::operator= | ( | const TriangularView & | other | ) | [inline] |
| EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView::operator= | ( | const ProductBase< ProductDerived, Lhs, Rhs > & | other | ) | [inline] |
| EIGEN_STRONG_INLINE TriangularView& Eigen::TriangularView::operator= | ( | const ScaledProduct< ProductDerived > & | other | ) | [inline] |
| Index Eigen::TriangularView::outerStride | ( | ) | const [inline] |
Reimplemented from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >.
| Index Eigen::TriangularView::rows | ( | void | ) | const [inline] |
Reimplemented from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >.
| const SelfAdjointView<MatrixTypeNestedNonRef,Mode> Eigen::TriangularView::selfadjointView | ( | ) | const [inline] |
| SelfAdjointView<MatrixTypeNestedNonRef,Mode> Eigen::TriangularView::selfadjointView | ( | ) | [inline] |
| TriangularView& Eigen::TriangularView::setConstant | ( | const Scalar & | value | ) | [inline] |
| TriangularView& Eigen::TriangularView::setOnes | ( | ) | [inline] |
| TriangularView& Eigen::TriangularView::setZero | ( | ) | [inline] |
| const internal::triangular_solve_retval< Side, TriangularView< Derived, Mode >, Other > Eigen::TriangularView::solve | ( | const MatrixBase< Other > & | other | ) | const [inline] |
*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.
| const internal::triangular_solve_retval<OnTheLeft,TriangularView, Other> Eigen::TriangularView::solve | ( | const MatrixBase< Other > & | other | ) | const [inline] |
| void Eigen::TriangularView::solveInPlace | ( | const MatrixBase< OtherDerived > & | _other | ) | const |
"in-place" version of TriangularView::solve() where the result is written in other
See TriangularView:solve() for the details.
| void Eigen::TriangularView::solveInPlace | ( | const MatrixBase< OtherDerived > & | other | ) | const [inline] |
| void Eigen::TriangularView::swap | ( | TriangularBase< OtherDerived > const & | other | ) | [inline] |
| void Eigen::TriangularView::swap | ( | MatrixBase< OtherDerived > const & | other | ) | [inline] |
| DenseMatrixType Eigen::TriangularBase::toDenseMatrix | ( | ) | const [inline, inherited] |
| TriangularView<Transpose<MatrixType>,TransposeMode> Eigen::TriangularView::transpose | ( | ) | [inline] |
| const TriangularView<Transpose<MatrixType>,TransposeMode> Eigen::TriangularView::transpose | ( | ) | const [inline] |
| TriangularProduct<Mode,false,OtherDerived,OtherDerived::IsVectorAtCompileTime,MatrixType,false> operator* | ( | const MatrixBase< OtherDerived > & | lhs, |
| const TriangularView & | rhs | ||
| ) | [friend] |
const MatrixTypeNested Eigen::TriangularView::m_matrix [protected] |
| Page generated by Doxygen 1.7.5 for MRPT 0.9.5 SVN: at Thu Oct 13 21:25:36 UTC 2011 |