Base class for triangular part in a matrix. More...
#include <TriangularMatrix.h>
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 |
Scalar & | coeffRef (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 MatrixTypeNestedCleaned & | nestedExpression () const |
MatrixTypeNestedCleaned & | nestedExpression () |
template<typename OtherDerived > | |
TriangularProduct< Mode, true, MatrixType, false, OtherDerived, OtherDerived::IsVectorAtCompileTime > | operator* (const MatrixBase< OtherDerived > &rhs) const |
TriangularView & | operator*= (const typename internal::traits< MatrixType >::Scalar &other) |
template<typename Other > | |
TriangularView & | operator+= (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 > | |
TriangularView & | operator-= (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) |
TriangularView & | operator/= (const typename internal::traits< MatrixType >::Scalar &other) |
template<typename OtherDerived > | |
TriangularView & | operator= (const TriangularBase< OtherDerived > &other) |
template<typename OtherDerived > | |
TriangularView & | operator= (const MatrixBase< OtherDerived > &other) |
TriangularView & | operator= (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) |
template<typename OtherDerived > | |
TriangularView< MatrixType, Mode > & | operator= (const MatrixBase< OtherDerived > &other) |
template<typename OtherDerived > | |
TriangularView< MatrixType, Mode > & | operator= (const TriangularBase< OtherDerived > &other) |
Index | outerStride () const |
Index | rows () const |
const SelfAdjointView< MatrixTypeNestedNonRef, Mode > | selfadjointView () const |
SelfAdjointView< MatrixTypeNestedNonRef, Mode > | selfadjointView () |
TriangularView & | setConstant (const Scalar &value) |
TriangularView & | setOnes () |
TriangularView & | setZero () |
template<int Side, typename Other > | |
const internal::triangular_solve_retval< Side, TriangularView< Derived, Mode >, Other > | solve (const MatrixBase< Other > &other) const |
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) | |
Public Member Functions inherited from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > > | |
Scalar | coeff (Index row, Index col) const |
Scalar & | coeffRef (Index row, Index col) |
Index | cols () const |
EIGEN_STRONG_INLINE void | copyCoeff (Index row, Index col, Other &other) |
const TriangularView< _MatrixType, _Mode > & | derived () const |
TriangularView< _MatrixType, _Mode > & | derived () |
void | evalTo (MatrixBase< DenseDerived > &other) const |
void | evalToLazy (MatrixBase< DenseDerived > &other) const |
Index | innerStride () const |
Scalar | operator() (Index row, Index col) const |
Scalar & | operator() (Index row, Index col) |
Index | outerStride () const |
Index | rows () const |
DenseMatrixType | toDenseMatrix () const |
TriangularBase () | |
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 |
Index | cols () const |
Derived & | const_cast_derived () const |
const Derived & | const_derived () const |
Derived & | derived () |
const Derived & | derived () const |
template<typename Dest > | |
void | evalTo (Dest &dst) const |
Index | rows () const |
Index | size () const |
template<typename Dest > | |
void | subTo (Dest &dst) const |
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 Member Functions inherited from Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > > | |
void | check_coordinates (Index row, Index col) const |
void | check_coordinates_internal (Index, Index) const |
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) |
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.
Definition at line 158 of file TriangularMatrix.h.
typedef TriangularBase<TriangularView> Eigen::TriangularView< _MatrixType, _Mode >::Base |
Definition at line 163 of file TriangularMatrix.h.
typedef internal::traits<TriangularView>::DenseMatrixType Eigen::TriangularView< _MatrixType, _Mode >::DenseMatrixType |
Definition at line 167 of file TriangularMatrix.h.
typedef internal::traits<TriangularView>::Index Eigen::TriangularView< _MatrixType, _Mode >::Index |
Definition at line 182 of file TriangularMatrix.h.
|
protected |
Definition at line 175 of file TriangularMatrix.h.
typedef _MatrixType Eigen::TriangularView< _MatrixType, _Mode >::MatrixType |
Definition at line 166 of file TriangularMatrix.h.
|
protected |
Definition at line 171 of file TriangularMatrix.h.
|
protected |
Definition at line 173 of file TriangularMatrix.h.
|
protected |
Definition at line 172 of file TriangularMatrix.h.
typedef DenseMatrixType Eigen::TriangularView< _MatrixType, _Mode >::PlainObject |
Definition at line 168 of file TriangularMatrix.h.
typedef internal::traits<TriangularView>::Scalar Eigen::TriangularView< _MatrixType, _Mode >::Scalar |
Definition at line 164 of file TriangularMatrix.h.
typedef internal::traits<TriangularView>::StorageKind Eigen::TriangularView< _MatrixType, _Mode >::StorageKind |
Definition at line 181 of file TriangularMatrix.h.
anonymous enum |
Enumerator | |
---|---|
Mode | |
TransposeMode |
Definition at line 184 of file TriangularMatrix.h.
|
inline |
Definition at line 192 of file TriangularMatrix.h.
|
inline |
Definition at line 264 of file TriangularMatrix.h.
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.
|
protected |
|
inline |
Definition at line 222 of file TriangularMatrix.h.
|
inline |
Definition at line 231 of file TriangularMatrix.h.
|
inline |
Definition at line 196 of file TriangularMatrix.h.
|
inline |
Definition at line 257 of file TriangularMatrix.h.
|
inline |
Definition at line 260 of file TriangularMatrix.h.
|
inline |
Definition at line 368 of file TriangularMatrix.h.
|
inline |
Definition at line 210 of file TriangularMatrix.h.
|
inline |
Definition at line 198 of file TriangularMatrix.h.
void Eigen::TriangularView< MatrixType, Mode >::lazyAssign | ( | const TriangularBase< OtherDerived > & | other | ) |
Definition at line 647 of file TriangularMatrix.h.
void Eigen::TriangularView< MatrixType, Mode >::lazyAssign | ( | const MatrixBase< OtherDerived > & | other | ) |
Definition at line 610 of file TriangularMatrix.h.
|
inline |
Definition at line 237 of file TriangularMatrix.h.
|
inline |
Definition at line 238 of file TriangularMatrix.h.
|
inline |
Efficient triangular matrix times vector/matrix product
Definition at line 282 of file TriangularMatrix.h.
|
inline |
Definition at line 205 of file TriangularMatrix.h.
|
inline |
Definition at line 201 of file TriangularMatrix.h.
|
inline |
Definition at line 387 of file TriangularMatrix.h.
|
inline |
Definition at line 407 of file TriangularMatrix.h.
|
inline |
Definition at line 203 of file TriangularMatrix.h.
|
inline |
Definition at line 393 of file TriangularMatrix.h.
|
inline |
Definition at line 413 of file TriangularMatrix.h.
|
inline |
Definition at line 207 of file TriangularMatrix.h.
TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator= | ( | const TriangularBase< OtherDerived > & | other | ) |
Assigns a triangular matrix to a triangular part of a dense matrix
TriangularView& Eigen::TriangularView< _MatrixType, _Mode >::operator= | ( | const MatrixBase< OtherDerived > & | other | ) |
|
inline |
Definition at line 247 of file TriangularMatrix.h.
|
inline |
Definition at line 380 of file TriangularMatrix.h.
|
inline |
Definition at line 400 of file TriangularMatrix.h.
|
inline |
Definition at line 594 of file TriangularMatrix.h.
|
inline |
Definition at line 631 of file TriangularMatrix.h.
|
inline |
Definition at line 197 of file TriangularMatrix.h.
|
inline |
Definition at line 195 of file TriangularMatrix.h.
|
inline |
Definition at line 344 of file TriangularMatrix.h.
|
inline |
Definition at line 349 of file TriangularMatrix.h.
|
inline |
Definition at line 212 of file TriangularMatrix.h.
|
inline |
Definition at line 217 of file TriangularMatrix.h.
|
inline |
Definition at line 215 of file TriangularMatrix.h.
const internal::triangular_solve_retval<Side,TriangularView<Derived,Mode>,Other> Eigen::TriangularView< _MatrixType, _Mode >::solve | ( | const MatrixBase< Other > & | other | ) | const |
*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:
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.
Definition at line 216 of file SolveTriangular.h.
|
inline |
|
inline |
Definition at line 337 of file TriangularMatrix.h.
void Eigen::TriangularView< MatrixType, Mode >::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.
Definition at line 174 of file SolveTriangular.h.
|
inline |
Definition at line 341 of file TriangularMatrix.h.
|
inline |
Definition at line 356 of file TriangularMatrix.h.
|
inline |
Definition at line 362 of file TriangularMatrix.h.
|
inline |
Definition at line 268 of file TriangularMatrix.h.
|
inline |
Definition at line 274 of file TriangularMatrix.h.
|
friend |
Efficient vector/matrix times triangular matrix product
Definition at line 292 of file TriangularMatrix.h.
|
protected |
Definition at line 423 of file TriangularMatrix.h.