You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by dl...@apache.org on 2014/08/22 00:30:47 UTC
git commit: (NOJIRA) small tweaks:
Repository: mahout
Updated Branches:
refs/heads/master 85a098a36 -> 656225c67
(NOJIRA) small tweaks:
(1) enabling A.diagv = syntax.
(2) removing redundant implicit from MatrixOps.
(3) renaming pom module name for math scala bindings.
Project: http://git-wip-us.apache.org/repos/asf/mahout/repo
Commit: http://git-wip-us.apache.org/repos/asf/mahout/commit/656225c6
Tree: http://git-wip-us.apache.org/repos/asf/mahout/tree/656225c6
Diff: http://git-wip-us.apache.org/repos/asf/mahout/diff/656225c6
Branch: refs/heads/master
Commit: 656225c67fb5cc5d232ac77a4201ecd2f1136805
Parents: 85a098a
Author: Dmitriy Lyubimov <dl...@apache.org>
Authored: Thu Aug 21 15:28:52 2014 -0700
Committer: Dmitriy Lyubimov <dl...@apache.org>
Committed: Thu Aug 21 15:28:52 2014 -0700
----------------------------------------------------------------------
math-scala/pom.xml | 2 +-
.../mahout/math/scalabindings/MatrixOps.scala | 20 ++++++++++++++------
.../mahout/math/scalabindings/package.scala | 4 ++--
.../math/scalabindings/MatrixOpsSuite.scala | 2 +-
.../math/scalabindings/VectorOpsSuite.scala | 2 +-
5 files changed, 19 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mahout/blob/656225c6/math-scala/pom.xml
----------------------------------------------------------------------
diff --git a/math-scala/pom.xml b/math-scala/pom.xml
index 2a348eb..b2fea6b 100644
--- a/math-scala/pom.xml
+++ b/math-scala/pom.xml
@@ -28,7 +28,7 @@
</parent>
<artifactId>mahout-math-scala_2.10</artifactId>
- <name>Mahout Math/Scala wrappers</name>
+ <name>Mahout Math Scala bindings</name>
<description>High performance scientific and technical computing data structures and methods,
mostly based on CERN's
Colt Java API
http://git-wip-us.apache.org/repos/asf/mahout/blob/656225c6/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/MatrixOps.scala
----------------------------------------------------------------------
diff --git a/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/MatrixOps.scala b/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/MatrixOps.scala
index a94d2a8..732a98a 100644
--- a/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/MatrixOps.scala
+++ b/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/MatrixOps.scala
@@ -26,6 +26,9 @@ class MatrixOps(val m: Matrix) {
import MatrixOps._
+ // We need this for some functions below (but it would screw some functions above)
+ import RLikeOps.v2vOps
+
def nrow = m.rowSize()
def ncol = m.columnSize()
@@ -166,9 +169,6 @@ class MatrixOps(val m: Matrix) {
def isFullRank: Boolean =
new QRDecomposition(if (nrow < ncol) m t else m cloned).hasFullRank
- // We need this for some functions below (but it would screw some functions above)
- import RLikeOps.v2vOps
-
def colSums() = m.aggregateColumns(vectorSumFunc)
def rowSums() = m.aggregateRows(vectorSumFunc)
@@ -177,15 +177,23 @@ class MatrixOps(val m: Matrix) {
def rowMeans() = if (m.ncol == 0) rowSums() else rowSums() /= m.ncol
- def diagv = m.viewDiagonal()
+ /* Diagonal */
+ def diagv: Vector = m.viewDiagonal()
+
+ /* Diagonal assignment */
+ def diagv_=(that: Vector) = diagv := that
+
+ /* Diagonal assignment */
+ def diagv_=(that: Double) = diagv := that
def numNonZeroElementsPerColumn() = m.aggregateColumns(vectorCountNonZeroElementsFunc)
}
object MatrixOps {
- implicit def m2ops(m: Matrix): MatrixOps = new MatrixOps(m)
- implicit def v2ops(v: Vector): VectorOps = new VectorOps(v)
+ import RLikeOps.v2vOps
+
+ implicit def m2ops(m: Matrix): MatrixOps = new MatrixOps(m)
private def vectorSumFunc = new VectorFunction {
def apply(f: Vector): Double = f.sum
http://git-wip-us.apache.org/repos/asf/mahout/blob/656225c6/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/package.scala
----------------------------------------------------------------------
diff --git a/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/package.scala b/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/package.scala
index 43db95e..36f5103 100644
--- a/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/package.scala
+++ b/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/package.scala
@@ -121,7 +121,7 @@ package object scalabindings {
* @return
*/
def dense[R](rows: R*): DenseMatrix = {
- import MatrixOps._
+ import RLikeOps._
val data = for (r <- rows) yield {
r match {
case n: Number => Array(n.doubleValue())
@@ -288,7 +288,7 @@ package object scalabindings {
* @return (x)
*/
def solve(a: Matrix, b: Vector): Vector = {
- import MatrixOps._
+ import RLikeOps._
val x = solve(a, b.toColMatrix)
x(::, 0)
}
http://git-wip-us.apache.org/repos/asf/mahout/blob/656225c6/math-scala/src/test/scala/org/apache/mahout/math/scalabindings/MatrixOpsSuite.scala
----------------------------------------------------------------------
diff --git a/math-scala/src/test/scala/org/apache/mahout/math/scalabindings/MatrixOpsSuite.scala b/math-scala/src/test/scala/org/apache/mahout/math/scalabindings/MatrixOpsSuite.scala
index c6fccbc..5be6ca8 100644
--- a/math-scala/src/test/scala/org/apache/mahout/math/scalabindings/MatrixOpsSuite.scala
+++ b/math-scala/src/test/scala/org/apache/mahout/math/scalabindings/MatrixOpsSuite.scala
@@ -18,7 +18,7 @@
package org.apache.mahout.math.scalabindings
import org.scalatest.{Matchers, FunSuite}
-import MatrixOps._
+import RLikeOps._
import scala._
import org.apache.mahout.test.MahoutSuite
import org.apache.mahout.math.{RandomAccessSparseVector, SequentialAccessSparseVector, Matrices}
http://git-wip-us.apache.org/repos/asf/mahout/blob/656225c6/math-scala/src/test/scala/org/apache/mahout/math/scalabindings/VectorOpsSuite.scala
----------------------------------------------------------------------
diff --git a/math-scala/src/test/scala/org/apache/mahout/math/scalabindings/VectorOpsSuite.scala b/math-scala/src/test/scala/org/apache/mahout/math/scalabindings/VectorOpsSuite.scala
index ae2d3a5..fda2038 100644
--- a/math-scala/src/test/scala/org/apache/mahout/math/scalabindings/VectorOpsSuite.scala
+++ b/math-scala/src/test/scala/org/apache/mahout/math/scalabindings/VectorOpsSuite.scala
@@ -19,7 +19,7 @@ package org.apache.mahout.math.scalabindings
import org.scalatest.FunSuite
import org.apache.mahout.math.{RandomAccessSparseVector, Vector}
-import MatrixOps._
+import RLikeOps._
import org.apache.mahout.test.MahoutSuite
/** VectorOps Suite */