Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > Class Template Reference

Represents a rectangular matrix with a banded storage. More...

#include <BandMatrix.h>

+ Inheritance diagram for Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >:

Public Types

typedef internal::traits< BandMatrix >::Scalar Scalar
 
typedef internal::traits< BandMatrix >::StorageIndex StorageIndex
 
typedef internal::traits< BandMatrix >::CoefficientsType CoefficientsType
 
- Public Types inherited from Eigen::internal::BandMatrixBase< BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > >
enum  
 
typedef internal::traits< BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > >::Scalar Scalar
 
typedef Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTimeDenseMatrixType
 
typedef DenseMatrixType::StorageIndex StorageIndex
 
typedef internal::traits< BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > >::CoefficientsType CoefficientsType
 
typedef EigenBase< BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > > Base
 
- Public Types inherited from Eigen::EigenBase< BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > >
typedef Eigen::Index Index
 The interface type of indices. More...
 
typedef internal::traits< BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > >::StorageKind StorageKind
 

Public Member Functions

 BandMatrix (Index rows=Rows, Index cols=Cols, Index supers=Supers, Index subs=Subs)
 
EIGEN_CONSTEXPR Index rows () const
 
EIGEN_CONSTEXPR Index cols () const
 
EIGEN_CONSTEXPR Index supers () const
 
EIGEN_CONSTEXPR Index subs () const
 
const CoefficientsTypecoeffs () const
 
CoefficientsTypecoeffs ()
 
- Public Member Functions inherited from Eigen::internal::BandMatrixBase< BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > >
Index supers () const
 
Index subs () const
 
const CoefficientsTypecoeffs () const
 
CoefficientsTypecoeffs ()
 
Block< CoefficientsType, Dynamic, 1 > col (Index i)
 
Block< CoefficientsType, 1, SizeAtCompileTimediagonal ()
 
const Block< const CoefficientsType, 1, SizeAtCompileTimediagonal () const
 
DiagonalIntReturnType< N >::Type diagonal ()
 
const DiagonalIntReturnType< N >::Type diagonal () const
 
Block< CoefficientsType, 1, Dynamic > diagonal (Index i)
 
const Block< const CoefficientsType, 1, Dynamic > diagonal (Index i) const
 
void evalTo (Dest &dst) const
 
DenseMatrixType toDenseMatrix () const
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
constexpr EIGEN_DEVICE_FUNC BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > & derived ()
 
constexpr EIGEN_DEVICE_FUNC const BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > & derived () const
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
- Public Member Functions inherited from Eigen::EigenBase< BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > >
constexpr EIGEN_DEVICE_FUNC BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > & derived ()
 
constexpr EIGEN_DEVICE_FUNC const BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > & derived () const
 
EIGEN_DEVICE_FUNC BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > & const_cast_derived () const
 
EIGEN_DEVICE_FUNC const BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > & const_derived () const
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index size () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC void evalTo (Dest &dst) const
 
EIGEN_DEVICE_FUNC void addTo (Dest &dst) const
 
EIGEN_DEVICE_FUNC void subTo (Dest &dst) const
 
EIGEN_DEVICE_FUNC void applyThisOnTheRight (Dest &dst) const
 
EIGEN_DEVICE_FUNC void applyThisOnTheLeft (Dest &dst) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE DeviceWrapper< BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >, Device > device (Device &device)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE DeviceWrapper< const BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >, Device > device (Device &device) const
 

Protected Attributes

CoefficientsType m_coeffs
 
internal::variable_if_dynamic< Index, Rows > m_rows
 
internal::variable_if_dynamic< Index, Supersm_supers
 
internal::variable_if_dynamic< Index, Subsm_subs
 

Additional Inherited Members

- Protected Types inherited from Eigen::internal::BandMatrixBase< BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > >
enum  
 
- Protected Member Functions inherited from Eigen::internal::BandMatrixBase< BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options > >
Index diagonalLength (Index i) const
 

Detailed Description

template<typename Scalar_, int Rows, int Cols, int Supers, int Subs, int Options>
class Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >

Represents a rectangular matrix with a banded storage.

Template Parameters
Scalar_Numeric type, i.e. float, double, int
Rows_Number of rows, or Dynamic
Cols_Number of columns, or Dynamic
Supers_Number of super diagonal
Subs_Number of sub diagonal
Options_A combination of either RowMajor or ColMajor, and of SelfAdjoint The former controls storage order, and defaults to column-major. The latter controls whether the matrix represents a selfadjoint matrix in which case either Supers of Subs have to be null.
See also
class TridiagonalMatrix

Member Typedef Documentation

◆ CoefficientsType

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
typedef internal::traits<BandMatrix>::CoefficientsType Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::CoefficientsType

◆ Scalar

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
typedef internal::traits<BandMatrix>::Scalar Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::Scalar

◆ StorageIndex

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
typedef internal::traits<BandMatrix>::StorageIndex Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::StorageIndex

Constructor & Destructor Documentation

◆ BandMatrix()

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::BandMatrix ( Index  rows = Rows,
Index  cols = Cols,
Index  supers = Supers,
Index  subs = Subs 
)
inlineexplicit
EIGEN_CONSTEXPR Index subs() const
Definition: BandMatrix.h:212
internal::variable_if_dynamic< Index, Supers > m_supers
Definition: BandMatrix.h:220
internal::variable_if_dynamic< Index, Rows > m_rows
Definition: BandMatrix.h:219
CoefficientsType m_coeffs
Definition: BandMatrix.h:218
EIGEN_CONSTEXPR Index supers() const
Definition: BandMatrix.h:209
EIGEN_CONSTEXPR Index cols() const
Definition: BandMatrix.h:206
internal::variable_if_dynamic< Index, Subs > m_subs
Definition: BandMatrix.h:221
EIGEN_CONSTEXPR Index rows() const
Definition: BandMatrix.h:203

Member Function Documentation

◆ coeffs() [1/2]

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
CoefficientsType& Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::coeffs ( )
inline
215 { return m_coeffs; }

◆ coeffs() [2/2]

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
const CoefficientsType& Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::coeffs ( ) const
inline
214 { return m_coeffs; }

◆ cols()

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
EIGEN_CONSTEXPR Index Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::cols ( ) const
inline

◆ rows()

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
EIGEN_CONSTEXPR Index Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::rows ( ) const
inline

◆ subs()

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
EIGEN_CONSTEXPR Index Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::subs ( ) const
inline
Returns
the number of sub diagonals
212 { return m_subs.value(); }

◆ supers()

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
EIGEN_CONSTEXPR Index Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::supers ( ) const
inline
Returns
the number of super diagonals
209 { return m_supers.value(); }

Member Data Documentation

◆ m_coeffs

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
CoefficientsType Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::m_coeffs
protected

◆ m_rows

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
internal::variable_if_dynamic<Index, Rows> Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::m_rows
protected

◆ m_subs

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
internal::variable_if_dynamic<Index, Subs> Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::m_subs
protected

◆ m_supers

template<typename Scalar_ , int Rows, int Cols, int Supers, int Subs, int Options>
internal::variable_if_dynamic<Index, Supers> Eigen::internal::BandMatrix< Scalar_, Rows, Cols, Supers, Subs, Options >::m_supers
protected

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