mlpack  1.0.12
quic_svd.hpp
Go to the documentation of this file.
1 
14 #ifndef __MLPACK_METHODS_QUIC_SVD_QUIC_SVD_HPP
15 #define __MLPACK_METHODS_QUIC_SVD_QUIC_SVD_HPP
16 
17 #include <mlpack/core.hpp>
19 
20 namespace mlpack {
21 namespace svd {
22 
23 class QUIC_SVD
24 {
25  public:
26 
41  QUIC_SVD(const arma::mat& dataset,
42  arma::mat& u,
43  arma::mat& v,
44  arma::mat& sigma,
45  const double epsilon = 0.03,
46  const double delta = 0.1);
47 
56  void ExtractSVD(arma::mat& u,
57  arma::mat& v,
58  arma::mat& sigma);
59 
60  private:
62  const arma::mat& dataset;
64  double epsilon;
66  double delta;
68  arma::mat basis;
69 };
70 
71 }; // namespace svd
72 }; // namespace mlpack
73 
74 // Include implementation.
75 #include "quic_svd_impl.hpp"
76 
77 #endif
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: load.hpp:23
arma::mat basis
Subspace basis of the input dataset.
Definition: quic_svd.hpp:68
double delta
Cumulative probability for Monte Carlo error lower bound.
Definition: quic_svd.hpp:66
double epsilon
Error tolerance fraction for calculated subspace.
Definition: quic_svd.hpp:64
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:62