nmf 0.1.1

Non-negative matrix factorization.
Documentation
  • Coverage
  • 20%
    1 out of 5 items documented0 out of 4 items with examples
  • Size
  • Source code size: 5.76 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 303.82 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 16s Average build duration of successful builds.
  • all releases: 16s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • curlywurlycraig/nmf
    2 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • curlywurlycraig

Non-negative matrix factorisation is a method for factoring an input matrix into two other matrices. This has many applications, particularly in problems of determining how some feature vectors can be composed of other "template" feature vectors.

This Rust library currently implements a fast update step for the activation matrix (usually labelled "H") given some input ("V") and template library ("W"). This largely builds on the work in "Real-time polyphonic music transcription with non-negative matrix factorization and beta-divergence", by Arnaud Dessein et. al.

In the future, it may add support for update steps for "W" too.

Usage

let mut nmf = FixedTemplateNmf::new(templates, activation_coef, &input, 0.5);

for _ in 1..5 {
    nmf.update_activation_coef();
}

let activation = nmf.get_activation_coef();