nmf_update.lee
implements in C++ an optimised
version of the single update step.
Algorithms nmf_update.lee
and
nmf_update.lee_R
respectively.
Algorithm nmf.stop.stationary
, instead of the
stationarity of the connectivity matrix
nmf.stop.connectivity
as used by
nmf_update.lee_R(i, v, x, rescale = TRUE, eps = 10^-9,
...) nmf_update.lee(i, v, x, rescale = TRUE, copy = FALSE,
eps = 10^-9, weight = NULL, ...)
nmfAlgorithm.lee_R(..., .stop = NULL,
maxIter = nmf.getOption("maxIter") %||% 2000,
rescale = TRUE, eps = 10^-9, stopconv = 40,
check.interval = 10)
nmfAlgorithm.lee(..., .stop = NULL,
maxIter = nmf.getOption("maxIter") %||% 2000,
rescale = TRUE, copy = FALSE, eps = 10^-9,
weight = NULL, stopconv = 40, check.interval = 10)
nmfAlgorithm.Frobenius(..., .stop = NULL,
maxIter = nmf.getOption("maxIter") %||% 2000,
rescale = TRUE, copy = FALSE, eps = 10^-9,
weight = NULL, stationary.th = .Machine$double.eps,
check.interval = 5 * check.niter, check.niter = 10L)
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 achievedv
-- and h
.nmf_update.lee_R
implements in pure R a single
update step, i.e. it updates both matrices.