All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
nmf_operations.hpp File Reference
`#include "viennacl/linalg/host_based/nmf_operations.hpp"`
`#include "viennacl/linalg/cuda/common.hpp"`

Go to the source code of this file.

## Namespaces

| viennacl
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
| viennacl::linalg
| Provides all linear algebra operations which are not covered by operator overloads.
| viennacl::linalg::cuda
| Holds all CUDA compute kernels used by ViennaCL.

## Functions

template<typename NumericT >
__global__ void | viennacl::linalg::cuda::el_wise_mul_div (NumericT *matrix1, NumericT const *matrix2, NumericT const *matrix3, unsigned int size)
| Main CUDA kernel for nonnegative matrix factorization of a dense matrices. More...
template<typename NumericT >
void | viennacl::linalg::cuda::nmf (viennacl::matrix_base< NumericT > const &V, viennacl::matrix_base< NumericT > &W, viennacl::matrix_base< NumericT > &H, viennacl::linalg::nmf_config const &conf)
| The nonnegative matrix factorization (approximation) algorithm as suggested by Lee and Seung. Factorizes a matrix V with nonnegative entries into matrices W and H such that ||V - W*H|| is minimized. More...