From a6d4502071ab708d4b06d58a737e51b1df99b459 Mon Sep 17 00:00:00 2001 From: Samuel Fadel Date: Wed, 31 Aug 2016 09:45:48 -0300 Subject: Updated LAMP code. --- lamp.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lamp.cpp b/lamp.cpp index 77bbac4..9b06026 100644 --- a/lamp.cpp +++ b/lamp.cpp @@ -4,7 +4,7 @@ #include "utils.h" -static const double EPSILON = 1e-3; +static const double EPSILON = 1e-6; arma::mat mp::lamp(const arma::mat &X, const arma::uvec &sampleIndices, const arma::mat &Ys) { @@ -50,12 +50,12 @@ void mp::lamp(const arma::mat &X, const arma::uvec &sampleIndices, const arma::m arma::mat &B = Yhat; B.each_col() %= alphas.t(); - arma::mat U(Ys.n_rows, Ys.n_cols), V(Ys.n_cols, Ys.n_cols); + arma::mat U, V; arma::vec s(Ys.n_cols); arma::svd(U, s, V, At * B); - arma::mat M = U.cols(0, 1) * V.t(); + arma::mat M = U.head_cols(Ys.n_cols) * V.t(); - Y(i, arma::span(0, 1)) = (point - Xtil) * M + Ytil; + Y.row(i) = (point - Xtil) * M + Ytil; } for (arma::uword i = 0; i < sampleSize; i++) { -- cgit v1.2.3