humoto
Classes | Namespaces | Macros
blockmatrix.h File Reference

Detailed Description

Author
Alexander Sherikov

Definition in file blockmatrix.h.

Go to the source code of this file.

Classes

class  etools::BlockMatrix< t_block_rows_num, t_block_cols_num, t_sparsity_type >
 Block matrix, the raw matrix is stored inside (not a reference). More...
 
class  etools::BlockMatrixInterface< t_block_rows_num, t_block_cols_num, t_sparsity_type >
 Provides block interface for arbitrary Matrix without copying it. More...
 
class  etools::BlockMatrixMap< t_Scalar, t_alignment, t_Stride, t_block_rows_num, t_block_cols_num, t_sparsity_type >
 Blocked access to an Eigen::Map. Quick hack – use with care. More...
 
class  etools::ConstBlockMatrixInterface< t_block_rows_num, t_block_cols_num, t_sparsity_type >
 Provides block interface for arbitrary Matrix without copying it. More...
 
class  etools::DiagonalBlockKroneckerProduct< t_block_rows_num, t_block_cols_num >
 A shorthand class for a specific sparsity type. More...
 
class  etools::DiagonalBlockMatrix< t_block_rows_num, t_block_cols_num >
 A shorthand class for a specific sparsity type. More...
 
class  etools::GenericBlockKroneckerProduct< t_block_rows_num, t_block_cols_num >
 A shorthand class for a specific sparsity type. More...
 
class  etools::GenericBlockMatrix< t_block_rows_num, t_block_cols_num >
 A shorthand class for a specific sparsity type. More...
 
class  etools::LeftLowerTriangularBlockKroneckerProduct< t_block_rows_num, t_block_cols_num >
 A shorthand class for a specific sparsity type. More...
 
class  etools::LeftLowerTriangularBlockMatrix< t_block_rows_num, t_block_cols_num >
 A shorthand class for a specific sparsity type. More...
 

Namespaces

 etools
 This namespace contains various functions operating on Eigen matrices and vectors.
 

Macros

#define EIGENTOOLS_CODE_GENERATOR(ClassName, MatrixType)
 
#define EIGENTOOLS_CODE_GENERATOR(class_name, sparsity_type)
 
#define EIGENTOOLS_CODE_GENERATOR(class_name, sparsity_type)
 
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND
 
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixBase<DefaultDynamicMatrix, t_block_rows_num, t_block_cols_num, t_sparsity_type>
 

Macro Definition Documentation

◆ EIGENTOOLS_CODE_GENERATOR [1/3]

#define EIGENTOOLS_CODE_GENERATOR (   ClassName,
  MatrixType 
)
Value:
template< int t_block_rows_num, \
int t_block_cols_num, \
MatrixSparsityType::Type t_sparsity_type> \
class EIGENTOOLS_VISIBILITY_ATTRIBUTE ClassName : \
public BlockMatrixBase<MatrixType, t_block_rows_num, t_block_cols_num, t_sparsity_type> \
{\
public:\
ClassName( MatrixType matrix,\
const std::ptrdiff_t block_rows_num = MatrixBlockSizeType::UNDEFINED,\
const std::ptrdiff_t block_cols_num = MatrixBlockSizeType::UNDEFINED)\
: BlockMatrixBase< MatrixType, \
t_block_rows_num, \
t_block_cols_num, \
t_sparsity_type>(matrix, block_rows_num, block_cols_num) {} \
};
#define EIGENTOOLS_VISIBILITY_ATTRIBUTE
Definition: eigentools.h:21

Definition at line 242 of file blockmatrix.h.

◆ EIGENTOOLS_CODE_GENERATOR [2/3]

#define EIGENTOOLS_CODE_GENERATOR (   class_name,
  sparsity_type 
)
Value:
template< int t_block_rows_num,\
int t_block_cols_num>\
: public BlockKroneckerProductBase< const DefaultDynamicMatrix &, \
t_block_rows_num, \
t_block_cols_num, \
sparsity_type> \
{\
public:\
class_name( const DefaultDynamicMatrix & matrix, \
const std::ptrdiff_t identity_size = 1, \
const std::ptrdiff_t block_rows_num = MatrixBlockSizeType::UNDEFINED, \
const std::ptrdiff_t block_cols_num = MatrixBlockSizeType::UNDEFINED) \
: BlockKroneckerProductBase<const DefaultDynamicMatrix &, \
t_block_rows_num, \
t_block_cols_num, \
sparsity_type>( matrix, \
identity_size, \
block_rows_num, \
block_cols_num) {};\
};
#define EIGENTOOLS_VISIBILITY_ATTRIBUTE
Definition: eigentools.h:21

Definition at line 242 of file blockmatrix.h.

◆ EIGENTOOLS_CODE_GENERATOR [3/3]

#define EIGENTOOLS_CODE_GENERATOR (   class_name,
  sparsity_type 
)
Value:
template< int t_block_rows_num,\
int t_block_cols_num>\
class EIGENTOOLS_VISIBILITY_ATTRIBUTE class_name : public BlockMatrix<t_block_rows_num, t_block_cols_num, sparsity_type> \
{\
public:\
class_name( const std::ptrdiff_t block_rows_num = MatrixBlockSizeType::UNDEFINED, \
const std::ptrdiff_t block_cols_num = MatrixBlockSizeType::UNDEFINED) \
: BlockMatrix<t_block_rows_num, t_block_cols_num, sparsity_type>(block_rows_num, block_cols_num) {};\
class_name( const DefaultDynamicMatrix & matrix, \
const std::ptrdiff_t block_rows_num = MatrixBlockSizeType::UNDEFINED, \
const std::ptrdiff_t block_cols_num = MatrixBlockSizeType::UNDEFINED) \
: BlockMatrix<t_block_rows_num, t_block_cols_num, sparsity_type>(matrix, block_rows_num, block_cols_num) {};\
class_name( DefaultDynamicMatrix & matrix, \
const std::ptrdiff_t block_rows_num = MatrixBlockSizeType::UNDEFINED, \
const std::ptrdiff_t block_cols_num = MatrixBlockSizeType::UNDEFINED) \
: BlockMatrix<t_block_rows_num, t_block_cols_num, sparsity_type>(matrix, block_rows_num, block_cols_num) {};\
};
#define EIGENTOOLS_VISIBILITY_ATTRIBUTE
Definition: eigentools.h:21

Definition at line 242 of file blockmatrix.h.

◆ EIGENTOOLS_PARENT_CLASS_SHORTHAND [1/2]

#define EIGENTOOLS_PARENT_CLASS_SHORTHAND
Value:
BlockMatrixBase< const Eigen::Map< const EIGENTOOLS_DYNAMIC_MATRIX(t_Scalar),\
t_alignment, \
t_Stride >, \
t_block_rows_num, t_block_cols_num, t_sparsity_type>
#define EIGENTOOLS_DYNAMIC_MATRIX(Scalar)
Definition: eigentools.h:46

Definition at line 167 of file blockmatrix.h.

◆ EIGENTOOLS_PARENT_CLASS_SHORTHAND [2/2]

#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixBase<DefaultDynamicMatrix, t_block_rows_num, t_block_cols_num, t_sparsity_type>

Definition at line 167 of file blockmatrix.h.