bnmf-algs
Namespaces | Typedefs
bnmf_algs Namespace Reference

Main namespace for bnmf-algs library. More...

Namespaces

 alloc_model
 Namespace that contains functions related to Allocation Model [5].
 
 bld
 Namespace that contains solver and auxiliary functions for Best Latent Decomposition (BLD) problem.
 
 cuda
 cuda namespace contains functions that operate on nvidia GPUs using CUDA routines.
 
 details
 Namespace that contains types and functions for internal computations.
 
 nmf
 Namespace that contains solver and auxiliary functions for computing Nonnegative Matrix Factorization (NMF) of a matrix..
 
 util
 Namespace for general purpose utility functions to be used by all bnmf_algs functions.
 

Typedefs

template<typename Scalar >
using vector_t = Eigen::Matrix< Scalar, 1, Eigen::Dynamic, Eigen::RowMajor >
 Vector type used in the computations. More...
 
using vectord = vector_t< double >
 Vector type specialization using double as Scalar value. More...
 
template<typename Scalar >
using matrix_t = Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >
 Matrix type used in the computations. More...
 
using matrixd = matrix_t< double >
 Matrix type specialization using double as Scalar value. More...
 
template<typename Scalar , size_t N>
using tensor_t = Eigen::Tensor< Scalar, N, Eigen::RowMajor >
 Tensor type used in the computations. More...
 
template<size_t N>
using tensord = tensor_t< double, N >
 Tensor type specialization using double as Scalar value. More...
 
template<size_t N>
using shape = Eigen::array< size_t, N >
 Shape of vectors, matrices, tensors, etc. More...
 

Detailed Description

Main namespace for bnmf-algs library.

Typedef Documentation

template<typename Scalar >
using bnmf_algs::matrix_t = typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>

Matrix type used in the computations.

Todo:
Templatize the matrix elements (int, double, float, etc.)
using bnmf_algs::matrixd = typedef matrix_t<double>

Matrix type specialization using double as Scalar value.

template<size_t N>
using bnmf_algs::shape = typedef Eigen::array<size_t, N>

Shape of vectors, matrices, tensors, etc.

Template Parameters
NNumber of dimensions.
Remarks
Number of dimensions must be known at compile-time.
template<typename Scalar , size_t N>
using bnmf_algs::tensor_t = typedef Eigen::Tensor<Scalar, N, Eigen::RowMajor>

Tensor type used in the computations.

template<size_t N>
using bnmf_algs::tensord = typedef tensor_t<double, N>

Tensor type specialization using double as Scalar value.

template<typename Scalar >
using bnmf_algs::vector_t = typedef Eigen::Matrix<Scalar, 1, Eigen::Dynamic, Eigen::RowMajor>

Vector type used in the computations.

using bnmf_algs::vectord = typedef vector_t<double>

Vector type specialization using double as Scalar value.