12#ifndef MLPACK_METHODS_SVDWRAPPER_HPP
13#define MLPACK_METHODS_SVDWRAPPER_HPP
39template<
class Factorizer = DummyClass>
44 SVDWrapper(
const Factorizer& factorizer = Factorizer()) :
45 factorizer(factorizer)
61 double Apply(
const arma::mat& V,
76 double Apply(
const arma::mat& V,
83 Factorizer factorizer;
93#include "svd_wrapper_impl.hpp"
This class acts as a dummy class for passing as template parameter.
This class acts as the wrapper for all SVD factorizers which are incompatible with CF module.
SVDWrapper(const Factorizer &factorizer=Factorizer())
double Apply(const arma::mat &V, arma::mat &W, arma::mat &sigma, arma::mat &H) const
Factorizer function which takes SVD of the given matrix and returns the frobenius norm of error.
double Apply(const arma::mat &V, size_t r, arma::mat &W, arma::mat &H) const
Factorizer function which computes SVD and returns matrices as required by CF module.
SVDWrapper< DummyClass > ArmaSVDFactorizer
add simple typedefs
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.