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