full rank matrix test added

Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/16de5268
Tree: http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/16de5268
Diff: http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/16de5268

Branch: refs/heads/master
Commit: 16de5268e3652498b47b0600fe5cf9cf10d0dd83
Parents: fe1a132
Author: Reza Zadeh <riz...@gmail.com>
Authored: Thu Dec 26 23:21:57 2013 -0500
Committer: Reza Zadeh <riz...@gmail.com>
Committed: Thu Dec 26 23:21:57 2013 -0500

----------------------------------------------------------------------
 .../scala/org/apache/spark/mllib/linalg/sparsesvd.scala   | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/16de5268/mllib/src/main/scala/org/apache/spark/mllib/linalg/sparsesvd.scala
----------------------------------------------------------------------
diff --git a/mllib/src/main/scala/org/apache/spark/mllib/linalg/sparsesvd.scala 
b/mllib/src/main/scala/org/apache/spark/mllib/linalg/sparsesvd.scala
index 7bb393d..2ce0df1 100644
--- a/mllib/src/main/scala/org/apache/spark/mllib/linalg/sparsesvd.scala
+++ b/mllib/src/main/scala/org/apache/spark/mllib/linalg/sparsesvd.scala
@@ -61,6 +61,14 @@ object SVD {
        RDD[((Int, Int), Double)],
        RDD[((Int, Int), Double)]) =
   {
+               if (m < n) {
+      throw new IllegalArgumentException("Expecting a tall and skinny matrix")
+    }
+
+               if (min_svalue < 1.0e-9) {
+      throw new IllegalArgumentException("Minimum singular value must be 
greater than 1e-9")
+    }
+
                val sc = data.sparkContext
 
                // Compute A^T A, assuming rows are sparse enough to fit in 
memory
@@ -86,7 +94,7 @@ object SVD {
 
                // threshold s values
                if(sigma.isEmpty) {
-                   // TODO: return empty
+      throw new Exception("All singular values are smaller than min_svalue: " 
+ min_svalue)
                }
 
                // prepare V for returning

Reply via email to