nmf_update.brunet implements in C++ an optimised
  version of the single update step.
  Algorithms brunet and .R#brunet provide
  the complete NMF algorithm from Brunet et al.
  (2004), using the C++-optimised and pure R updates
  nmf_update.brunet and
  nmf_update.brunet_R respectively.
  Algorithm KL provides an NMF algorithm based on
  the C++-optimised version of the updates from
  Brunet et al. (2004), which uses the stationarity
  of the objective value as a stopping criterion
  nmf.stop.stationary, instead of the
  stationarity of the connectivity matrix
  nmf.stop.connectivity as used by
  brunet.
library(RcppOctave) file.show(system.mfile('brunet.m', package='NMF'))
nmf_update.brunet_R(i, v, x, eps = .Machine$double.eps, ...)
  nmf_update.brunet(i, v, x, copy = FALSE, eps = .Machine$double.eps, ...)
  nmfAlgorithm.brunet_R(..., .stop = NULL, maxIter = nmf.getOption("maxIter") %||% 2000, eps = .Machine$double.eps, stopconv = 40, check.interval = 10)
  nmfAlgorithm.brunet(..., .stop = NULL, maxIter = nmf.getOption("maxIter") %||% 2000, copy = FALSE, eps = .Machine$double.eps, stopconv = 40, check.interval = 10)
  nmfAlgorithm.KL(..., .stop = NULL, maxIter = nmf.getOption("maxIter") %||% 2000, copy = FALSE, eps = .Machine$double.eps, stationary.th = .Machine$double.eps, check.interval = 5 * check.niter, check.niter = 10L)
  nmfAlgorithm.brunet_M(..., object, y, x)NMF object.onInit and Stop
  respectively).FALSE) or
  on a copy (TRUE - default). With copy=FALSE
  the memory footprint is very small, and some speed-up may
  be achieved in the case of big matrices. However, greater
  care should be taken due the side effect. We recommend
  that only experienced users use copy=TRUE.maxIter. nmf.stop.stationary;
  (object="NMFStrategy", i="integer", y="matrix",
  x="NMF", ...), where object is the
  NMFStrategy object that describes the algorithm
  being run, i is the current iteration, y is
  the target matrix and x is the current value of
  the NMF model. nmf_update.brunet_R implements in pure R a single
  update step, i.e. it updates both matrices.
  Lee DD and Seung H (2001). "Algorithms for non-negative
  matrix factorization." _Advances in neural information
  processing systems_.