MOAB  4.9.3pre
Eigen::TriangularBase< Derived > Class Template Reference

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

#include <TriangularMatrix.h>

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

List of all members.

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

Detailed Description

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

Base class for triangular part in a matrix.

Definition at line 27 of file TriangularMatrix.h.


Member Typedef Documentation

template<typename Derived>
typedef internal::traits<Derived>::FullMatrixType Eigen::TriangularBase< Derived >::DenseMatrixType

Reimplemented in Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >.

Definition at line 51 of file TriangularMatrix.h.

template<typename Derived>
typedef DenseMatrixType Eigen::TriangularBase< Derived >::DenseType

Definition at line 52 of file TriangularMatrix.h.

template<typename Derived>
typedef Derived const& Eigen::TriangularBase< Derived >::Nested

Definition at line 53 of file TriangularMatrix.h.

template<typename Derived>
typedef internal::traits<Derived>::Scalar Eigen::TriangularBase< Derived >::Scalar
template<typename Derived>
typedef internal::traits<Derived>::StorageIndex Eigen::TriangularBase< Derived >::StorageIndex

Reimplemented in Eigen::SelfAdjointView< _MatrixType, UpLo >.

Definition at line 50 of file TriangularMatrix.h.

template<typename Derived>
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.


Member Enumeration Documentation

template<typename Derived>
anonymous enum
Enumerator:
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.

See also:
RowsAtCompileTime, ColsAtCompileTime
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)
        
    };

Constructor & Destructor Documentation

template<typename Derived>
EIGEN_DEVICE_FUNC Eigen::TriangularBase< Derived >::TriangularBase ( ) [inline]

Definition at line 56 of file TriangularMatrix.h.


Member Function Documentation

template<typename Derived>
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));
    }
template<typename Derived>
void Eigen::TriangularBase< Derived >::check_coordinates_internal ( Index  ,
Index   
) const [inline, protected]

Definition at line 145 of file TriangularMatrix.h.

{}
template<typename Derived>
EIGEN_DEVICE_FUNC Scalar Eigen::TriangularBase< Derived >::coeff ( Index  row,
Index  col 
) const [inline]
template<typename Derived>
EIGEN_DEVICE_FUNC Scalar& Eigen::TriangularBase< Derived >::coeffRef ( Index  row,
Index  col 
) [inline]
template<typename Derived>
EIGEN_DEVICE_FUNC Index Eigen::TriangularBase< Derived >::cols ( void  ) const [inline]
Returns:
the number of columns.
See also:
rows(), ColsAtCompileTime

Reimplemented from Eigen::EigenBase< Derived >.

Reimplemented in Eigen::SelfAdjointView< _MatrixType, UpLo >.

Definition at line 61 of file TriangularMatrix.h.

{ return derived().cols(); }
template<typename Derived>
template<typename Other >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::TriangularBase< Derived >::copyCoeff ( Index  row,
Index  col,
Other &  other 
) [inline]
See also:
MatrixBase::copyCoeff(row,col)

Definition at line 84 of file TriangularMatrix.h.

    {
      derived().coeffRef(row, col) = other.coeff(row, col);
    }
template<typename Derived>
EIGEN_DEVICE_FUNC const Derived& Eigen::TriangularBase< Derived >::derived ( ) const [inline]
Returns:
a const reference to the derived object

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 104 of file TriangularMatrix.h.

{ return *static_cast<const Derived*>(this); }
template<typename Derived>
EIGEN_DEVICE_FUNC Derived& Eigen::TriangularBase< Derived >::derived ( ) [inline]
Returns:
a reference to the derived object

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 106 of file TriangularMatrix.h.

{ return *static_cast<Derived*>(this); }
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.

Definition at line 595 of file TriangularMatrix.h.

{
  evalToLazy(other.derived());
}
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.

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());
}
template<typename Derived>
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(); }
template<typename Derived>
EIGEN_DEVICE_FUNC Scalar Eigen::TriangularBase< Derived >::operator() ( Index  row,
Index  col 
) const [inline]

Definition at line 90 of file TriangularMatrix.h.

    {
      check_coordinates(row, col);
      return coeff(row,col);
    }
template<typename Derived>
EIGEN_DEVICE_FUNC Scalar& Eigen::TriangularBase< Derived >::operator() ( Index  row,
Index  col 
) [inline]

Definition at line 96 of file TriangularMatrix.h.

template<typename Derived>
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(); }
template<typename Derived>
void Eigen::TriangularBase< Derived >::resize ( Index  rows,
Index  cols 
) [inline]

Definition at line 68 of file TriangularMatrix.h.

template<typename Derived>
EIGEN_DEVICE_FUNC Index Eigen::TriangularBase< Derived >::rows ( void  ) const [inline]
Returns:
the number of rows.
See also:
cols(), RowsAtCompileTime

Reimplemented from Eigen::EigenBase< Derived >.

Reimplemented in Eigen::SelfAdjointView< _MatrixType, UpLo >.

Definition at line 59 of file TriangularMatrix.h.

{ return derived().rows(); }
template<typename Derived>
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;
    }

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines