MOAB  4.9.3pre
Eigen::internal::BandMatrixBase< Derived > Class Template Reference

#include <BandMatrix.h>

Inheritance diagram for Eigen::internal::BandMatrixBase< Derived >:
Collaboration diagram for Eigen::internal::BandMatrixBase< Derived >:

List of all members.

Classes

struct  DiagonalIntReturnType

Public Types

enum  {
  Flags = internal::traits<Derived>::Flags, CoeffReadCost = internal::traits<Derived>::CoeffReadCost, RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime, ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime,
  MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime, MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime, Supers = internal::traits<Derived>::Supers, Subs = internal::traits<Derived>::Subs,
  Options = internal::traits<Derived>::Options
}
typedef internal::traits
< Derived >::Scalar 
Scalar
typedef Matrix< Scalar,
RowsAtCompileTime,
ColsAtCompileTime
DenseMatrixType
typedef
DenseMatrixType::StorageIndex 
StorageIndex
typedef internal::traits
< Derived >::CoefficientsType 
CoefficientsType
typedef EigenBase< Derived > Base

Public Member Functions

Index supers () const
Index subs () const
const CoefficientsTypecoeffs () const
CoefficientsTypecoeffs ()
Block< CoefficientsType,
Dynamic, 1 > 
col (Index i)
Block< CoefficientsType,
1, SizeAtCompileTime
diagonal ()
const Block< const
CoefficientsType,
1, SizeAtCompileTime
diagonal () const
template<int N>
DiagonalIntReturnType< N >::Type diagonal ()
template<int N>
const DiagonalIntReturnType< N >
::Type 
diagonal () const
Block< CoefficientsType,
1, Dynamic
diagonal (Index i)
const Block< const
CoefficientsType, 1, Dynamic
diagonal (Index i) const
template<typename Dest >
void evalTo (Dest &dst) const
DenseMatrixType toDenseMatrix () const

Protected Types

enum  { DataRowsAtCompileTime, SizeAtCompileTime = EIGEN_SIZE_MIN_PREFER_DYNAMIC(RowsAtCompileTime,ColsAtCompileTime) }

Protected Member Functions

Index diagonalLength (Index i) const

Detailed Description

template<typename Derived>
class Eigen::internal::BandMatrixBase< Derived >

Definition at line 18 of file BandMatrix.h.


Member Typedef Documentation

template<typename Derived>
typedef EigenBase<Derived> Eigen::internal::BandMatrixBase< Derived >::Base

Reimplemented in Eigen::internal::TridiagonalMatrix< Scalar, Size, Options >.

Definition at line 37 of file BandMatrix.h.

Definition at line 34 of file BandMatrix.h.


Member Enumeration Documentation

template<typename Derived>
anonymous enum
Enumerator:
Flags 
CoeffReadCost 
RowsAtCompileTime 
ColsAtCompileTime 
MaxRowsAtCompileTime 
MaxColsAtCompileTime 
Supers 
Subs 
Options 

Definition at line 22 of file BandMatrix.h.

         {
      Flags = internal::traits<Derived>::Flags,
      CoeffReadCost = internal::traits<Derived>::CoeffReadCost,
      RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime,
      ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime,
      MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime,
      MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime,
      Supers = internal::traits<Derived>::Supers,
      Subs   = internal::traits<Derived>::Subs,
      Options = internal::traits<Derived>::Options
    };
template<typename Derived>
anonymous enum [protected]
Enumerator:
DataRowsAtCompileTime 
SizeAtCompileTime 

Definition at line 40 of file BandMatrix.h.


Member Function Documentation

template<typename Derived>
Block<CoefficientsType,Dynamic,1> Eigen::internal::BandMatrixBase< Derived >::col ( Index  i) [inline]
Returns:
a vector expression of the i -th column, only the meaningful part is returned.
Warning:
the internal storage must be column major.

Definition at line 68 of file BandMatrix.h.

    {
      EIGEN_STATIC_ASSERT((Options&RowMajor)==0,THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES);
      Index start = 0;
      Index len = coeffs().rows();
      if (i<=supers())
      {
        start = supers()-i;
        len = (std::min)(rows(),std::max<Index>(0,coeffs().rows() - (supers()-i)));
      }
      else if (i>=rows()-subs())
        len = std::max<Index>(0,coeffs().rows() - (i + 1 - rows() + subs()));
      return Block<CoefficientsType,Dynamic,1>(coeffs(), start, i, len, 1);
    }
