setNMFMethod: Registering NMF Algorithms

View source: R/registry-algorithms.R

setNMFMethodR Documentation

Registering NMF Algorithms


Adds a new algorithm to the registry of algorithms that perform Nonnegative Matrix Factorization.

nmfRegisterAlgorithm is an alias to setNMFMethod for backward compatibility.


  setNMFMethod(name, method, ...,
    overwrite = isLoadingNamespace(), verbose = TRUE)

  nmfRegisterAlgorithm(name, method, ...,
    overwrite = isLoadingNamespace(), verbose = TRUE)



arguments passed to the factory function NMFStrategy, which instantiate the NMFStrategy object that is stored in registry.


logical that indicates if any existing NMF method with the same name should be overwritten (TRUE) or not (FALSE), in which case an error is thrown.


a logical that indicates if information about the registration should be printed (TRUE) or not (FALSE).


name/key of an NMF algorithm.


definition of the algorithm


# define/regsiter a new -- dummy -- NMF algorithm with the minimum arguments
# y: target matrix
# x: initial NMF model (i.e. the seed)
# NB: this algorithm simply return the seed unchanged
setNMFMethod('mynmf', function(y, x, ...){ x })

# check algorithm on toy data
res <- nmfCheck('mynmf')
# the NMF seed is not changed
stopifnot( nmf.equal(res, nmfCheck('mynmf', seed=res)) )

NMF documentation built on March 30, 2022, 1:05 a.m.