[mlpack-git] master: * added tests for PlainSVD (9518d4c)

gitdub at big.cc.gt.atl.ga.us gitdub at big.cc.gt.atl.ga.us
Thu Mar 5 21:55:50 EST 2015


Repository : https://github.com/mlpack/mlpack

On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/904762495c039e345beba14c1142fd719b3bd50e...f94823c800ad6f7266995c700b1b630d5ffdcf40

>---------------------------------------------------------------

commit 9518d4c8deb7c0d3bb51501c9b405c06a0e2a417
Author: sumedhghaisas <sumedhghaisas at gmail.com>
Date:   Mon Aug 4 21:56:29 2014 +0000

    * added tests for PlainSVD


>---------------------------------------------------------------

9518d4c8deb7c0d3bb51501c9b405c06a0e2a417
 src/mlpack/tests/CMakeLists.txt     |  1 +
 src/mlpack/tests/plain_svd_test.cpp | 44 +++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+)

diff --git a/src/mlpack/tests/CMakeLists.txt b/src/mlpack/tests/CMakeLists.txt
index 6257181..d177223 100644
--- a/src/mlpack/tests/CMakeLists.txt
+++ b/src/mlpack/tests/CMakeLists.txt
@@ -55,6 +55,7 @@ add_executable(mlpack_test
   svd_batch_test.cpp
   svd_incremental_test.cpp
   nystroem_method_test.cpp
+  plain_svd_test.cpp
 )
 # Link dependencies of test executable.
 target_link_libraries(mlpack_test
diff --git a/src/mlpack/tests/plain_svd_test.cpp b/src/mlpack/tests/plain_svd_test.cpp
new file mode 100644
index 0000000..b6577e3
--- /dev/null
+++ b/src/mlpack/tests/plain_svd_test.cpp
@@ -0,0 +1,44 @@
+#include <mlpack/core.hpp>
+#include <mlpack/methods/cf/plain_svd.hpp>
+
+#include <boost/test/unit_test.hpp>
+#include "old_boost_test_definitions.hpp"
+
+BOOST_AUTO_TEST_SUITE(PlainSVDTest);
+
+using namespace std;
+using namespace mlpack;
+using namespace mlpack::svd;
+using namespace arma;
+
+/**
+ * Test PlainSVD for normal factorization
+ */
+BOOST_AUTO_TEST_CASE(PlainSVDNormalFactorizationTest)
+{
+  mlpack::math::RandomSeed(10);
+  mat test = randu<mat>(5,4);
+
+  PlainSVD svd;
+  arma::mat W, H, sigma;
+  double result = svd.Apply(test, W, sigma, H);
+  
+  BOOST_REQUIRE_LT(result, 1e-15);
+}
+
+/**
+ * Test PlainSVD as wrapper for CF.
+ */
+BOOST_AUTO_TEST_CASE(PlainSVDCFWrapperTest)
+{
+  mlpack::math::RandomSeed(10);
+  mat test = randu<mat>(5,4);
+  
+  PlainSVD svd;
+  mat W, H;
+  double result = svd.Apply(test, 3, W, H);
+  
+  BOOST_REQUIRE_LT(result, 0.1);
+}
+
+BOOST_AUTO_TEST_SUITE_END();



More information about the mlpack-git mailing list