template<typename Derived>
Block<CoefficientsType,1,SizeAtCompileTime> Eigen::internal::BandMatrixBase< Derived >::diagonal ( ) [inline]
Returns:
a vector expression of the main diagonal

Definition at line 84 of file BandMatrix.h.

    { return Block<CoefficientsType,1,SizeAtCompileTime>(coeffs(),supers(),0,1,(std::min)(rows(),cols())); }
template<typename Derived>
const Block<const CoefficientsType,1,SizeAtCompileTime> Eigen::internal::BandMatrixBase< Derived >::diagonal ( ) const [inline]
Returns:
a vector expression of the main diagonal (const version)

Definition at line 88 of file BandMatrix.h.

    { return Block<const CoefficientsType,1,SizeAtCompileTime>(coeffs(),supers(),0,1,(std::min)(rows(),cols())); }
template<typename Derived>
template<int N>
DiagonalIntReturnType<N>::Type Eigen::internal::BandMatrixBase< Derived >::diagonal ( ) [inline]
Returns:
a vector expression of the N -th sub or super diagonal

Definition at line 109 of file BandMatrix.h.

    {
      return typename DiagonalIntReturnType<N>::BuildType(coeffs(), supers()-N, (std::max)(0,N), 1, diagonalLength(N));
    }
template<typename Derived>
template<int N>
const DiagonalIntReturnType<N>::Type Eigen::internal::BandMatrixBase< Derived >::diagonal ( ) const [inline]
Returns:
a vector expression of the N -th sub or super diagonal

Definition at line 115 of file BandMatrix.h.

    {
      return typename DiagonalIntReturnType<N>::BuildType(coeffs(), supers()-N, (std::max)(0,N), 1, diagonalLength(N));
    }
template<typename Derived>
Block<CoefficientsType,1,Dynamic> Eigen::internal::BandMatrixBase< Derived >::diagonal ( Index  i) [inline]
Returns:
a vector expression of the i -th sub or super diagonal

Definition at line 121 of file BandMatrix.h.

    {
      eigen_assert((i<0 && -i<=subs()) || (i>=0 && i<=supers()));
      return Block<CoefficientsType,1,Dynamic>(coeffs(), supers()-i, std::max<Index>(0,i), 1, diagonalLength(i));
    }
template<typename Derived>
const Block<const CoefficientsType,1,Dynamic> Eigen::internal::BandMatrixBase< Derived >::diagonal ( Index  i) const [inline]
Returns:
a vector expression of the i -th sub or super diagonal

Definition at line 128 of file BandMatrix.h.

    {
      eigen_assert((i<0 && -i<=subs()) || (i>=0 && i<=supers()));
      return Block<const CoefficientsType,1,Dynamic>(coeffs(), supers()-i, std::max<Index>(0,i), 1, diagonalLength(i));
    }
template<typename Derived>
Index Eigen::internal::BandMatrixBase< Derived >::diagonalLength ( Index  i) const [inline, protected]

Definition at line 154 of file BandMatrix.h.

    { return i<0 ? (std::min)(cols(),rows()+i) : (std::min)(rows(),cols()-i); }
template<typename Derived>
template<typename Dest >
void Eigen::internal::BandMatrixBase< Derived >::evalTo ( Dest &  dst) const [inline]

Don't use it, but do the equivalent:

 dst = *this; 

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 134 of file BandMatrix.h.

    {
      dst.resize(rows(),cols());
      dst.setZero();
      dst.diagonal() = diagonal();
      for (Index i=1; i<=supers();++i)
        dst.diagonal(i) = diagonal(i);
      for (Index i=1; i<=subs();++i)
        dst.diagonal(-i) = diagonal(-i);
    }
template<typename Derived>
DenseMatrixType Eigen::internal::BandMatrixBase< Derived >::toDenseMatrix ( ) const [inline]

Definition at line 145 of file BandMatrix.h.

    {
      DenseMatrixType res(rows(),cols());
      evalTo(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