14 #ifndef MLPACK_METHODS_PCA_DECOMPOSITION_POLICIES_RANDOMIZED_BLOCK_KRYLOV_HPP 15 #define MLPACK_METHODS_PCA_DECOMPOSITION_POLICIES_RANDOMIZED_BLOCK_KRYLOV_HPP 38 const size_t blockSize = 0) :
39 maxIterations(maxIterations),
56 void Apply(
const arma::mat& data,
57 const arma::mat& centeredData,
58 arma::mat& transformedData,
69 rsvd.
Apply(centeredData, eigvec, eigVal, v, rank);
74 eigVal %= eigVal / (data.n_cols - 1);
77 transformedData = arma::trans(eigvec) * centeredData;
size_t MaxIterations() const
Get the number of iterations for the power method.
size_t & MaxIterations()
Modify the number of iterations for the power method.
Linear algebra utility functions, generally performed on matrices or vectors.
size_t BlockSize() const
Get the block size.
The core includes that mlpack expects; standard C++ includes and Armadillo.
void Apply(const arma::mat &data, arma::mat &u, arma::vec &s, arma::mat &v, const size_t rank)
Apply Principal Component Analysis to the provided data set using the randomized block krylov SVD...
RandomizedBlockKrylovSVDPolicy(const size_t maxIterations=2, const size_t blockSize=0)
Use randomized block krylov SVD method to perform the principal components analysis (PCA)...
Randomized block krylov SVD is a matrix factorization that is based on randomized matrix approximatio...
size_t & BlockSize()
Modify the block size.
void Apply(const arma::mat &data, const arma::mat ¢eredData, arma::mat &transformedData, arma::vec &eigVal, arma::mat &eigvec, const size_t rank)
Apply Principal Component Analysis to the provided data set using the randomized block krylov SVD met...
Implementation of the randomized block krylov SVD policy.