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-class 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 })
## Registering NMF algorithm 'mynmf' [NMFStrategyFunction] ... OK

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