humoto
Functions
BlockMatrixOperators

Detailed Description

Arithmetic operators for various block matrices.

Functions

template<class t_MatrixType , int t_block_rows_num, int t_block_cols_num, MatrixSparsityType::Type t_sparsity_type, typename t_Scalar , int t_vector_size, int t_vector_options>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* (const BlockKroneckerProductBase< t_MatrixType, t_block_rows_num, t_block_cols_num, t_sparsity_type > &bm, const Eigen::Matrix< t_Scalar, t_vector_size, 1, t_vector_options > &vector)
 BlockKroneckerProduct * Vector. More...
 
template<typename t_left_MatrixType , int t_left_block_rows_num, int t_left_block_cols_num, MatrixSparsityType::Type t_left_sparsity_type, typename t_right_MatrixType , int t_right_block_rows_num, int t_right_block_cols_num, MatrixSparsityType::Type t_right_sparsity_type>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* (const BlockKroneckerProductBase< t_left_MatrixType, t_left_block_rows_num, t_left_block_cols_num, t_left_sparsity_type > &left, const BlockMatrixBase< t_right_MatrixType, t_right_block_rows_num, t_right_block_cols_num, t_right_sparsity_type > &right)
 BlockKroneckerProduct * BlockMatrix. More...
 
template<typename t_left_MatrixType , int t_left_block_rows_num, int t_left_block_cols_num, MatrixSparsityType::Type t_left_sparsity_type, typename t_right_MatrixType , int t_right_block_rows_num, int t_right_block_cols_num, MatrixSparsityType::Type t_right_sparsity_type>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* (const BlockMatrixBase< t_left_MatrixType, t_left_block_rows_num, t_left_block_cols_num, t_left_sparsity_type > &left, const BlockKroneckerProductBase< t_right_MatrixType, t_right_block_rows_num, t_right_block_cols_num, t_right_sparsity_type > &right)
 BlockKroneckerProduct * BlockMatrix. More...
 
template<typename t_MatrixType , int t_block_rows_num, int t_block_cols_num, MatrixSparsityType::Type t_sparsity_type, class t_Derived >
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* (const BlockMatrixBase< t_MatrixType, t_block_rows_num, t_block_cols_num, t_sparsity_type > &bm, const Eigen::MatrixBase< t_Derived > &matrix)
 'BlockMatrixBase * Eigen::Matrix' operator More...
 
template<class t_Derived , typename t_MatrixType , int t_block_rows_num, int t_block_cols_num, MatrixSparsityType::Type t_sparsity_type, int t_rows_in, int t_cols_in>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* (const Eigen::MatrixBase< t_Derived > &eigen_matrix, const BlockMatrixBase< t_MatrixType, t_block_rows_num, t_block_cols_num, t_sparsity_type > &bm)
 Computes 'Eigen::Matrix * BlockMatrixBase'. More...
 
template<typename t_left_MatrixType , int t_left_block_rows_num, int t_left_block_cols_num, MatrixSparsityType::Type t_left_sparsity_type, typename t_right_MatrixType , int t_right_block_cols_num>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* (const BlockMatrixBase< t_left_MatrixType, t_left_block_rows_num, t_left_block_cols_num, t_left_sparsity_type > &left, const BlockMatrixBase< t_right_MatrixType, t_left_block_cols_num, t_right_block_cols_num, MatrixSparsityType::DIAGONAL > &right)
 BlockMatrix * BlockMatrix (left * right) More...
 
template<typename t_left_MatrixType , int t_left_block_rows_num, int t_left_block_cols_num, MatrixSparsityType::Type t_left_sparsity_type, typename t_right_MatrixType , int t_right_block_cols_num, MatrixSparsityType::Type t_right_sparsity_type>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* (const BlockMatrixBase< t_left_MatrixType, t_left_block_rows_num, t_left_block_cols_num, t_left_sparsity_type > &left, const BlockMatrixBase< t_right_MatrixType, t_left_block_cols_num, t_right_block_cols_num, t_right_sparsity_type > &right)
 BlockMatrix * BlockMatrix (left * right) More...
 

