bnmf-algs
Namespaces | Functions
bld_mult_funcs.hpp File Reference

Go to the source code of this file.

Namespaces

 bnmf_algs
 Main namespace for bnmf-algs library.
 
 bnmf_algs::details
 Namespace that contains types and functions for internal computations.
 
 bnmf_algs::details::bld_mult
 Namespace containing bld_mult update functions (CUDA/non-CUDA).
 

Functions

template<typename T >
tensor_t< T, 3 > bnmf_algs::details::bld_mult::init_S (const matrix_t< T > &X, size_t z)
 Initialize S tensor using a Dirichlet sample of size z with all concentration parameters set to 1. More...
 
template<typename T >
matrix_t< T > bnmf_algs::details::bld_mult::X_reciprocal (const matrix_t< T > &X, double eps)
 Compute the reciprocal \(\hat{X}\) of the input matrix \(X\). More...
 
template<typename Scalar >
std::pair< vector_t< Scalar >, vector_t< Scalar > > bnmf_algs::details::bld_mult::init_alpha_beta (const alloc_model::Params< Scalar > &params)
 Initialize alpha and beta vectors used in bld_mult. More...
 
template<typename T >
void bnmf_algs::details::bld_mult::update_alpha_eph (const tensor_t< T, 2 > &S_ipk, const vector_t< T > &alpha, matrix_t< T > &alpha_eph)
 Update alpha_eph matrix used in bld_mult. More...
 
template<typename T >
void bnmf_algs::details::bld_mult::update_beta_eph (const tensor_t< T, 2 > &S_pjk, const vector_t< T > &beta, matrix_t< T > &beta_eph)
 Update beta_eph matrix used in bld_mult. More...
 
template<typename T , typename PsiFunction >
void bnmf_algs::details::bld_mult::update_grad_plus (const tensor_t< T, 3 > &S, const matrix_t< T > &beta_eph, PsiFunction psi_fn, tensor_t< T, 3 > &grad_plus)
 Update grad_plus tensor used in bld_mult. More...
 
template<typename T , typename PsiFunction >
void bnmf_algs::details::bld_mult::update_grad_minus (const matrix_t< T > &alpha_eph, PsiFunction psi_fn, matrix_t< T > &grad_minus)
 Update grad_minus tensor used in bld_mult. More...
 
template<typename T >
void bnmf_algs::details::bld_mult::update_nom_mult (const matrix_t< T > &X_reciprocal, const matrix_t< T > &grad_minus, const tensor_t< T, 3 > &S, matrix_t< T > &nom_mult)
 Update nom_mult matrix used in bld_mult. More...
 
template<typename T >
void bnmf_algs::details::bld_mult::update_denom_mult (const matrix_t< T > &X_reciprocal, const tensor_t< T, 3 > &grad_plus, const tensor_t< T, 3 > &S, matrix_t< T > &denom_mult)
 Update denom_mult matrix used in bld_mult. More...
 
template<typename T >
void bnmf_algs::details::bld_mult::update_S (const matrix_t< T > &X, const matrix_t< T > &nom, const matrix_t< T > &denom, const matrix_t< T > &grad_minus, const tensor_t< T, 3 > &grad_plus, const tensor_t< T, 2 > &S_ijp, tensor_t< T, 3 > &S, double eps)
 Update S tensor (output of bld_mult algorithm). More...