Eigen  5.0.1
 
Loading...
Searching...
No Matches
Eigen::TriangularBase< Derived > Class Template Reference

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

Detailed Description

template<typename Derived>
class Eigen::TriangularBase< Derived >

Base class for triangular part in a matrix.

+ Inheritance diagram for Eigen::TriangularBase< Derived >:

Public Types

enum  { }
 
- Public Types inherited from Eigen::EigenBase< Derived >
using Index
 The interface type of indices.
 

Public Member Functions

const AdjointReturnType adjoint () const
 
Scalar coeff (Index row, Index col) const
 
Scalar & coeffRef (Index row, Index col)
 
const ConjugateReturnType conjugate () const
 
template<bool Cond>
std::conditional_t< Cond, ConjugateReturnType, ConstView > conjugateIf () const
 
template<typename Other>
void copyCoeff (Index row, Index col, Other &other)
 
template<typename DenseDerived>
void evalTo (MatrixBase< DenseDerived > &other) const
 
template<typename DenseDerived>
void evalToLazy (MatrixBase< DenseDerived > &other) const
 
void fill (const Scalar &value)
 
Scalar & operator() (Index row, Index col)
 
Scalar operator() (Index row, Index col) const
 
template<typename OtherDerived>
const Product< Derived, Inverse< OtherDerived > > operator* (const InverseImpl< OtherDerived, PermutationStorage > &rhs) const
 
template<typename OtherDerived>
const Product< Derived, OtherDerived > operator* (const PermutationBase< OtherDerived > &rhs) const
 
template<typename OtherDerived>
const Product< Derived, OtherDerived > operator* (const TriangularBase< OtherDerived > &rhs) const
 
template<typename OtherDerived, unsigned int Mode_ = Mode, std::enable_if_t<(int(Mode_) &(int(UnitDiag)|int(ZeroDiag)))==0, int > = 0>
auto operator+ (const DiagonalBase< OtherDerived > &other) const
 
template<typename OtherDerived, unsigned int Mode_ = Mode, std::enable_if_t<(int(Mode_) &(int(UnitDiag)|int(ZeroDiag)))==0, int > = 0>
auto operator- (const DiagonalBase< OtherDerived > &other) const
 
Derived & setConstant (const Scalar &value)
 
Derived & setIdentity ()
 
Derived & setOnes ()
 
Derived & setRandom ()
 
Derived & setZero ()
 
template<class Dummy = int, std::enable_if_t< Eigen::internal::is_lvalue< ExpressionType >::value, Dummy * > = nullptr>
TransposeReturnType transpose ()
 
const ConstTransposeReturnType transpose () const
 
- Public Member Functions inherited from Eigen::EigenBase< Derived >
constexpr Index cols () const noexcept
 
constexpr Derived & derived ()
 
constexpr const Derived & derived () const
 
constexpr Index rows () const noexcept
 
constexpr Index size () const noexcept
 

Member Enumeration Documentation

◆ anonymous enum

template<typename Derived>
anonymous enum
Enumerator
SizeAtCompileTime 

This is equal to the number of coefficients, i.e. the number of rows times the number of columns, or to Dynamic if this is not known at compile-time.

See also
RowsAtCompileTime, ColsAtCompileTime

Member Function Documentation

◆ adjoint()

template<typename Derived>
const AdjointReturnType Eigen::TriangularBase< Derived >::adjoint ( ) const
inline

◆ coeff()

template<typename Derived>
Scalar Eigen::TriangularBase< Derived >::coeff ( Index row,
Index col ) const
inline
Returns
the coefficient of the underlying expression at position (row, col).
Warning
This is raw storage access: the unit diagonal of UnitLower / UnitUpper and the structural zeros of the view are not synthesized, so for coordinates outside the part referenced by Mode the stored value is returned as-is. Only evaluation of the view — for example assigning it to a dense matrix or calling toDenseMatrix() — produces the mathematical coefficients implied by Mode.

◆ coeffRef()

template<typename Derived>
Scalar & Eigen::TriangularBase< Derived >::coeffRef ( Index row,
Index col )
inline
Returns
a reference to the coefficient of the underlying expression at position (row, col).
Warning
See the warning of coeff(Index,Index): the unit diagonal and structural zeros of the view are not represented in storage and cannot be referenced.

◆ conjugate()

template<typename Derived>
const ConjugateReturnType Eigen::TriangularBase< Derived >::conjugate ( ) const
inline

◆ conjugateIf()

template<typename Derived>
template<bool Cond>
std::conditional_t< Cond, ConjugateReturnType, ConstView > Eigen::TriangularBase< Derived >::conjugateIf ( ) const
inline
Returns
an expression of the complex conjugate of *this if Cond==true, returns *this otherwise.

◆ copyCoeff()