Function Documentation

◆ operator*() [1/7]

template<class t_MatrixType , int t_block_rows_num, int t_block_cols_num, MatrixSparsityType::Type t_sparsity_type, typename t_Scalar , int t_vector_size, int t_vector_options>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* ( const BlockKroneckerProductBase< t_MatrixType, t_block_rows_num, t_block_cols_num, t_sparsity_type > &  bm,
const Eigen::Matrix< t_Scalar, t_vector_size, 1, t_vector_options > &  vector 
)

BlockKroneckerProduct * Vector.

Template Parameters
t_MatrixTypetype of raw matrix
t_block_rows_numnumber of rows in one block
t_block_cols_numnumber of columns in one block
t_sparsity_typesparsity type
t_Scalarvector type
t_vector_sizevector size
t_vector_optionsvector options
Parameters
[in]bmblock matrix
[in]vectorvector
Returns
result of multiplication

Definition at line 1012 of file blockmatrix_kronecker.h.

◆ operator*() [2/7]

template<typename t_left_MatrixType , int t_left_block_rows_num, int t_left_block_cols_num, MatrixSparsityType::Type t_left_sparsity_type, typename t_right_MatrixType , int t_right_block_rows_num, int t_right_block_cols_num, MatrixSparsityType::Type t_right_sparsity_type>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* ( const BlockKroneckerProductBase< t_left_MatrixType, t_left_block_rows_num, t_left_block_cols_num, t_left_sparsity_type > &  left,
const BlockMatrixBase< t_right_MatrixType, t_right_block_rows_num, t_right_block_cols_num, t_right_sparsity_type > &  right 
)

BlockKroneckerProduct * BlockMatrix.

Template Parameters
t_right_MatrixTypetype of raw matrix
t_left_block_rows_numnumber of rows in one block
t_left_block_cols_numnumber of columns in one block
t_left_sparsity_typesparsity type
t_right_MatrixTypetype of raw matrix
t_right_block_rows_numnumber of rows in one block
t_right_block_cols_numnumber of columns in one block
t_right_sparsity_typesparsity type
Parameters
[in]leftBlockKroneckerProduct
[in]rightBlockMatrix
Returns
result of multiplication

Definition at line 1054 of file blockmatrix_kronecker.h.

◆ operator*() [3/7]

template<typename t_left_MatrixType , int t_left_block_rows_num, int t_left_block_cols_num, MatrixSparsityType::Type t_left_sparsity_type, typename t_right_MatrixType , int t_right_block_rows_num, int t_right_block_cols_num, MatrixSparsityType::Type t_right_sparsity_type>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* ( const BlockMatrixBase< t_left_MatrixType, t_left_block_rows_num, t_left_block_cols_num, t_left_sparsity_type > &  left,
const BlockKroneckerProductBase< t_right_MatrixType, t_right_block_rows_num, t_right_block_cols_num, t_right_sparsity_type > &  right 
)

BlockKroneckerProduct * BlockMatrix.

Template Parameters
t_left_MatrixTypetype of raw matrix
t_left_block_rows_numnumber of rows in one block
t_left_block_cols_numnumber of columns in one block
t_left_sparsity_typesparsity type
t_right_MatrixTypetype of raw matrix
t_right_block_rows_numnumber of rows in one block
t_right_block_cols_numnumber of columns in one block
t_right_sparsity_typesparsity type
Parameters
[in]leftBlockKroneckerProduct
[in]rightBlockMatrix
Returns
result of multiplication

Definition at line 1098 of file blockmatrix_kronecker.h.

◆ operator*() [4/7]

template<typename t_MatrixType , int t_block_rows_num, int t_block_cols_num, MatrixSparsityType::Type t_sparsity_type, class t_Derived >
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* ( const BlockMatrixBase< t_MatrixType, t_block_rows_num, t_block_cols_num, t_sparsity_type > &  bm,
const Eigen::MatrixBase< t_Derived > &  matrix 
)

