bnmf-algs
Namespaces | Functions
bld_appr.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::bld
 Namespace that contains solver and auxiliary functions for Best Latent Decomposition (BLD) problem.
 

Functions

template<typename T >
void bnmf_algs::details::update_X_hat (const matrix_t< T > &nu, const matrix_t< T > &mu, matrix_t< T > &X_hat)
 
template<typename T >
void bnmf_algs::details::update_orig_over_appr (const matrix_t< T > &X, const matrix_t< T > &X_hat, const matrix_t< T > &eps_mat, matrix_t< T > &orig_over_appr)
 
template<typename T >
void bnmf_algs::details::update_orig_over_appr_squared (const matrix_t< T > &X, const matrix_t< T > &X_hat, const matrix_t< T > &eps_mat, matrix_t< T > &orig_over_appr_squared)
 
template<typename T >
void bnmf_algs::details::update_S (const matrix_t< T > &orig_over_appr, const matrix_t< T > &nu, const matrix_t< T > &mu, tensor_t< T, 3 > &S)
 
template<typename T >
void bnmf_algs::details::update_alpha_eph (const vector_t< T > &alpha, const tensor_t< T, 3 > &S, matrix_t< T > &alpha_eph)
 
template<typename T >
void bnmf_algs::details::update_beta_eph (const vector_t< T > &beta, const tensor_t< T, 3 > &S, matrix_t< T > &beta_eph)
 
template<typename T >
void bnmf_algs::details::update_grad_plus (const matrix_t< T > &beta_eph, const tensor_t< T, 3 > &S, tensor_t< T, 3 > &grad_plus)
 
template<typename T >
void bnmf_algs::details::update_grad_minus (const matrix_t< T > &alpha_eph, matrix_t< T > &grad_minus)
 
template<typename T >
void bnmf_algs::details::update_nu (const matrix_t< T > &orig_over_appr, const matrix_t< T > &orig_over_appr_squared, const matrix_t< T > &mu, const tensor_t< T, 3 > &grad_plus, const matrix_t< T > &grad_minus, double eps, matrix_t< T > &nu)
 
template<typename T >
static void bnmf_algs::details::update_mu (const matrix_t< T > &orig_over_appr, const matrix_t< T > &orig_over_appr_squared, const matrix_t< T > &nu, const tensor_t< T, 3 > &grad_plus, const matrix_t< T > &grad_minus, double eps, matrix_t< T > &mu)
 
template<typename T , typename Scalar >
std::tuple< tensor_t< T, 3 >, matrix_t< T >, matrix_t< T > > bnmf_algs::bld::bld_appr (const matrix_t< T > &X, size_t z, const alloc_model::Params< Scalar > &model_params, size_t max_iter=1000, double eps=1e-50)
 Compute tensor \(S\), the solution of BLD problem [5], and optimization matrices \(\mu\) and \(\nu\) from matrix \(X\) using the approximate multiplicative algorithm given in [5]. More...