NiHu  2.0
block_product.hpp File Reference

declaration of template function NiHu::block_product, NiHu::semi_block_product and its related metafunctions More...

#include "eigen_utils.hpp"
#include "plain_type.hpp"
#include "product_type.hpp"
#include <iostream>
Include dependency graph for block_product.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  NiHu::block_product_result_type< leftDerived, mat, rightDerived >
 metafunction returning the value type of a block product More...
 
struct  NiHu::semi_block_product_result_type< mat, rightDerived >
 metafunction returning the value type of a semi block product More...
 

Functions

template<class leftDerived , class mat , class rightDerived >
block_product_result_type< leftDerived, mat, rightDerived >::type NiHu::block_product (Eigen::MatrixBase< leftDerived > const &l, mat const &m, Eigen::MatrixBase< rightDerived > const &r)
 compute a block product l * m * r^T More...
 
template<class mat , class rightDerived >
semi_block_product_result_type< mat, rightDerived >::type NiHu::semi_block_product (mat const &m, Eigen::MatrixBase< rightDerived > const &r)
 compute semi block product of a matrix and a vector m * v^T More...
 

Detailed Description

declaration of template function NiHu::block_product, NiHu::semi_block_product and its related metafunctions

Definition in file block_product.hpp.

Function Documentation

◆ block_product()

template<class leftDerived , class mat , class rightDerived >
block_product_result_type<leftDerived, mat, rightDerived>::type NiHu::block_product ( Eigen::MatrixBase< leftDerived > const &  l,
mat const &  m,
Eigen::MatrixBase< rightDerived > const &  r 
)

compute a block product l * m * r^T

Template Parameters
leftDerivedthe left Eigen vector type
matthe matrix type
rightDerivedthe right Eigen vector type
Parameters
[in]lthe left Eigen vector
[in]mthe matrix
[in]rthe right Eigen vector
Returns
the block product l * m * r^T

Definition at line 170 of file block_product.hpp.

◆ semi_block_product()

template<class mat , class rightDerived >
semi_block_product_result_type<mat, rightDerived>::type NiHu::semi_block_product ( mat const &  m,
Eigen::MatrixBase< rightDerived > const &  r 
)

compute semi block product of a matrix and a vector m * v^T

Template Parameters
matthe matrix type
rightthe Eigen vector type
Parameters
[in]mthe matrix
[in]rthe Eigen vector
Returns
the block product m * r^T

Definition at line 194 of file block_product.hpp.