'BlockMatrixBase * Eigen::Matrix' operator

Template Parameters
t_MatrixTypetype of raw matrix
t_block_rows_numnumber of rows in one block
t_block_cols_numnumber of columns in one block
t_sparsity_typesparsity type
t_DerivedEigen parameter
Parameters
[in]bmblock matrix
[in]matrixmatrix
Returns
result of multiplication

Definition at line 1192 of file blockmatrix_base.h.

◆ operator*() [5/7]

template<class t_Derived , typename t_MatrixType , int t_block_rows_num, int t_block_cols_num, MatrixSparsityType::Type t_sparsity_type, int t_rows_in, int t_cols_in>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* ( const Eigen::MatrixBase< t_Derived > &  eigen_matrix,
const BlockMatrixBase< t_MatrixType, t_block_rows_num, t_block_cols_num, t_sparsity_type > &  bm 
)

Computes 'Eigen::Matrix * BlockMatrixBase'.

Template Parameters
t_DerivedEigen parameter
t_MatrixTypetype of raw matrix
t_block_rows_numnumber of rows in one block
t_block_cols_numnumber of columns in one block
t_sparsity_typesparsity type
t_rows_innumber of rows in the matrix
t_cols_innumber of columns in the matrix
Parameters
[in]eigen_matrixmatrix
[in]bmblock matrix
Returns
result of multiplication

Definition at line 1230 of file blockmatrix_base.h.

◆ operator*() [6/7]

template<typename t_left_MatrixType , int t_left_block_rows_num, int t_left_block_cols_num, MatrixSparsityType::Type t_left_sparsity_type, typename t_right_MatrixType , int t_right_block_cols_num>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* ( const BlockMatrixBase< t_left_MatrixType, t_left_block_rows_num, t_left_block_cols_num, t_left_sparsity_type > &  left,
const BlockMatrixBase< t_right_MatrixType, t_left_block_cols_num, t_right_block_cols_num, MatrixSparsityType::DIAGONAL > &  right 
)

BlockMatrix * BlockMatrix (left * right)

Note
't_right_block_rows_num = t_left_block_cols_num' and therefore is omitted
Template Parameters
t_left_MatrixTypetype of raw matrix
t_left_block_rows_numnumber of rows in one block
t_left_block_cols_numnumber of columns in one block
t_left_sparsity_typesparsity type
t_right_MatrixTypetype of raw matrix
t_right_block_cols_numnumber of columns in one block
t_right_sparsity_typesparsity type
Parameters
[in]leftblock matrix
[in]rightblock matrix
Returns
result of multiplication

Definition at line 1269 of file blockmatrix_base.h.

◆ operator*() [7/7]

template<typename t_left_MatrixType , int t_left_block_rows_num, int t_left_block_cols_num, MatrixSparsityType::Type t_left_sparsity_type, typename t_right_MatrixType , int t_right_block_cols_num, MatrixSparsityType::Type t_right_sparsity_type>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* ( const BlockMatrixBase< t_left_MatrixType, t_left_block_rows_num, t_left_block_cols_num, t_left_sparsity_type > &  left,
const BlockMatrixBase< t_right_MatrixType, t_left_block_cols_num, t_right_block_cols_num, t_right_sparsity_type > &  right 
)

BlockMatrix * BlockMatrix (left * right)

Note
't_right_block_rows_num = t_left_block_cols_num' and therefore is omitted
Template Parameters
t_left_MatrixTypetype of raw matrix
t_left_block_rows_numnumber of rows in one block
t_left_block_cols_numnumber of columns in one block
t_left_sparsity_typesparsity type
t_right_MatrixTypetype of raw matrix
t_right_block_cols_numnumber of columns in one block
t_right_sparsity_typesparsity type
Parameters
[in]leftblock matrix
[in]rightblock matrix
Returns
result of multiplication

Definition at line 1311 of file blockmatrix_base.h.