MOAB
4.9.3pre
|
Base class for triangular part in a matrix. More...
#include <TriangularMatrix.h>
Public Types | |
enum | { Mode = internal::traits<Derived>::Mode, RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime, ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime, MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime, MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime, SizeAtCompileTime, MaxSizeAtCompileTime } |
typedef internal::traits < Derived >::Scalar | Scalar |
typedef internal::traits < Derived >::StorageKind | StorageKind |
typedef internal::traits < Derived >::StorageIndex | StorageIndex |
typedef internal::traits < Derived >::FullMatrixType | DenseMatrixType |
typedef DenseMatrixType | DenseType |
typedef Derived const & | Nested |
Public Member Functions | |
EIGEN_DEVICE_FUNC | TriangularBase () |
EIGEN_DEVICE_FUNC Index | rows () const |
EIGEN_DEVICE_FUNC Index | cols () const |
EIGEN_DEVICE_FUNC Index | outerStride () const |
EIGEN_DEVICE_FUNC Index | innerStride () const |
void | resize (Index rows, Index cols) |
EIGEN_DEVICE_FUNC Scalar | coeff (Index row, Index col) const |
EIGEN_DEVICE_FUNC Scalar & | coeffRef (Index row, Index col) |
template<typename Other > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | copyCoeff (Index row, Index col, Other &other) |
EIGEN_DEVICE_FUNC Scalar | operator() (Index row, Index col) const |
EIGEN_DEVICE_FUNC Scalar & | operator() (Index row, Index col) |
EIGEN_DEVICE_FUNC const Derived & | derived () const |
EIGEN_DEVICE_FUNC Derived & | derived () |
template<typename DenseDerived > | |
EIGEN_DEVICE_FUNC void | evalTo (MatrixBase< DenseDerived > &other) const |
template<typename DenseDerived > | |
EIGEN_DEVICE_FUNC void | evalToLazy (MatrixBase< DenseDerived > &other) const |
EIGEN_DEVICE_FUNC DenseMatrixType | toDenseMatrix () const |
Protected Member Functions | |
void | check_coordinates (Index row, Index col) const |
void | check_coordinates_internal (Index, Index) const |
Base class for triangular part in a matrix.
Definition at line 27 of file TriangularMatrix.h.
typedef internal::traits<Derived>::FullMatrixType Eigen::TriangularBase< Derived >::DenseMatrixType |
Reimplemented in Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >.
Definition at line 51 of file TriangularMatrix.h.
typedef DenseMatrixType Eigen::TriangularBase< Derived >::DenseType |
Definition at line 52 of file TriangularMatrix.h.
typedef Derived const& Eigen::TriangularBase< Derived >::Nested |
Definition at line 53 of file TriangularMatrix.h.
typedef internal::traits<Derived>::Scalar Eigen::TriangularBase< Derived >::Scalar |
Reimplemented in Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >, and Eigen::SelfAdjointView< _MatrixType, UpLo >.
Definition at line 48 of file TriangularMatrix.h.
typedef internal::traits<Derived>::StorageIndex Eigen::TriangularBase< Derived >::StorageIndex |
Reimplemented in Eigen::SelfAdjointView< _MatrixType, UpLo >.
Definition at line 50 of file TriangularMatrix.h.
typedef internal::traits<Derived>::StorageKind Eigen::TriangularBase< Derived >::StorageKind |
Reimplemented from Eigen::EigenBase< Derived >.
Reimplemented in Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >.
Definition at line 49 of file TriangularMatrix.h.
anonymous enum |
Mode | |
RowsAtCompileTime | |
ColsAtCompileTime | |
MaxRowsAtCompileTime | |
MaxColsAtCompileTime | |
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.
|
MaxSizeAtCompileTime |
Definition at line 31 of file TriangularMatrix.h.
{ Mode = internal::traits<Derived>::Mode, RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime, ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime, MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime, MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime, SizeAtCompileTime = (internal::size_at_compile_time<internal::traits<Derived>::RowsAtCompileTime, internal::traits<Derived>::ColsAtCompileTime>::ret), MaxSizeAtCompileTime = (internal::size_at_compile_time<internal::traits<Derived>::MaxRowsAtCompileTime, internal::traits<Derived>::MaxColsAtCompileTime>::ret) };
EIGEN_DEVICE_FUNC Eigen::TriangularBase< Derived >::TriangularBase | ( | ) | [inline] |
Definition at line 56 of file TriangularMatrix.h.
{ eigen_assert(!((Mode&UnitDiag) && (Mode&ZeroDiag))); }
void Eigen::TriangularBase< Derived >::check_coordinates | ( | Index | row, |
Index | col | ||
) | const [inline, protected] |
Definition at line 126 of file TriangularMatrix.h.
{ EIGEN_ONLY_USED_FOR_DEBUG(row); EIGEN_ONLY_USED_FOR_DEBUG(col); eigen_assert(col>=0 && col<cols() && row>=0 && row<rows()); const int mode = int(Mode) & ~SelfAdjoint; EIGEN_ONLY_USED_FOR_DEBUG(mode); eigen_assert((mode==Upper && col>=row) || (mode==Lower && col<=row) || ((mode==StrictlyUpper || mode==UnitUpper) && col>row) || ((mode==StrictlyLower || mode==UnitLower) && col<row)); }
void Eigen::TriangularBase< Derived >::check_coordinates_internal | ( | Index | , |
Index | |||
) | const [inline, protected] |
Definition at line 145 of file TriangularMatrix.h.
{}
EIGEN_DEVICE_FUNC Scalar Eigen::TriangularBase< Derived >::coeff | ( | Index | row, |
Index | col | ||
) | const [inline] |
Reimplemented in Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >, and Eigen::SelfAdjointView< _MatrixType, UpLo >.
Definition at line 76 of file TriangularMatrix.h.
EIGEN_DEVICE_FUNC Scalar& Eigen::TriangularBase< Derived >::coeffRef | ( | Index | row, |
Index | col | ||
) | [inline] |
Reimplemented in Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >, and Eigen::SelfAdjointView< _MatrixType, UpLo >.
Definition at line 78 of file TriangularMatrix.h.
EIGEN_DEVICE_FUNC Index Eigen::TriangularBase< Derived >::cols | ( | void | ) | const [inline] |
Reimplemented from Eigen::EigenBase< Derived >.
Reimplemented in Eigen::SelfAdjointView< _MatrixType, UpLo >.
Definition at line 61 of file TriangularMatrix.h.
{ return derived().cols(); }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::TriangularBase< Derived >::copyCoeff | ( | Index | row, |
Index | col, | ||
Other & | other | ||
) | [inline] |
EIGEN_DEVICE_FUNC const Derived& Eigen::TriangularBase< Derived >::derived | ( | ) | const [inline] |
Reimplemented from Eigen::EigenBase< Derived >.
Definition at line 104 of file TriangularMatrix.h.
{ return *static_cast<const Derived*>(this); }
EIGEN_DEVICE_FUNC Derived& Eigen::TriangularBase< Derived >::derived | ( | ) | [inline] |
Reimplemented from Eigen::EigenBase< Derived >.
Definition at line 106 of file TriangularMatrix.h.
{ return *static_cast<Derived*>(this); }
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.
Definition at line 595 of file TriangularMatrix.h.
{ evalToLazy(other.derived()); }
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.
Definition at line 926 of file TriangularMatrix.h.
{ other.derived().resize(this->rows(), this->cols()); internal::call_triangular_assignment_loop<Derived::Mode,(Derived::Mode&SelfAdjoint)==0 /* SetOpposite */>(other.derived(), derived().nestedExpression()); }
EIGEN_DEVICE_FUNC Index Eigen::TriangularBase< Derived >::innerStride | ( | ) | const [inline] |
Reimplemented in Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >, and Eigen::SelfAdjointView< _MatrixType, UpLo >.
Definition at line 65 of file TriangularMatrix.h.
{ return derived().innerStride(); }
EIGEN_DEVICE_FUNC Scalar Eigen::TriangularBase< Derived >::operator() | ( | Index | row, |
Index | col | ||
) | const [inline] |
Definition at line 90 of file TriangularMatrix.h.
EIGEN_DEVICE_FUNC Scalar& Eigen::TriangularBase< Derived >::operator() | ( | Index | row, |
Index | col | ||
) | [inline] |
Definition at line 96 of file TriangularMatrix.h.
EIGEN_DEVICE_FUNC Index Eigen::TriangularBase< Derived >::outerStride | ( | ) | const [inline] |
Reimplemented in Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >, and Eigen::SelfAdjointView< _MatrixType, UpLo >.
Definition at line 63 of file TriangularMatrix.h.
{ return derived().outerStride(); }
void Eigen::TriangularBase< Derived >::resize | ( | Index | rows, |
Index | cols | ||
) | [inline] |
Definition at line 68 of file TriangularMatrix.h.
{ EIGEN_UNUSED_VARIABLE(rows); EIGEN_UNUSED_VARIABLE(cols); eigen_assert(rows==this->rows() && cols==this->cols()); }
EIGEN_DEVICE_FUNC Index Eigen::TriangularBase< Derived >::rows | ( | void | ) | const [inline] |
Reimplemented from Eigen::EigenBase< Derived >.
Reimplemented in Eigen::SelfAdjointView< _MatrixType, UpLo >.
Definition at line 59 of file TriangularMatrix.h.
{ return derived().rows(); }
EIGEN_DEVICE_FUNC DenseMatrixType Eigen::TriangularBase< Derived >::toDenseMatrix | ( | ) | const [inline] |
Definition at line 117 of file TriangularMatrix.h.
{ DenseMatrixType res(rows(), cols()); evalToLazy(res); return res; }