template<typename Derived>
template<typename Other>
void Eigen::TriangularBase< Derived >::copyCoeff ( Index row,
Index col,
Other & other )
inline
See also
MatrixBase::copyCoeff(row,col)

◆ evalTo()

template<typename Derived>
template<typename DenseDerived>
void Eigen::TriangularBase< Derived >::evalTo ( MatrixBase< DenseDerived > & other) const

Assigns a triangular or selfadjoint matrix to a dense matrix. If the matrix is triangular, the opposite part is set to zero.

◆ evalToLazy()

template<typename Derived>
template<typename DenseDerived>
void Eigen::TriangularBase< Derived >::evalToLazy ( MatrixBase< DenseDerived > & other) const

Assigns a triangular or selfadjoint matrix to a dense matrix. If the matrix is triangular, the opposite part is set to zero.

◆ fill()

template<typename Derived>
void Eigen::TriangularBase< Derived >::fill ( const Scalar & value)
inline

◆ operator()() [1/2]

template<typename Derived>
Scalar & Eigen::TriangularBase< Derived >::operator() ( Index row,
Index col )
inline

Like coeffRef(Index,Index), but asserts (in debug builds) that (row, col) lies inside the part referenced by Mode.

◆ operator()() [2/2]

template<typename Derived>
Scalar Eigen::TriangularBase< Derived >::operator() ( Index row,
Index col ) const
inline

Like coeff(Index,Index), but asserts (in debug builds) that (row, col) lies inside the part referenced by Mode; for UnitLower / UnitUpper and the strictly triangular modes that excludes the diagonal, whose implicit values are not stored.

◆ operator*() [1/3]

template<typename Derived>
template<typename OtherDerived>
const Product< Derived, Inverse< OtherDerived > > Eigen::TriangularBase< Derived >::operator* ( const InverseImpl< OtherDerived, PermutationStorage > & rhs) const
inline
Returns
the dense matrix expression of *this with the inverse permutation rhs applied to its columns.

◆ operator*() [2/3]

template<typename Derived>
template<typename OtherDerived>
const Product< Derived, OtherDerived > Eigen::TriangularBase< Derived >::operator* ( const PermutationBase< OtherDerived > & rhs) const
inline
Returns
the dense matrix expression of *this with the permutation rhs applied to its columns.

◆ operator*() [3/3]

template<typename Derived>
template<typename OtherDerived>
const Product< Derived, OtherDerived > Eigen::TriangularBase< Derived >::operator* ( const TriangularBase< OtherDerived > & rhs) const
inline
Returns
the dense matrix product of *this by the triangular or self-adjoint view rhs.

The right factor is evaluated into a dense temporary and the product runs the kernel of *this times a dense matrix. The result is a plain dense expression even when the structure would be preserved, as for two upper triangular factors.

◆ operator+()

template<typename Derived>
template<typename OtherDerived, unsigned int Mode_ = Mode, std::enable_if_t<(int(Mode_) &(int(UnitDiag)|int(ZeroDiag)))==0, int > = 0>
auto Eigen::TriangularBase< Derived >::operator+ ( const DiagonalBase< OtherDerived > & other) const
inline
Returns
the view of mode Mode of the sum of the nested expression and the diagonal matrix other

◆ operator-()

template<typename Derived>
template<typename OtherDerived, unsigned int Mode_ = Mode, std::enable_if_t<(int(Mode_) &(int(UnitDiag)|int(ZeroDiag)))==0, int > = 0>
auto Eigen::TriangularBase< Derived >::operator- ( const DiagonalBase< OtherDerived > & other) const
inline
Returns
the view of mode Mode of the difference of the nested expression and the diagonal matrix other

◆ setConstant()

template<typename Derived>
Derived & Eigen::TriangularBase< Derived >::setConstant ( const Scalar & value)
inline

◆ setIdentity()

template<typename Derived>
Derived & Eigen::TriangularBase< Derived >::setIdentity ( )
inline

◆ setOnes()

template<typename Derived>
Derived & Eigen::TriangularBase< Derived >::setOnes ( )
inline

◆ setRandom()

template<typename Derived>
Derived & Eigen::TriangularBase< Derived >::setRandom ( )
inline

◆ setZero()

template<typename Derived>
Derived & Eigen::TriangularBase< Derived >::setZero ( )
inline

◆ transpose() [1/2]

template<typename Derived>
template<class Dummy = int, std::enable_if_t< Eigen::internal::is_lvalue< ExpressionType >::value, Dummy * > = nullptr>
TransposeReturnType Eigen::TriangularBase< Derived >::transpose ( )
inline

◆ transpose() [2/2]

template<typename Derived>
const ConstTransposeReturnType Eigen::TriangularBase< Derived >::transpose ( ) const
inline

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