Main MRPT website > C++ reference
MRPT logo
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes

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


Detailed Description

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

Represents a rectangular matrix with a banded storage.

Parameters:
_ScalarNumeric type, i.e. float, double, int
RowsNumber of rows, or Dynamic
ColsNumber of columns, or Dynamic
SupersNumber of super diagonal
SubsNumber of sub diagonal
_OptionsA 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 represent a selfadjoint matrix in which case either Supers of Subs have to be null.
See also:
class TridiagonalMatrix

Definition at line 66 of file BandMatrix.h.

#include <src/Core/BandMatrix.h>

Inheritance diagram for internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >:
Inheritance graph
[legend]

List of all members.

Classes

struct  DiagonalIntReturnType

Public Types

enum  {
  Flags = internal::traits<BandMatrix>::Flags, CoeffReadCost = internal::traits<BandMatrix>::CoeffReadCost, RowsAtCompileTime = internal::traits<BandMatrix>::RowsAtCompileTime, ColsAtCompileTime = internal::traits<BandMatrix>::ColsAtCompileTime,
  MaxRowsAtCompileTime = internal::traits<BandMatrix>::MaxRowsAtCompileTime, MaxColsAtCompileTime = internal::traits<BandMatrix>::MaxColsAtCompileTime
}
typedef internal::traits
< BandMatrix >::Scalar 
Scalar
typedef Matrix< Scalar,
RowsAtCompileTime,
ColsAtCompileTime > 
DenseMatrixType
typedef DenseMatrixType::Index Index

Public Member Functions

 BandMatrix (Index rows=Rows, Index cols=Cols, Index supers=Supers, Index subs=Subs)
Index rows () const
Index cols () const
Index supers () const
Index subs () const
Block< DataType, Dynamic, 1 > col (Index i)
Block< DataType,
1, SizeAtCompileTime > 
diagonal ()
const Block< const DataType,
1, SizeAtCompileTime > 
diagonal () const
template<int N>
DiagonalIntReturnType< N >::Type diagonal ()
template<int N>
const DiagonalIntReturnType< N >
::Type 
diagonal () const
Block< DataType, 1, Dynamicdiagonal (Index i)
const Block< const DataType,
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(Rows,Cols) }
typedef Matrix< Scalar,
DataRowsAtCompileTime,
ColsAtCompileTime, Options
&RowMajor?RowMajor:ColMajor > 
DataType

Protected Member Functions

Index diagonalLength (Index i) const

Protected Attributes

DataType m_data
internal::variable_if_dynamic
< Index, Rows > 
m_rows
internal::variable_if_dynamic
< Index, Supers > 
m_supers
internal::variable_if_dynamic
< Index, Subs > 
m_subs

Member Typedef Documentation

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
typedef Matrix<Scalar,DataRowsAtCompileTime,ColsAtCompileTime,Options&RowMajor?RowMajor:ColMajor> internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::DataType [protected]

Definition at line 89 of file BandMatrix.h.

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
typedef Matrix<Scalar,RowsAtCompileTime,ColsAtCompileTime> internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::DenseMatrixType

Definition at line 79 of file BandMatrix.h.

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
typedef DenseMatrixType::Index internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::Index
template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
typedef internal::traits<BandMatrix>::Scalar internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::Scalar

Definition at line 78 of file BandMatrix.h.


Member Enumeration Documentation

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
anonymous enum
Enumerator:
Flags 
CoeffReadCost 
RowsAtCompileTime 
ColsAtCompileTime 
MaxRowsAtCompileTime 
MaxColsAtCompileTime 

Definition at line 70 of file BandMatrix.h.

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
anonymous enum [protected]
Enumerator:
DataRowsAtCompileTime 
SizeAtCompileTime 

Definition at line 83 of file BandMatrix.h.


Constructor & Destructor Documentation

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::BandMatrix ( Index  rows = Rows,
Index  cols = Cols,
Index  supers = Supers,
Index  subs = Subs 
) [inline]

Definition at line 93 of file BandMatrix.h.


Member Function Documentation

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
Block<DataType,Dynamic,1> internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::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 115 of file BandMatrix.h.

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
Index internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::cols ( ) const [inline]
template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
template<int N>
DiagonalIntReturnType<N>::Type internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::diagonal ( ) [inline]
Returns:
a vector expression of the N -th sub or super diagonal

Definition at line 156 of file BandMatrix.h.

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
template<int N>
const DiagonalIntReturnType<N>::Type internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::diagonal ( ) const [inline]
Returns:
a vector expression of the N -th sub or super diagonal

Definition at line 162 of file BandMatrix.h.

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
Block<DataType,1,Dynamic> internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::diagonal ( Index  i) [inline]
Returns:
a vector expression of the i -th sub or super diagonal

Definition at line 168 of file BandMatrix.h.

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
const Block<const DataType,1,Dynamic> internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::diagonal ( Index  i) const [inline]
Returns:
a vector expression of the i -th sub or super diagonal

Definition at line 175 of file BandMatrix.h.

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
Block<DataType,1,SizeAtCompileTime> internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::diagonal ( ) [inline]
template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
const Block<const DataType,1,SizeAtCompileTime> internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::diagonal ( ) const [inline]
Returns:
a vector expression of the main diagonal (const version)

Definition at line 135 of file BandMatrix.h.

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
Index internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::diagonalLength ( Index  i) const [inline, protected]
template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
template<typename Dest >
void internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::evalTo ( Dest &  dst) const [inline]
template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
Index internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::rows ( ) const [inline]
template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
Index internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::subs ( ) const [inline]
template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
Index internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::supers ( ) const [inline]
template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
DenseMatrixType internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::toDenseMatrix ( ) const [inline]

Definition at line 192 of file BandMatrix.h.


Member Data Documentation

template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
DataType internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::m_data [protected]
template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
internal::variable_if_dynamic<Index, Rows> internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::m_rows [protected]
template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
internal::variable_if_dynamic<Index, Subs> internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::m_subs [protected]
template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
internal::variable_if_dynamic<Index, Supers> internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >::m_supers [protected]



Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:16:28 UTC 2011