MLPACK  1.0.10
quic_svd.hpp
Go to the documentation of this file.
1 
22 #ifndef __MLPACK_METHODS_QUIC_SVD_QUIC_SVD_HPP
23 #define __MLPACK_METHODS_QUIC_SVD_QUIC_SVD_HPP
24 
25 #include <mlpack/core.hpp>
27 
28 namespace mlpack {
29 namespace svd {
30 
31 class QUIC_SVD
32 {
33  public:
34 
49  QUIC_SVD(const arma::mat& dataset,
50  arma::mat& u,
51  arma::mat& v,
52  arma::mat& sigma,
53  const double epsilon = 0.03,
54  const double delta = 0.1);
55 
64  void ExtractSVD(arma::mat& u,
65  arma::mat& v,
66  arma::mat& sigma);
67 
68  private:
70  const arma::mat& dataset;
72  double epsilon;
74  double delta;
76  arma::mat basis;
77 };
78 
79 }; // namespace svd
80 }; // namespace mlpack
81 
82 // Include implementation.
83 #include "quic_svd_impl.hpp"
84 
85 #endif
arma::mat basis
Subspace basis of the input dataset.
Definition: quic_svd.hpp:76
double delta
Cumulative probability for Monte Carlo error lower bound.
Definition: quic_svd.hpp:74
double epsilon
Error tolerance fraction for calculated subspace.
Definition: quic_svd.hpp:72
void ExtractSVD(arma::mat &u, arma::mat &v, arma::mat &sigma)
This function uses the vector subspace created using a cosine tree to calculate an approximate SVD of...
QUIC_SVD(const arma::mat &dataset, arma::mat &u, arma::mat &v, arma::mat &sigma, const double epsilon=0.03, const double delta=0.1)
Constructor which implements the QUIC-SVD algorithm.
const arma::mat & dataset
Matrix for which cosine tree is constructed.
Definition: quic_svd.hpp:70