You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by jm...@apache.org on 2010/01/28 07:11:47 UTC

svn commit: r903965 [2/2] - in /lucene/mahout/trunk: core/src/main/java/org/apache/mahout/clustering/dirichlet/ core/src/main/java/org/apache/mahout/clustering/dirichlet/models/ core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/ core/src/main...

Copied: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Mult.java (from r903924, lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/Mult.java)
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Mult.java?p2=lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Mult.java&p1=lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/Mult.java&r1=903924&r2=903965&rev=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/Mult.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Mult.java Thu Jan 28 06:11:42 2010
@@ -6,7 +6,9 @@
 CERN makes no representations about the suitability of this software for any purpose. 
 It is provided "as is" without expressed or implied warranty.
 */
-package org.apache.mahout.math.jet.math;
+package org.apache.mahout.math.function;
+
+import org.apache.mahout.math.function.UnaryFunction;
 
 /**
  * Only for performance tuning of compute intensive linear algebraic computations.
@@ -19,9 +21,7 @@
  * Intended to be passed to <tt>matrix.assign(function)</tt> methods.
  */
 
-/** @deprecated until unit tests are in place.  Until this time, this class/interface is unsupported. */
-@Deprecated
-public final class Mult implements org.apache.mahout.math.function.DoubleFunction {
+public final class Mult implements UnaryFunction {
 
   private double multiplicator;
 

Propchange: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Mult.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/PlusMult.java (from r903924, lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/PlusMult.java)
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/PlusMult.java?p2=lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/PlusMult.java&p1=lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/PlusMult.java&r1=903924&r2=903965&rev=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/PlusMult.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/PlusMult.java Thu Jan 28 06:11:42 2010
@@ -6,7 +6,9 @@
 CERN makes no representations about the suitability of this software for any purpose. 
 It is provided "as is" without expressed or implied warranty.
 */
-package org.apache.mahout.math.jet.math;
+package org.apache.mahout.math.function;
+
+import org.apache.mahout.math.function.BinaryFunction;
 
 /**
  * Only for performance tuning of compute intensive linear algebraic computations.
@@ -21,14 +23,11 @@
  * Intended to be passed to <tt>matrix.assign(otherMatrix,function)</tt> methods.
  */
 
-/** @deprecated until unit tests are in place.  Until this time, this class/interface is unsupported. */
-@Deprecated
-public final class PlusMult implements org.apache.mahout.math.function.DoubleDoubleFunction {
+public final class PlusMult implements BinaryFunction {
 
   private double multiplicator;
 
-  /** Insert the method's description here. Creation date: (8/10/99 19:12:09) */
-  PlusMult(double multiplicator) {
+  public PlusMult(double multiplicator) {
     this.multiplicator = multiplicator;
   }
 

Propchange: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/PlusMult.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/SquareRootFunction.java (from r903542, lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/SquareRootFunction.java)
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/SquareRootFunction.java?p2=lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/SquareRootFunction.java&p1=lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/SquareRootFunction.java&r1=903542&r2=903965&rev=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/SquareRootFunction.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/SquareRootFunction.java Thu Jan 28 06:11:42 2010
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.math;
+package org.apache.mahout.math.function;
 
 public class SquareRootFunction implements UnaryFunction {
 

Propchange: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/SquareRootFunction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/TimesFunction.java (from r903542, lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/TimesFunction.java)
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/TimesFunction.java?p2=lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/TimesFunction.java&p1=lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/TimesFunction.java&r1=903542&r2=903965&rev=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/TimesFunction.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/TimesFunction.java Thu Jan 28 06:11:42 2010
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.mahout.math;
+package org.apache.mahout.math.function;
 
 public class TimesFunction implements BinaryFunction {
 

Propchange: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/TimesFunction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/UnaryFunction.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/UnaryFunction.java?rev=903965&view=auto
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/UnaryFunction.java (added)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/UnaryFunction.java Thu Jan 28 06:11:42 2010
@@ -0,0 +1,27 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.mahout.math.function;
+
+/**
+ * This interface allows the formulation of unary functions to be applied to matrices inside the inner loops of their
+ * implementations.
+ */
+public interface UnaryFunction extends DoubleFunction {
+
+
+}

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/IntFunctions.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/IntFunctions.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/IntFunctions.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/IntFunctions.java Thu Jan 28 06:11:42 2010
@@ -16,7 +16,7 @@
 
 /**
  Integer Function objects to be passed to generic methods.
- Same as {@link Functions} except operating on integers.
+ Same as {@link org.apache.mahout.math.function.Functions} except operating on integers.
  <p>
  For aliasing see {@link #intFunctions}.
 

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/AbstractDistribution.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/AbstractDistribution.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/AbstractDistribution.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/AbstractDistribution.java Thu Jan 28 06:11:42 2010
@@ -27,12 +27,12 @@
 package org.apache.mahout.math.jet.random;
 
 import org.apache.mahout.math.PersistentObject;
-import org.apache.mahout.math.function.DoubleFunction;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.function.IntFunction;
 import org.apache.mahout.math.jet.random.engine.RandomEngine;
 
 public abstract class AbstractDistribution extends PersistentObject
-    implements DoubleFunction, IntFunction {
+    implements UnaryFunction, IntFunction {
 
   protected RandomEngine randomGenerator;
 

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/engine/RandomEngine.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/engine/RandomEngine.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/engine/RandomEngine.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/engine/RandomEngine.java Thu Jan 28 06:11:42 2010
@@ -27,7 +27,7 @@
 package org.apache.mahout.math.jet.random.engine;
 
 import org.apache.mahout.math.PersistentObject;
-import org.apache.mahout.math.function.DoubleFunction;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.function.IntFunction;
 
 /**
@@ -53,7 +53,7 @@
  * @see java.util.Random
  */
 public abstract class RandomEngine extends PersistentObject
-    implements DoubleFunction, IntFunction {
+    implements UnaryFunction, IntFunction {
 
   /**
    * Equivalent to <tt>raw()</tt>. This has the effect that random engines can now be used as function objects,

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory1D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory1D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory1D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory1D.java Thu Jan 28 06:11:42 2010
@@ -9,7 +9,7 @@
 package org.apache.mahout.math.matrix;
 
 import org.apache.mahout.math.PersistentObject;
-import org.apache.mahout.math.jet.math.Functions;
+import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.jet.random.engine.MersenneTwister;
 import org.apache.mahout.math.jet.random.sampling.RandomSamplingAssistant;
 import org.apache.mahout.math.list.AbstractDoubleList;
@@ -45,7 +45,7 @@
 
   /** Constructs a matrix with cells having ascending values. For debugging purposes. Example: <tt>0 1 2</tt> */
   public DoubleMatrix1D ascending(int size) {
-    return descending(size).assign(Functions.chain(Functions.neg, Functions.minus(size)));
+    return descending(size).assign(Functions.chain(Functions.negate, Functions.minus(size)));
   }
 
   /** Constructs a matrix with cells having descending values. For debugging purposes. Example: <tt>2 1 0</tt> */

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory2D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory2D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory2D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory2D.java Thu Jan 28 06:11:42 2010
@@ -9,7 +9,7 @@
 package org.apache.mahout.math.matrix;
 
 import org.apache.mahout.math.PersistentObject;
-import org.apache.mahout.math.jet.math.Functions;
+import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.jet.random.engine.MersenneTwister;
 import org.apache.mahout.math.jet.random.sampling.RandomSamplingAssistant;
 import org.apache.mahout.math.matrix.impl.DenseDoubleMatrix2D;
@@ -179,7 +179,7 @@
    * </pre>
    */
   public DoubleMatrix2D ascending(int rows, int columns) {
-    return descending(rows, columns).assign(Functions.chain(Functions.neg, Functions.minus(columns * rows)));
+    return descending(rows, columns).assign(Functions.chain(Functions.negate, Functions.minus(columns * rows)));
   }
 
   /**

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory3D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory3D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory3D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory3D.java Thu Jan 28 06:11:42 2010
@@ -9,7 +9,7 @@
 package org.apache.mahout.math.matrix;
 
 import org.apache.mahout.math.PersistentObject;
-import org.apache.mahout.math.jet.math.Functions;
+import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.matrix.impl.DenseDoubleMatrix3D;
 import org.apache.mahout.math.matrix.impl.SparseDoubleMatrix3D;
 
@@ -30,7 +30,7 @@
   /** Constructs a matrix with cells having ascending values. For debugging purposes. */
   public DoubleMatrix3D ascending(int slices, int rows, int columns) {
     return descending(slices, rows, columns)
-        .assign(Functions.chain(Functions.neg, Functions.minus(slices * rows * columns)));
+        .assign(Functions.chain(Functions.negate, Functions.minus(slices * rows * columns)));
   }
 
   /** Constructs a matrix with cells having descending values. For debugging purposes. */

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix1D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix1D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix1D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix1D.java Thu Jan 28 06:11:42 2010
@@ -8,11 +8,11 @@
 */
 package org.apache.mahout.math.matrix;
 
-import org.apache.mahout.math.function.DoubleDoubleFunction;
-import org.apache.mahout.math.function.DoubleFunction;
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.Functions;
+import org.apache.mahout.math.function.PlusMult;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.function.DoubleProcedure;
-import org.apache.mahout.math.jet.math.Functions;
-import org.apache.mahout.math.jet.math.PlusMult;
 import org.apache.mahout.math.list.DoubleArrayList;
 import org.apache.mahout.math.list.IntArrayList;
 import org.apache.mahout.math.matrix.doublealgo.Formatter;
@@ -31,7 +31,7 @@
    * <tt>v==a(size())</tt> where <tt>a(i) == aggr( a(i-1), f(get(i)) )</tt> and terminators are <tt>a(1) == f(get(0)),
    * a(0)==Double.NaN</tt>. <p> <b>Example:</b>
    * <pre>
-   * org.apache.mahout.math.jet.math.Functions F = org.apache.mahout.math.jet.math.Functions.functions;
+   * org.apache.mahout.math.function.Functions F = org.apache.mahout.math.function.Functions.functions;
    * matrix = 0 1 2 3
    *
    * // Sum( x[i]*x[i] )
@@ -44,10 +44,10 @@
    *             transformed current cell value.
    * @param f    a function transforming the current cell value.
    * @return the aggregated measure.
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public double aggregate(DoubleDoubleFunction aggr,
-                          DoubleFunction f) {
+  public double aggregate(BinaryFunction aggr,
+                          UnaryFunction f) {
     if (size == 0) {
       return Double.NaN;
     }
@@ -63,7 +63,7 @@
    * <tt>v</tt> such that <tt>v==a(size())</tt> where <tt>a(i) == aggr( a(i-1), f(get(i),other.get(i)) )</tt> and
    * terminators are <tt>a(1) == f(get(0),other.get(0)), a(0)==Double.NaN</tt>. <p> <b>Example:</b>
    * <pre>
-   * org.apache.mahout.math.jet.math.Functions F = org.apache.mahout.math.jet.math.Functions.functions;
+   * org.apache.mahout.math.function.Functions F = org.apache.mahout.math.function.Functions.functions;
    * x = 0 1 2 3
    * y = 0 1 2 3
    *
@@ -82,10 +82,10 @@
    * @param f    a function transforming the current cell values.
    * @return the aggregated measure.
    * @throws IllegalArgumentException if <tt>size() != other.size()</tt>.
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public double aggregate(DoubleMatrix1D other, org.apache.mahout.math.function.DoubleDoubleFunction aggr,
-                          DoubleDoubleFunction f) {
+  public double aggregate(DoubleMatrix1D other, BinaryFunction aggr,
+                          BinaryFunction f) {
     checkSize(other);
     if (size == 0) {
       return Double.NaN;
@@ -144,9 +144,9 @@
    *
    * @param function a function object taking as argument the current cell's value.
    * @return <tt>this</tt> (for convenience only).
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public DoubleMatrix1D assign(DoubleFunction function) {
+  public DoubleMatrix1D assign(UnaryFunction function) {
     for (int i = size; --i >= 0;) {
       setQuick(i, function.apply(getQuick(i)));
     }
@@ -183,7 +183,7 @@
    * // assign x[i] = x[i]<sup>y[i]</sup>
    * m1 = 0 1 2 3;
    * m2 = 0 2 4 6;
-   * m1.assign(m2, org.apache.mahout.math.jet.math.Functions.pow);
+   * m1.assign(m2, org.apache.mahout.math.function.Functions.pow);
    * -->
    * m1 == 1 1 16 729
    * </pre>
@@ -194,9 +194,9 @@
    *                 argument the current cell's value of <tt>y</tt>,
    * @return <tt>this</tt> (for convenience only).
    * @throws IllegalArgumentException if <tt>size() != y.size()</tt>.
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public DoubleMatrix1D assign(DoubleMatrix1D y, org.apache.mahout.math.function.DoubleDoubleFunction function) {
+  public DoubleMatrix1D assign(DoubleMatrix1D y, BinaryFunction function) {
     checkSize(y);
     for (int i = size; --i >= 0;) {
       setQuick(i, function.apply(getQuick(i), y.getQuick(i)));
@@ -211,13 +211,13 @@
    * // assign x[i] = x[i]<sup>y[i]</sup>
    * m1 = 0 1 2 3;
    * m2 = 0 2 4 6;
-   * m1.assign(m2, org.apache.mahout.math.jet.math.Functions.pow);
+   * m1.assign(m2, org.apache.mahout.math.function.Functions.pow);
    * -->
    * m1 == 1 1 16 729
    *
    * // for non-standard functions there is no shortcut:
    * m1.assign(m2,
-   * &nbsp;&nbsp;&nbsp;new DoubleDoubleFunction() {
+   * &nbsp;&nbsp;&nbsp;new BinaryFunction() {
    * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public double apply(double x, double y) { return Math.pow(x,y); }
    * &nbsp;&nbsp;&nbsp;}
    * );
@@ -229,15 +229,15 @@
    *                 argument the current cell's value of <tt>y</tt>,
    * @return <tt>this</tt> (for convenience only).
    * @throws IllegalArgumentException if <tt>size() != y.size()</tt>.
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public DoubleMatrix1D assign(DoubleMatrix1D y, org.apache.mahout.math.function.DoubleDoubleFunction function,
+  public DoubleMatrix1D assign(DoubleMatrix1D y, BinaryFunction function,
                                IntArrayList nonZeroIndexes) {
     checkSize(y);
     int[] nonZeroElements = nonZeroIndexes.elements();
 
     // specialized for speed
-    if (function == org.apache.mahout.math.jet.math.Functions.mult) {  // x[i] = x[i] * y[i]
+    if (function == Functions.mult) {  // x[i] = x[i] * y[i]
       int j = 0;
       for (int index = nonZeroIndexes.size(); --index >= 0;) {
         int i = nonZeroElements[index];
@@ -858,6 +858,6 @@
     if (size() == 0) {
       return 0;
     }
-    return aggregate(Functions.plus, org.apache.mahout.math.jet.math.Functions.identity);
+    return aggregate(Functions.plus, Functions.identity);
   }
 }

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix2D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix2D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix2D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix2D.java Thu Jan 28 06:11:42 2010
@@ -8,10 +8,10 @@
 */
 package org.apache.mahout.math.matrix;
 
-import org.apache.mahout.math.function.DoubleDoubleFunction;
-import org.apache.mahout.math.function.DoubleFunction;
+import org.apache.mahout.math.function.Functions;
+import org.apache.mahout.math.function.UnaryFunction;
+import org.apache.mahout.math.function.BinaryFunction;
 import org.apache.mahout.math.function.IntIntDoubleFunction;
-import org.apache.mahout.math.jet.math.Functions;
 import org.apache.mahout.math.list.DoubleArrayList;
 import org.apache.mahout.math.list.IntArrayList;
 import org.apache.mahout.math.matrix.doublealgo.Formatter;
@@ -32,7 +32,7 @@
    * <tt>v==a(size())</tt> where <tt>a(i) == aggr( a(i-1), f(get(row,column)) )</tt> and terminators are <tt>a(1) ==
    * f(get(0,0)), a(0)==Double.NaN</tt>. <p> <b>Example:</b>
    * <pre>
-   * org.apache.mahout.math.jet.math.Functions F = org.apache.mahout.math.jet.math.Functions.functions;
+   * org.apache.mahout.math.function.Functions F = org.apache.mahout.math.function.Functions.functions;
    * 2 x 2 matrix
    * 0 1
    * 2 3
@@ -47,10 +47,10 @@
    *             transformed current cell value.
    * @param f    a function transforming the current cell value.
    * @return the aggregated measure.
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public double aggregate(DoubleDoubleFunction aggr,
-                          DoubleFunction f) {
+  public double aggregate(BinaryFunction aggr,
+                          UnaryFunction f) {
     if (size() == 0) {
       return Double.NaN;
     }
@@ -70,7 +70,7 @@
    * <tt>v</tt> such that <tt>v==a(size())</tt> where <tt>a(i) == aggr( a(i-1), f(get(row,column),other.get(row,column))
    * )</tt> and terminators are <tt>a(1) == f(get(0,0),other.get(0,0)), a(0)==Double.NaN</tt>. <p> <b>Example:</b>
    * <pre>
-   * org.apache.mahout.math.jet.math.Functions F = org.apache.mahout.math.jet.math.Functions.functions;
+   * org.apache.mahout.math.function.Functions F = org.apache.mahout.math.function.Functions.functions;
    * x == 2 x 2 matrix
    * 0 1
    * 2 3
@@ -94,10 +94,10 @@
    * @param f    a function transforming the current cell values.
    * @return the aggregated measure.
    * @throws IllegalArgumentException if <tt>columns() != other.columns() || rows() != other.rows()</tt>
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public double aggregate(DoubleMatrix2D other, org.apache.mahout.math.function.DoubleDoubleFunction aggr,
-                          DoubleDoubleFunction f) {
+  public double aggregate(DoubleMatrix2D other, BinaryFunction aggr,
+                          BinaryFunction f) {
     checkShape(other);
     if (size() == 0) {
       return Double.NaN;
@@ -177,9 +177,9 @@
    *
    * @param function a function object taking as argument the current cell's value.
    * @return <tt>this</tt> (for convenience only).
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public DoubleMatrix2D assign(DoubleFunction function) {
+  public DoubleMatrix2D assign(UnaryFunction function) {
     for (int row = rows; --row >= 0;) {
       for (int column = columns; --column >= 0;) {
         setQuick(row, column, function.apply(getQuick(row, column)));
@@ -230,7 +230,7 @@
    * 0 2
    * 4 6
    *
-   * m1.assign(m2, org.apache.mahout.math.jet.math.Functions.pow);
+   * m1.assign(m2, org.apache.mahout.math.function.Functions.pow);
    * -->
    * m1 == 2 x 2 matrix
    * 1   1
@@ -243,9 +243,9 @@
    *                 argument the current cell's value of <tt>y</tt>,
    * @return <tt>this</tt> (for convenience only).
    * @throws IllegalArgumentException if <tt>columns() != other.columns() || rows() != other.rows()</tt>
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public DoubleMatrix2D assign(DoubleMatrix2D y, org.apache.mahout.math.function.DoubleDoubleFunction function) {
+  public DoubleMatrix2D assign(DoubleMatrix2D y, BinaryFunction function) {
     checkShape(y);
     for (int row = rows; --row >= 0;) {
       for (int column = columns; --column >= 0;) {
@@ -980,6 +980,6 @@
     if (size() == 0) {
       return 0;
     }
-    return aggregate(Functions.plus, org.apache.mahout.math.jet.math.Functions.identity);
+    return aggregate(Functions.plus, Functions.identity);
   }
 }

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix3D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix3D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix3D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleMatrix3D.java Thu Jan 28 06:11:42 2010
@@ -8,9 +8,9 @@
 */
 package org.apache.mahout.math.matrix;
 
-import org.apache.mahout.math.function.DoubleDoubleFunction;
-import org.apache.mahout.math.function.DoubleFunction;
-import org.apache.mahout.math.jet.math.Functions;
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.Functions;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.list.DoubleArrayList;
 import org.apache.mahout.math.list.IntArrayList;
 import org.apache.mahout.math.matrix.doublealgo.Formatter;
@@ -29,7 +29,7 @@
    * <tt>v==a(size())</tt> where <tt>a(i) == aggr( a(i-1), f(get(slice,row,column)) )</tt> and terminators are <tt>a(1)
    * == f(get(0,0,0)), a(0)==Double.NaN</tt>. <p> <b>Example:</b>
    * <pre>
-   * org.apache.mahout.math.jet.math.Functions F = org.apache.mahout.math.jet.math.Functions.functions;
+   * org.apache.mahout.math.function.Functions F = org.apache.mahout.math.function.Functions.functions;
    * 2 x 2 x 2 matrix
    * 0 1
    * 2 3
@@ -47,10 +47,10 @@
    *             transformed current cell value.
    * @param f    a function transforming the current cell value.
    * @return the aggregated measure.
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public double aggregate(DoubleDoubleFunction aggr,
-                          DoubleFunction f) {
+  public double aggregate(BinaryFunction aggr,
+                          UnaryFunction f) {
     if (size() == 0) {
       return Double.NaN;
     }
@@ -72,7 +72,7 @@
    * <tt>v</tt> such that <tt>v==a(size())</tt> where <tt>a(i) == aggr( a(i-1), f(get(slice,row,column),other.get(slice,row,column))
    * )</tt> and terminators are <tt>a(1) == f(get(0,0,0),other.get(0,0,0)), a(0)==Double.NaN</tt>. <p> <b>Example:</b>
    * <pre>
-   * org.apache.mahout.math.jet.math.Functions F = org.apache.mahout.math.jet.math.Functions.functions;
+   * org.apache.mahout.math.function.Functions F = org.apache.mahout.math.function.Functions.functions;
    * x = 2 x 2 x 2 matrix
    * 0 1
    * 2 3
@@ -103,10 +103,10 @@
    * @return the aggregated measure.
    * @throws IllegalArgumentException if <tt>slices() != other.slices() || rows() != other.rows() || columns() !=
    *                                  other.columns()</tt>
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public double aggregate(DoubleMatrix3D other, org.apache.mahout.math.function.DoubleDoubleFunction aggr,
-                          DoubleDoubleFunction f) {
+  public double aggregate(DoubleMatrix3D other, BinaryFunction aggr,
+                          BinaryFunction f) {
     checkShape(other);
     if (size() == 0) {
       return Double.NaN;
@@ -198,9 +198,9 @@
    *
    * @param function a function object taking as argument the current cell's value.
    * @return <tt>this</tt> (for convenience only).
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public DoubleMatrix3D assign(DoubleFunction function) {
+  public DoubleMatrix3D assign(UnaryFunction function) {
     for (int slice = slices; --slice >= 0;) {
       for (int row = rows; --row >= 0;) {
         for (int column = columns; --column >= 0;) {
@@ -254,7 +254,7 @@
    * 0 2
    * 4 6
    *
-   * m1.assign(m2, org.apache.mahout.math.jet.math.Functions.pow);
+   * m1.assign(m2, org.apache.mahout.math.function.Functions.pow);
    * -->
    * m1 == 1 x 2 x 2 matrix
    * 1   1
@@ -268,9 +268,9 @@
    * @return <tt>this</tt> (for convenience only).
    * @throws IllegalArgumentException if <tt>slices() != other.slices() || rows() != other.rows() || columns() !=
    *                                  other.columns()</tt>
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  public DoubleMatrix3D assign(DoubleMatrix3D y, org.apache.mahout.math.function.DoubleDoubleFunction function) {
+  public DoubleMatrix3D assign(DoubleMatrix3D y, BinaryFunction function) {
     checkShape(y);
     for (int slice = slices; --slice >= 0;) {
       for (int row = rows; --row >= 0;) {
@@ -988,6 +988,6 @@
     if (size() == 0) {
       return 0;
     }
-    return aggregate(Functions.plus, org.apache.mahout.math.jet.math.Functions.identity);
+    return aggregate(Functions.plus, Functions.identity);
   }
 }

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Sorting.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Sorting.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Sorting.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Sorting.java Thu Jan 28 06:11:42 2010
@@ -169,7 +169,7 @@
    * // sort 10000 x 1000 matrix by sum of logarithms in a row (i.e. by geometric mean)
    * DoubleMatrix2D matrix = new DenseDoubleMatrix2D(10000,1000);
    * matrix.assign(new engine.MersenneTwister()); // initialized randomly
-   * org.apache.mahout.math.jet.math.Functions F = org.apache.mahout.math.jet.math.Functions.functions; // alias for convenience
+   * org.apache.mahout.math.function.Functions F = org.apache.mahout.math.function.Functions.functions; // alias for convenience
    *
    * // THE QUICK VERSION (takes some 3 secs)
    * // aggregates[i] = Sum(log(row));
@@ -374,7 +374,7 @@
  // sort 10000 x 1000 matrix by median or by sum of logarithms in a row (i.e. by geometric mean)
  DoubleMatrix2D matrix = new DenseDoubleMatrix2D(10000,1000);
  matrix.assign(new engine.MersenneTwister()); // initialized randomly
- org.apache.mahout.math.jet.math.Functions F = org.apache.mahout.math.jet.math.Functions.functions; // alias for convenience
+ org.apache.mahout.math.function.Functions F = org.apache.mahout.math.function.Functions.functions; // alias for convenience
 
  // THE QUICK VERSION (takes some 10 secs)
  DoubleMatrix2D sorted = quickSort(matrix,hep.aida.bin.BinFunctions1D.median);

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Statistic.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Statistic.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Statistic.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Statistic.java Thu Jan 28 06:11:42 2010
@@ -8,8 +8,8 @@
 */
 package org.apache.mahout.math.matrix.doublealgo;
 
-import org.apache.mahout.math.function.DoubleDoubleFunction;
-import org.apache.mahout.math.jet.math.Functions;
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.jet.random.engine.MersenneTwister;
 import org.apache.mahout.math.jet.random.engine.RandomEngine;
 import org.apache.mahout.math.jet.random.sampling.RandomSampler;
@@ -41,7 +41,7 @@
 
   /** Canberra distance function; <tt>Sum( abs(x[i]-y[i]) / abs(x[i]+y[i]) )</tt>. */
   public static final VectorVectorFunction CANBERRA = new VectorVectorFunction() {
-    private final DoubleDoubleFunction fun = new DoubleDoubleFunction() {
+    private final BinaryFunction fun = new BinaryFunction() {
       @Override
       public double apply(double a, double b) {
         return Math.abs(a - b) / Math.abs(a + b);

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Transform.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Transform.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Transform.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Transform.java Thu Jan 28 06:11:42 2010
@@ -9,7 +9,7 @@
 package org.apache.mahout.math.matrix.doublealgo;
 
 import org.apache.mahout.math.PersistentObject;
-import org.apache.mahout.math.jet.math.Functions;
+import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
 import org.apache.mahout.math.matrix.DoubleMatrix2D;
 

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/DenseDoubleMatrix1D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/DenseDoubleMatrix1D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/DenseDoubleMatrix1D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/DenseDoubleMatrix1D.java Thu Jan 28 06:11:42 2010
@@ -8,9 +8,11 @@
 */
 package org.apache.mahout.math.matrix.impl;
 
-import org.apache.mahout.math.function.DoubleFunction;
-import org.apache.mahout.math.jet.math.Mult;
-import org.apache.mahout.math.jet.math.PlusMult;
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.Functions;
+import org.apache.mahout.math.function.Mult;
+import org.apache.mahout.math.function.PlusMult;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
 import org.apache.mahout.math.matrix.DoubleMatrix2D;
 
@@ -113,10 +115,10 @@
    *
    * @param function a function object taking as argument the current cell's value.
    * @return <tt>this</tt> (for convenience only).
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
   @Override
-  public DoubleMatrix1D assign(DoubleFunction function) {
+  public DoubleMatrix1D assign(UnaryFunction function) {
     int s = stride;
     int i = index(0);
     double[] elems = this.elements;
@@ -200,13 +202,13 @@
    * // assign x[i] = x[i]<sup>y[i]</sup>
    * m1 = 0 1 2 3;
    * m2 = 0 2 4 6;
-   * m1.assign(m2, org.apache.mahout.math.jet.math.Functions.pow);
+   * m1.assign(m2, org.apache.mahout.math.function.Functions.pow);
    * -->
    * m1 == 1 1 16 729
    *
    * // for non-standard functions there is no shortcut:
    * m1.assign(m2,
-   * &nbsp;&nbsp;&nbsp;new DoubleDoubleFunction() {
+   * &nbsp;&nbsp;&nbsp;new BinaryFunction() {
    * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public double apply(double x, double y) { return Math.pow(x,y); }
    * &nbsp;&nbsp;&nbsp;}
    * );
@@ -218,10 +220,10 @@
    *                 argument the current cell's value of <tt>y</tt>,
    * @return <tt>this</tt> (for convenience only).
    * @throws IllegalArgumentException if <tt>size() != y.size()</tt>.
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
   @Override
-  public DoubleMatrix1D assign(DoubleMatrix1D y, org.apache.mahout.math.function.DoubleDoubleFunction function) {
+  public DoubleMatrix1D assign(DoubleMatrix1D y, BinaryFunction function) {
     // overriden for performance only
     if (!(y instanceof DenseDoubleMatrix1D)) {
       return super.assign(y, function);
@@ -240,13 +242,13 @@
     int otherIndex = other.index(0);
 
     // specialized for speed
-    if (function == org.apache.mahout.math.jet.math.Functions.mult) {  // x[i] = x[i] * y[i]
+    if (function == Functions.mult) {  // x[i] = x[i] * y[i]
       for (int k = size; --k >= 0;) {
         elems[index] *= otherElems[otherIndex];
         index += s;
         otherIndex += ys;
       }
-    } else if (function == org.apache.mahout.math.jet.math.Functions.div) { // x[i] = x[i] / y[i]
+    } else if (function == Functions.div) { // x[i] = x[i] / y[i]
       for (int k = size; --k >= 0;) {
         elems[index] /= otherElems[otherIndex];
         index += s;

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/DenseDoubleMatrix2D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/DenseDoubleMatrix2D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/DenseDoubleMatrix2D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/DenseDoubleMatrix2D.java Thu Jan 28 06:11:42 2010
@@ -8,9 +8,11 @@
 */
 package org.apache.mahout.math.matrix.impl;
 
-import org.apache.mahout.math.function.DoubleFunction;
-import org.apache.mahout.math.jet.math.Mult;
-import org.apache.mahout.math.jet.math.PlusMult;
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.Functions;
+import org.apache.mahout.math.function.Mult;
+import org.apache.mahout.math.function.UnaryFunction;
+import org.apache.mahout.math.function.PlusMult;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
 import org.apache.mahout.math.matrix.DoubleMatrix2D;
 
@@ -143,10 +145,10 @@
    *
    * @param function a function object taking as argument the current cell's value.
    * @return <tt>this</tt> (for convenience only).
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
   @Override
-  public DoubleMatrix2D assign(DoubleFunction function) {
+  public DoubleMatrix2D assign(UnaryFunction function) {
     double[] elems = this.elements;
     if (elems == null) {
       throw new InternalError();
@@ -255,7 +257,7 @@
    * 0 2
    * 4 6
    *
-   * m1.assign(m2, org.apache.mahout.math.jet.math.Functions.pow);
+   * m1.assign(m2, org.apache.mahout.math.function.Functions.pow);
    * -->
    * m1 == 2 x 2 matrix
    * 1   1
@@ -268,10 +270,10 @@
    *                 argument the current cell's value of <tt>y</tt>,
    * @return <tt>this</tt> (for convenience only).
    * @throws IllegalArgumentException if <tt>columns() != other.columns() || rows() != other.rows()</tt>
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
   @Override
-  public DoubleMatrix2D assign(DoubleMatrix2D y, org.apache.mahout.math.function.DoubleDoubleFunction function) {
+  public DoubleMatrix2D assign(DoubleMatrix2D y, BinaryFunction function) {
     // overriden for performance only
     if (!(y instanceof DenseDoubleMatrix2D)) {
       return super.assign(y, function);
@@ -293,7 +295,7 @@
     int index = index(0, 0);
 
     // specialized for speed
-    if (function == org.apache.mahout.math.jet.math.Functions.mult) { // x[i] = x[i] * y[i]
+    if (function == Functions.mult) { // x[i] = x[i] * y[i]
       for (int row = rows; --row >= 0;) {
         for (int i = index, j = otherIndex, column = columns; --column >= 0;) {
           elems[i] *= otherElems[j];
@@ -303,7 +305,7 @@
         index += rs;
         otherIndex += ors;
       }
-    } else if (function == org.apache.mahout.math.jet.math.Functions.div) { // x[i] = x[i] / y[i]
+    } else if (function == Functions.div) { // x[i] = x[i] / y[i]
       for (int row = rows; --row >= 0;) {
         for (int i = index, j = otherIndex, column = columns; --column >= 0;) {
           elems[i] /= otherElems[j];

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCDoubleMatrix2D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCDoubleMatrix2D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCDoubleMatrix2D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCDoubleMatrix2D.java Thu Jan 28 06:11:42 2010
@@ -8,11 +8,12 @@
 */
 package org.apache.mahout.math.matrix.impl;
 
-import org.apache.mahout.math.function.DoubleFunction;
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.Functions;
+import org.apache.mahout.math.function.Mult;
+import org.apache.mahout.math.function.PlusMult;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.function.IntIntDoubleFunction;
-import org.apache.mahout.math.jet.math.Functions;
-import org.apache.mahout.math.jet.math.Mult;
-import org.apache.mahout.math.jet.math.PlusMult;
 import org.apache.mahout.math.list.DoubleArrayList;
 import org.apache.mahout.math.list.IntArrayList;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
@@ -88,7 +89,7 @@
   }
 
   @Override
-  public DoubleMatrix2D assign(DoubleFunction function) {
+  public DoubleMatrix2D assign(UnaryFunction function) {
     if (function instanceof Mult) { // x[i] = mult*x[i]
       double alpha = ((Mult) function).getMultiplicator();
       if (alpha == 1) {
@@ -185,7 +186,7 @@
   }
 
   @Override
-  public DoubleMatrix2D assign(DoubleMatrix2D y, org.apache.mahout.math.function.DoubleDoubleFunction function) {
+  public DoubleMatrix2D assign(DoubleMatrix2D y, BinaryFunction function) {
     checkShape(y);
 
     if (function instanceof PlusMult) { // x[i] = x[i] + alpha*y[i]
@@ -205,7 +206,7 @@
       return this;
     }
 
-    if (function == org.apache.mahout.math.jet.math.Functions.mult) { // x[i] = x[i] * y[i]
+    if (function == Functions.mult) { // x[i] = x[i] * y[i]
       int[] idx = indexes.elements();
       double[] vals = values.elements();
 
@@ -222,7 +223,7 @@
       return this;
     }
 
-    if (function == org.apache.mahout.math.jet.math.Functions.div) { // x[i] = x[i] / y[i]
+    if (function == Functions.div) { // x[i] = x[i] / y[i]
       int[] idx = indexes.elements();
       double[] vals = values.elements();
 
@@ -487,7 +488,7 @@
       Crows[i] = C.viewRow(i);
     }
 
-    PlusMult fun = org.apache.mahout.math.jet.math.PlusMult.plusMult(0);
+    PlusMult fun = PlusMult.plusMult(0);
 
     int[] idx = indexes.elements();
     double[] vals = values.elements();

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCMDoubleMatrix2D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCMDoubleMatrix2D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCMDoubleMatrix2D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCMDoubleMatrix2D.java Thu Jan 28 06:11:42 2010
@@ -8,7 +8,7 @@
 */
 package org.apache.mahout.math.matrix.impl;
 
-import org.apache.mahout.math.jet.math.Functions;
+import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.list.DoubleArrayList;
 import org.apache.mahout.math.list.IntArrayList;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix2D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix2D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix2D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix2D.java Thu Jan 28 06:11:42 2010
@@ -8,13 +8,13 @@
 */
 package org.apache.mahout.math.matrix.impl;
 
-import org.apache.mahout.math.function.DoubleDoubleFunction;
-import org.apache.mahout.math.function.DoubleFunction;
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.Functions;
+import org.apache.mahout.math.function.PlusMult;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.function.IntDoubleProcedure;
 import org.apache.mahout.math.function.IntIntDoubleFunction;
-import org.apache.mahout.math.jet.math.Functions;
-import org.apache.mahout.math.jet.math.Mult;
-import org.apache.mahout.math.jet.math.PlusMult;
+import org.apache.mahout.math.function.Mult;
 import org.apache.mahout.math.map.AbstractIntDoubleMap;
 import org.apache.mahout.math.map.OpenIntDoubleHashMap;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
@@ -130,10 +130,10 @@
    *
    * @param function a function object taking as argument the current cell's value.
    * @return <tt>this</tt> (for convenience only).
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
   @Override
-  public DoubleMatrix2D assign(DoubleFunction function) {
+  public DoubleMatrix2D assign(UnaryFunction function) {
     if (this.isNoView && function instanceof Mult) { // x[i] = mult*x[i]
       this.elements.assign(function);
     } else {
@@ -173,7 +173,7 @@
 
   @Override
   public DoubleMatrix2D assign(final DoubleMatrix2D y,
-                               DoubleDoubleFunction function) {
+                               BinaryFunction function) {
     if (!this.isNoView) {
       return super.assign(y, function);
     }
@@ -197,7 +197,7 @@
       return this;
     }
 
-    if (function == org.apache.mahout.math.jet.math.Functions.mult) { // x[i] = x[i] * y[i]
+    if (function == Functions.mult) { // x[i] = x[i] * y[i]
       this.elements.forEachPair(
           new IntDoubleProcedure() {
             @Override
@@ -214,7 +214,7 @@
       );
     }
 
-    if (function == org.apache.mahout.math.jet.math.Functions.div) { // x[i] = x[i] / y[i]
+    if (function == Functions.div) { // x[i] = x[i] / y[i]
       this.elements.forEachPair(
           new IntDoubleProcedure() {
             @Override
@@ -543,7 +543,7 @@
       Crows[i] = C.viewRow(i);
     }
 
-    final org.apache.mahout.math.jet.math.PlusMult fun = org.apache.mahout.math.jet.math.PlusMult.plusMult(0);
+    final PlusMult fun = PlusMult.plusMult(0);
 
     this.elements.forEachPair(
         new IntDoubleProcedure() {

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/TridiagonalDoubleMatrix2D.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/TridiagonalDoubleMatrix2D.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/TridiagonalDoubleMatrix2D.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/TridiagonalDoubleMatrix2D.java Thu Jan 28 06:11:42 2010
@@ -8,11 +8,12 @@
 */
 package org.apache.mahout.math.matrix.impl;
 
-import org.apache.mahout.math.function.DoubleDoubleFunction;
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.Functions;
+import org.apache.mahout.math.function.Mult;
+import org.apache.mahout.math.function.PlusMult;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.function.IntIntDoubleFunction;
-import org.apache.mahout.math.jet.math.Functions;
-import org.apache.mahout.math.jet.math.Mult;
-import org.apache.mahout.math.jet.math.PlusMult;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
 import org.apache.mahout.math.matrix.DoubleMatrix2D;
 
@@ -112,7 +113,7 @@
   }
 
   @Override
-  public DoubleMatrix2D assign(final org.apache.mahout.math.function.DoubleFunction function) {
+  public DoubleMatrix2D assign(final UnaryFunction function) {
     if (function instanceof Mult) { // x[i] = mult*x[i]
       double alpha = ((Mult) function).getMultiplicator();
       if (alpha == 1) {
@@ -185,7 +186,7 @@
 
   @Override
   public DoubleMatrix2D assign(final DoubleMatrix2D y,
-                               DoubleDoubleFunction function) {
+                               BinaryFunction function) {
     checkShape(y);
 
     if (function instanceof PlusMult) { // x[i] = x[i] + alpha*y[i]
@@ -205,7 +206,7 @@
       return this;
     }
 
-    if (function == org.apache.mahout.math.jet.math.Functions.mult) { // x[i] = x[i] * y[i]
+    if (function == Functions.mult) { // x[i] = x[i] * y[i]
       forEachNonZero(
           new IntIntDoubleFunction() {
             @Override
@@ -218,7 +219,7 @@
       return this;
     }
 
-    if (function == org.apache.mahout.math.jet.math.Functions.div) { // x[i] = x[i] / y[i]
+    if (function == Functions.div) { // x[i] = x[i] / y[i]
       forEachNonZero(
           new IntIntDoubleFunction() {
             @Override
@@ -506,7 +507,7 @@
       Crows[i] = C.viewRow(i);
     }
 
-    final org.apache.mahout.math.jet.math.PlusMult fun = org.apache.mahout.math.jet.math.PlusMult.plusMult(0);
+    final PlusMult fun = PlusMult.plusMult(0);
 
     forEachNonZero(
         new IntIntDoubleFunction() {

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Algebra.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Algebra.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Algebra.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Algebra.java Thu Jan 28 06:11:42 2010
@@ -13,9 +13,9 @@
 import org.apache.mahout.math.Sorting;
 import org.apache.mahout.math.Swapper;
 import org.apache.mahout.math.bitvector.QuickBitVector;
-import org.apache.mahout.math.function.DoubleDoubleFunction;
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.function.IntComparator;
-import org.apache.mahout.math.jet.math.Functions;
 import org.apache.mahout.math.list.ObjectArrayList;
 import org.apache.mahout.math.matrix.DoubleFactory2D;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
@@ -122,8 +122,8 @@
   }
 
   /** Returns sqrt(a^2 + b^2) without under/overflow. */
-  private static org.apache.mahout.math.function.DoubleDoubleFunction hypotFunction() {
-    return new DoubleDoubleFunction() {
+  private static BinaryFunction hypotFunction() {
+    return new BinaryFunction() {
       @Override
       public double apply(double a, double b) {
         return hypot(a, b);
@@ -217,7 +217,7 @@
     }
 
     for (int column = columns; --column >= 0;) {
-      A.viewColumn(column).assign(x, org.apache.mahout.math.jet.math.Functions.mult);
+      A.viewColumn(column).assign(x, Functions.mult);
     }
     return A;
   }
@@ -227,7 +227,7 @@
     if (x.size() == 0) {
       return 0;
     }
-    return x.aggregate(Functions.plus, org.apache.mahout.math.jet.math.Functions.abs);
+    return x.aggregate(Functions.plus, Functions.abs);
   }
 
   /** Returns the one-norm of matrix <tt>A</tt>, which is the maximum absolute column sum. */
@@ -254,7 +254,7 @@
     if (A.size() == 0) {
       return 0;
     }
-    return A.aggregate(hypotFunction(), org.apache.mahout.math.jet.math.Functions.identity);
+    return A.aggregate(hypotFunction(), Functions.identity);
   }
 
   /** Returns the infinity norm of vector <tt>x</tt>, which is <tt>Max(abs(x[i]))</tt>. */
@@ -263,9 +263,9 @@
     if (x.size() == 0) {
       return 0;
     }
-    return x.aggregate(Functions.max, org.apache.mahout.math.jet.math.Functions.abs);
+    return x.aggregate(Functions.max, Functions.abs);
 //  if (x.size()==0) return 0;
-//  return x.aggregate(Functions.plus,org.apache.mahout.math.jet.math.Functions.abs);
+//  return x.aggregate(Functions.plus,org.apache.mahout.math.function.Functions.abs);
 //  double max = 0;
 //  for (int i = x.size(); --i >= 0; ) {
 //    max = Math.max(max, x.getQuick(i));

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Blas.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Blas.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Blas.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Blas.java Thu Jan 28 06:11:42 2010
@@ -8,6 +8,8 @@
 */
 package org.apache.mahout.math.matrix.linalg;
 
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
 import org.apache.mahout.math.matrix.DoubleMatrix2D;
 
@@ -20,9 +22,9 @@
    *
    * @param A        the matrix to modify.
    * @param function a function object taking as argument the current cell's value.
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  void assign(DoubleMatrix2D A, org.apache.mahout.math.function.DoubleFunction function);
+  void assign(DoubleMatrix2D A, UnaryFunction function);
 
   /**
    * Assigns the result of a function to each cell; <tt>x[row,col] = function(x[row,col],y[row,col])</tt>.
@@ -33,20 +35,20 @@
    *                 argument the current cell's value of <tt>y</tt>,
    * @return <tt>this</tt> (for convenience only).
    * @throws IllegalArgumentException if <tt>x.columns() != y.columns() || x.rows() != y.rows()</tt>
-   * @see org.apache.mahout.math.jet.math.Functions
+   * @see org.apache.mahout.math.function.Functions
    */
-  void assign(DoubleMatrix2D x, DoubleMatrix2D y, org.apache.mahout.math.function.DoubleDoubleFunction function);
+  void assign(DoubleMatrix2D x, DoubleMatrix2D y, BinaryFunction function);
 
   /**
    * Returns the sum of absolute values; <tt>|x[0]| + |x[1]| + ... </tt>. In fact equivalent to
-   * <tt>x.aggregate(Functions.plus, org.apache.mahout.math.jet.math.Functions.abs)</tt>.
+   * <tt>x.aggregate(Functions.plus, org.apache.mahout.math.function.Functions.abs)</tt>.
    *
    * @param x the first vector.
    */
   double dasum(DoubleMatrix1D x);
 
   /**
-   * Combined vector scaling; <tt>y = y + alpha*x</tt>. In fact equivalent to <tt>y.assign(x,org.apache.mahout.math.jet.math.Functions.plusMult(alpha))</tt>.
+   * Combined vector scaling; <tt>y = y + alpha*x</tt>. In fact equivalent to <tt>y.assign(x,org.apache.mahout.math.function.Functions.plusMult(alpha))</tt>.
    *
    * @param alpha a scale factor.
    * @param x     the first source vector.
@@ -56,7 +58,7 @@
   void daxpy(double alpha, DoubleMatrix1D x, DoubleMatrix1D y);
 
   /**
-   * Combined matrix scaling; <tt>B = B + alpha*A</tt>. In fact equivalent to <tt>B.assign(A,org.apache.mahout.math.jet.math.Functions.plusMult(alpha))</tt>.
+   * Combined matrix scaling; <tt>B = B + alpha*A</tt>. In fact equivalent to <tt>B.assign(A,org.apache.mahout.math.function.Functions.plusMult(alpha))</tt>.
    *
    * @param alpha a scale factor.
    * @param A     the first source matrix.

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/CholeskyDecomposition.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/CholeskyDecomposition.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/CholeskyDecomposition.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/CholeskyDecomposition.java Thu Jan 28 06:11:42 2010
@@ -8,7 +8,7 @@
 */
 package org.apache.mahout.math.matrix.linalg;
 
-import org.apache.mahout.math.jet.math.Functions;
+import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.matrix.DoubleFactory2D;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
 import org.apache.mahout.math.matrix.DoubleMatrix2D;

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/LUDecompositionQuick.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/LUDecompositionQuick.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/LUDecompositionQuick.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/LUDecompositionQuick.java Thu Jan 28 06:11:42 2010
@@ -8,8 +8,8 @@
 */
 package org.apache.mahout.math.matrix.linalg;
 
-import org.apache.mahout.math.jet.math.Mult;
-import org.apache.mahout.math.jet.math.PlusMult;
+import org.apache.mahout.math.function.Mult;
+import org.apache.mahout.math.function.PlusMult;
 import org.apache.mahout.math.list.IntArrayList;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
 import org.apache.mahout.math.matrix.DoubleMatrix2D;
@@ -83,7 +83,7 @@
     IntArrayList nonZeroIndexes =
         new IntArrayList(); // sparsity
     DoubleMatrix1D LUcolj = LU.viewColumn(0).like();  // blocked column j
-    Mult multFunction = org.apache.mahout.math.jet.math.Mult.mult(0);
+    Mult multFunction = Mult.mult(0);
 
     // Outer loop.
     int CUT_OFF = 10;
@@ -459,8 +459,8 @@
     }
 
     // transformations
-    Mult div = org.apache.mahout.math.jet.math.Mult.div(0);
-    PlusMult minusMult = org.apache.mahout.math.jet.math.PlusMult.minusMult(0);
+    Mult div = Mult.div(0);
+    PlusMult minusMult = PlusMult.minusMult(0);
 
     IntArrayList nonZeroIndexes =
         new IntArrayList(); // sparsity

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Property.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Property.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Property.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Property.java Thu Jan 28 06:11:42 2010
@@ -11,8 +11,8 @@
 import org.apache.mahout.math.PersistentObject;
 import org.apache.mahout.math.Sorting;
 import org.apache.mahout.math.Swapper;
+import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.function.IntComparator;
-import org.apache.mahout.math.jet.math.Functions;
 import org.apache.mahout.math.list.ObjectArrayList;
 import org.apache.mahout.math.matrix.DoubleFactory2D;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/QRDecomposition.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/QRDecomposition.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/QRDecomposition.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/QRDecomposition.java Thu Jan 28 06:11:42 2010
@@ -8,7 +8,7 @@
 */
 package org.apache.mahout.math.matrix.linalg;
 
-import org.apache.mahout.math.jet.math.Functions;
+import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.matrix.DoubleFactory2D;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
 import org.apache.mahout.math.matrix.DoubleMatrix2D;
@@ -58,7 +58,7 @@
     n = A.columns();
     Rdiag = A.like1D(n);
     //Rdiag = new double[n];
-    //org.apache.mahout.math.function.DoubleDoubleFunction hypot = Algebra.hypotFunction();
+    //org.apache.mahout.math.function.BinaryFunction hypot = Algebra.hypotFunction();
 
     // precompute and cache some views to avoid regenerating them time and again
     DoubleMatrix1D[] QRcolumns = new DoubleMatrix1D[n];

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/SeqBlas.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/SeqBlas.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/SeqBlas.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/SeqBlas.java Thu Jan 28 06:11:42 2010
@@ -8,9 +8,10 @@
 */
 package org.apache.mahout.math.matrix.linalg;
 
-import org.apache.mahout.math.function.DoubleDoubleFunction;
-import org.apache.mahout.math.jet.math.Functions;
-import org.apache.mahout.math.jet.math.PlusMult;
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.Functions;
+import org.apache.mahout.math.function.PlusMult;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
 import org.apache.mahout.math.matrix.DoubleMatrix2D;
 
@@ -25,13 +26,13 @@
   }
 
   @Override
-  public void assign(DoubleMatrix2D A, org.apache.mahout.math.function.DoubleFunction function) {
+  public void assign(DoubleMatrix2D A, UnaryFunction function) {
     A.assign(function);
   }
 
   @Override
   public void assign(DoubleMatrix2D A, DoubleMatrix2D B,
-                     DoubleDoubleFunction function) {
+                     BinaryFunction function) {
     A.assign(B, function);
   }
 
@@ -79,7 +80,7 @@
 
   @Override
   public void dger(double alpha, DoubleMatrix1D x, DoubleMatrix1D y, DoubleMatrix2D A) {
-    PlusMult fun = org.apache.mahout.math.jet.math.PlusMult.plusMult(0);
+    PlusMult fun = PlusMult.plusMult(0);
     for (int i = A.rows(); --i >= 0;) {
       fun.setMultiplicator(alpha * x.getQuick(i));
       A.viewRow(i).assign(y, fun);

Modified: lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/SmpBlas.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/SmpBlas.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/SmpBlas.java (original)
+++ lucene/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/SmpBlas.java Thu Jan 28 06:11:42 2010
@@ -10,6 +10,8 @@
 
 import EDU.oswego.cs.dl.util.concurrent.FJTask;
 
+import org.apache.mahout.math.function.BinaryFunction;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.matrix.DoubleMatrix1D;
 import org.apache.mahout.math.matrix.DoubleMatrix2D;
 
@@ -67,7 +69,7 @@
   }
 
   @Override
-  public void assign(DoubleMatrix2D A, final org.apache.mahout.math.function.DoubleFunction function) {
+  public void assign(DoubleMatrix2D A, final UnaryFunction function) {
     run(A, false,
         new Matrix2DMatrix2DFunction() {
           @Override
@@ -81,7 +83,7 @@
 
   @Override
   public void assign(DoubleMatrix2D A, DoubleMatrix2D B,
-                     final org.apache.mahout.math.function.DoubleDoubleFunction function) {
+                     final BinaryFunction function) {
     run(A, B, false,
         new Matrix2DMatrix2DFunction() {
           @Override

Modified: lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/MatrixTest.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/MatrixTest.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/MatrixTest.java (original)
+++ lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/MatrixTest.java Thu Jan 28 06:11:42 2010
@@ -18,7 +18,11 @@
 package org.apache.mahout.math;
 
 import junit.framework.TestCase;
+
+import static org.apache.mahout.math.function.Functions.*;
+
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
 
 public abstract class MatrixTest extends TestCase {
@@ -66,6 +70,16 @@
     }
   }
 
+  public void testIterate() {
+    Iterator<MatrixSlice> it = test.iterator();
+    MatrixSlice m;
+    while(it.hasNext() && (m = it.next()) != null) {
+      Vector v = m.vector();
+      Vector w = test instanceof SparseColumnMatrix ? test.getColumn(m.index()) : test.getRow(m.index());
+      assertEquals("iterator: " + v.asFormatString() + ", randomAccess: " + w, v, w);
+    }
+  }
+
   public void testGetQuick() {
     int[] c = test.size();
     for (int row = 0; row < c[ROW]; row++) {
@@ -193,7 +207,7 @@
 
   public void testAssignMatrixBinaryFunction() {
     int[] c = test.size();
-    test.assign(test, new PlusFunction());
+    test.assign(test, plus);
     for (int row = 0; row < c[ROW]; row++) {
       for (int col = 0; col < c[COL]; col++) {
         assertEquals("value[" + row + "][" + col + ']', 2 * values[row][col],
@@ -204,7 +218,7 @@
 
   public void testAssignMatrixBinaryFunctionCardinality() {
     try {
-      test.assign(test.transpose(), new PlusFunction());
+      test.assign(test.transpose(), plus);
       fail("exception expected");
     } catch (CardinalityException e) {
       assertTrue(true);
@@ -234,7 +248,7 @@
 
   public void testAssignUnaryFunction() {
     int[] c = test.size();
-    test.assign(new NegateFunction());
+    test.assign(mult(-1));
     for (int row = 0; row < c[ROW]; row++) {
       for (int col = 0; col < c[COL]; col++) {
         assertEquals("value[" + row + "][" + col + ']', -values[row][col], test

Modified: lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestDenseVector.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestDenseVector.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestDenseVector.java (original)
+++ lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestDenseVector.java Thu Jan 28 06:11:42 2010
@@ -19,6 +19,8 @@
 
 import junit.framework.TestCase;
 
+import static org.apache.mahout.math.function.Functions.*;
+
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -282,6 +284,16 @@
     assertEquals("wrong zSum", expected, test.zSum());
   }
 
+  public void testGetDistanceSquared() {
+    Vector other = new DenseVector(test.size());
+    other.set(0, -2);
+    other.set(1, -5);
+    other.set(2, -9);
+    double expected = test.minus(other).getLengthSquared();
+    assertTrue("a.getDistanceSquared(b) != a.minus(b).getLengthSquared",
+        Math.abs(expected - test.getDistanceSquared(other)) < 1e-6);
+  }
+  
   public void testAssignDouble() {
     test.assign(0);
     for (int i = 0; i < values.length; i++) {
@@ -326,28 +338,28 @@
   }
 
   public void testAssignUnaryFunction() {
-    test.assign(new NegateFunction());
+    test.assign(mult(-1));
     for (int i = 0; i < values.length; i++) {
       assertEquals("value[" + i + ']', -values[i], test.getQuick(i));
     }
   }
 
   public void testAssignBinaryFunction() throws Exception {
-    test.assign(test, new PlusFunction());
+    test.assign(test, plus);
     for (int i = 0; i < values.length; i++) {
       assertEquals("value[" + i + ']', 2 * values[i], test.getQuick(i));
     }
   }
 
   public void testAssignBinaryFunction2() throws Exception {
-    test.assign(new PlusFunction(), 4);
+    test.assign(plus(4));
     for (int i = 0; i < values.length; i++) {
       assertEquals("value[" + i + ']', values[i] + 4, test.getQuick(i));
     }
   }
 
   public void testAssignBinaryFunction3() throws Exception {
-    test.assign(new TimesFunction(), 4);
+    test.assign(mult(4));
     for (int i = 0; i < values.length; i++) {
       assertEquals("value[" + i + ']', values[i] * 4, test.getQuick(i));
     }
@@ -355,7 +367,7 @@
 
   public void testAssignBinaryFunctionCardinality() {
     try {
-      test.assign(test.like(2), new PlusFunction());
+      test.assign(test.like(2), plus);
       fail("Cardinality exception expected");
     } catch (CardinalityException e) {
       assertTrue(true);

Modified: lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestMatrixView.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestMatrixView.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestMatrixView.java (original)
+++ lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestMatrixView.java Thu Jan 28 06:11:42 2010
@@ -18,6 +18,8 @@
 package org.apache.mahout.math;
 
 import junit.framework.TestCase;
+import static org.apache.mahout.math.function.Functions.*;
+
 import java.util.HashMap;
 import java.util.Map;
 
@@ -197,7 +199,7 @@
 
   public void testAssignMatrixBinaryFunction() throws Exception {
     int[] c = test.size();
-    test.assign(test, new PlusFunction());
+    test.assign(test, plus);
     for (int row = 0; row < c[ROW]; row++) {
       for (int col = 0; col < c[COL]; col++) {
         assertEquals("value[" + row + "][" + col + ']',
@@ -208,7 +210,7 @@
 
   public void testAssignMatrixBinaryFunctionCardinality() {
     try {
-      test.assign(test.transpose(), new PlusFunction());
+      test.assign(test.transpose(), plus);
       fail("exception expected");
     } catch (CardinalityException e) {
       assertTrue(true);
@@ -238,7 +240,7 @@
 
   public void testAssignUnaryFunction() {
     int[] c = test.size();
-    test.assign(new NegateFunction());
+    test.assign(negate);
     for (int row = 0; row < c[ROW]; row++) {
       for (int col = 0; col < c[COL]; col++) {
         assertEquals("value[" + row + "][" + col + ']',

Modified: lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSparseVector.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSparseVector.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSparseVector.java (original)
+++ lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSparseVector.java Thu Jan 28 06:11:42 2010
@@ -18,6 +18,7 @@
 package org.apache.mahout.math;
 
 import junit.framework.TestCase;
+import static org.apache.mahout.math.function.Functions.*;
 
 import java.util.HashMap;
 import java.util.Iterator;
@@ -319,6 +320,16 @@
     assertEquals("wrong zSum", expected, test.zSum());
   }
 
+  public void testGetDistanceSquared() {
+    Vector other = new RandomAccessSparseVector(test.size());
+    other.set(1, -2);
+    other.set(2, -5);
+    other.set(3, -9);
+    other.set(4, 1);
+    double expected = test.minus(other).getLengthSquared();
+    assertEquals("a.getDistanceSquared(b) != a.minus(b).getLengthSquared", expected, test.getDistanceSquared(other));
+  }
+
   public void testAssignDouble() {
     test.assign(0);
     for (int i = 0; i < values.length; i++) {
@@ -363,14 +374,14 @@
   }
 
   public void testAssignUnaryFunction() {
-    test.assign(new NegateFunction());
+    test.assign(negate);
     for (int i = 0; i < values.length; i++) {
       assertEquals("value[" + i + ']', -values[i], test.getQuick(i+1));
     }
   }
 
   public void testAssignBinaryFunction() throws Exception {
-    test.assign(test, new PlusFunction());
+    test.assign(test, plus);
     for (int i = 0; i < values.length; i++) {
       if (i == 0 || i == 4) {
         assertEquals("get [" + i + ']', 0.0, test.get(i));
@@ -381,7 +392,7 @@
   }
 
   public void testAssignBinaryFunction2() throws Exception {
-    test.assign(new PlusFunction(), 4);
+    test.assign(plus(4));
     for (int i = 0; i < values.length; i++) {
       if (i == 0 || i == 4) {
         assertEquals("get [" + i + ']', 4.0, test.get(i));
@@ -392,7 +403,7 @@
   }
 
   public void testAssignBinaryFunction3() throws Exception {
-    test.assign(new TimesFunction(), 4);
+    test.assign(mult(4));
     for (int i = 0; i < values.length; i++) {
       if (i == 0 || i == 4) {
         assertEquals("get [" + i + ']', 0.0, test.get(i));
@@ -404,7 +415,7 @@
 
   public void testAssignBinaryFunctionCardinality() {
     try {
-      test.assign(test.like(2), new PlusFunction());
+      test.assign(test.like(2), plus);
       fail("Cardinality exception expected");
     } catch (CardinalityException e) {
       assertTrue(true);

Modified: lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestVectorView.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestVectorView.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestVectorView.java (original)
+++ lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestVectorView.java Thu Jan 28 06:11:42 2010
@@ -18,6 +18,9 @@
 package org.apache.mahout.math;
 
 import junit.framework.TestCase;
+import org.apache.mahout.math.function.TimesFunction;
+
+import static org.apache.mahout.math.function.Functions.*;
 
 import java.util.Iterator;
 
@@ -303,21 +306,21 @@
   }
 
   public void testAssignUnaryFunction() {
-    test.assign(new NegateFunction());
+    test.assign(negate);
     for (int i = 0; i < test.size(); i++) {
       assertEquals("value[" + i + ']', -values[i + 1], test.getQuick(i));
     }
   }
 
   public void testAssignBinaryFunction() throws Exception {
-    test.assign(test, new PlusFunction());
+    test.assign(test, plus);
     for (int i = 0; i < test.size(); i++) {
       assertEquals("value[" + i + ']', 2 * values[i + 1], test.getQuick(i));
     }
   }
 
   public void testAssignBinaryFunction2() throws Exception {
-    test.assign(new PlusFunction(), 4);
+    test.assign(plus, 4);
     for (int i = 0; i < test.size(); i++) {
       assertEquals("value[" + i + ']', values[i + 1] + 4, test.getQuick(i));
     }
@@ -332,7 +335,7 @@
 
   public void testAssignBinaryFunctionCardinality() {
     try {
-      test.assign(test.like(2), new PlusFunction());
+      test.assign(test.like(2), plus);
       fail("Cardinality exception expected");
     } catch (CardinalityException e) {
       assertTrue(true);

Modified: lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/VectorTest.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/VectorTest.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/VectorTest.java (original)
+++ lucene/mahout/trunk/math/src/test/java/org/apache/mahout/math/VectorTest.java Thu Jan 28 06:11:42 2010
@@ -22,6 +22,8 @@
 import com.google.gson.reflect.TypeToken;
 import junit.framework.TestCase;
 
+import static org.apache.mahout.math.function.Functions.*;
+
 import java.lang.reflect.Type;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -148,6 +150,47 @@
         AbstractVector.equivalent(vec, left));
   }
 
+  public void testGetDistanceSquared() throws Exception {
+    Vector v = new DenseVector(5);
+    Vector w = new DenseVector(5);
+    setUpV(v);
+    setUpW(w);
+    doTestGetDistanceSquared(v, w);
+
+    v = new RandomAccessSparseVector(5);
+    w = new RandomAccessSparseVector(5);
+    setUpV(v);
+    setUpW(w);
+    doTestGetDistanceSquared(v, w);
+
+    v = new SequentialAccessSparseVector(5);
+    w = new SequentialAccessSparseVector(5);
+    setUpV(v);
+    setUpW(w);
+    doTestGetDistanceSquared(v, w);
+    
+  }
+
+  private void setUpV(Vector v) {
+    v.setQuick(1, 2);
+    v.setQuick(2, -4);
+    v.setQuick(3, -9);
+  }
+
+  private void setUpW(Vector w) {
+    w.setQuick(0, -5);
+    w.setQuick(1, -1);
+    w.setQuick(2, 9);
+    w.setQuick(3, 0.1);
+    w.setQuick(4, 2.1);
+  }
+
+  public void doTestGetDistanceSquared(Vector v, Vector w) throws Exception {
+    double expected = v.minus(w).getLengthSquared();
+    assertTrue("a.getDistanceSquared(b) != a.minus(b).getLengthSquared",
+        Math.abs(expected - v.getDistanceSquared(w)) < 1e-6);
+  }
+
   public void testNormalize() throws Exception {
     RandomAccessSparseVector vec1 = new RandomAccessSparseVector(3);
 
@@ -234,17 +277,41 @@
   }
 
   public void testMax() throws Exception {
-    RandomAccessSparseVector vec1 = new RandomAccessSparseVector(3);
+    Vector vec1 = new RandomAccessSparseVector(3);
 
-    vec1.setQuick(0, 1);
-    vec1.setQuick(1, 3);
-    vec1.setQuick(2, 2);
+    vec1.setQuick(0, -1);
+    vec1.setQuick(1, -3);
+    vec1.setQuick(2, -2);
 
     double max = vec1.maxValue();
-    assertEquals(max + " does not equal: " + 3, 3, max, 0.0);
+    assertEquals(max + " does not equal: " + -1, -1, max, 0.0);
 
     int idx = vec1.maxValueIndex();
-    assertEquals(idx + " does not equal: " + 1, 1, idx);
+    assertEquals(idx + " does not equal: " + 0, 0, idx);
+
+    vec1 = new RandomAccessSparseVector(3);
+    max = vec1.maxValue();
+    assertEquals(max + " does not equal 0", 0d, max);
+
+    vec1 = new DenseVector(3);
+    max = vec1.maxValue();
+    assertEquals(max + " does not equal 0", 0d, max);
+
+    vec1 = new SequentialAccessSparseVector(3);
+    max = vec1.maxValue();
+    assertEquals(max + " does not equal 0", 0d, max);
+
+    vec1 = new RandomAccessSparseVector(0);
+    max = vec1.maxValue();
+    assertEquals(max + " does not equal -inf", Double.NEGATIVE_INFINITY, max);
+
+    vec1 = new DenseVector(0);
+    max = vec1.maxValue();
+    assertEquals(max + " does not equal -inf", Double.NEGATIVE_INFINITY, max);
+
+    vec1 = new SequentialAccessSparseVector(0);
+    max = vec1.maxValue();
+    assertEquals(max + " does not equal -inf", Double.NEGATIVE_INFINITY, max);
 
   }
 
@@ -308,6 +375,58 @@
 
   }
 
+  public void testAggregation() throws Exception {
+    Vector v = new DenseVector(5);
+    Vector w = new DenseVector(5);
+    setUpFirstVector(v);
+    setUpSecondVector(w);
+    doTestAggregation(v, w);
+    v = new RandomAccessSparseVector(5);
+    w = new RandomAccessSparseVector(5);
+    setUpFirstVector(v);
+    doTestAggregation(v, w);
+    setUpSecondVector(w);
+    doTestAggregation(w, v);
+    v = new SequentialAccessSparseVector(5);
+    w = new SequentialAccessSparseVector(5);
+    setUpFirstVector(v);
+    doTestAggregation(v, w);
+    setUpSecondVector(w);
+    doTestAggregation(w, v);
+  }
+
+  private void doTestAggregation(Vector v, Vector w) throws Exception {
+    assertEquals("aggregate(plus, pow(2)) not equal to " + v.getLengthSquared(),
+        v.getLengthSquared(),
+        v.aggregate(plus, pow(2)));
+    assertEquals("aggregate(plus, abs) not equal to " + v.norm(1),
+        v.norm(1),
+        v.aggregate(plus, abs));
+    assertEquals("aggregate(max, abs) not equal to " + v.norm(Double.POSITIVE_INFINITY),
+        v.norm(Double.POSITIVE_INFINITY),
+        v.aggregate(max, abs));
+
+    assertEquals("v.dot(w) != v.aggregate(w, plus, mult)",
+        v.dot(w),
+        v.aggregate(w, plus, mult));
+    assertEquals("|(v-w)|^2 != v.aggregate(w, plus, chain(pow(2), minus))",
+        v.minus(w).dot(v.minus(w)),
+        v.aggregate(w, plus, chain(pow(2), minus)));
+  }
+
+  private void setUpFirstVector(Vector v) {
+    v.setQuick(1, 2);
+    v.setQuick(2, 0.5);
+    v.setQuick(3, -5);
+  }
+
+  private void setUpSecondVector(Vector v) {
+    v.setQuick(0, 3);
+    v.setQuick(1, -1.5);
+    v.setQuick(2, -5);
+    v.setQuick(3, 2);
+  }
+
   /*public void testSparseVectorTimesX() {
     RandomUtils.useTestSeed();
     Random rnd = RandomUtils.getRandom();

Modified: lucene/mahout/trunk/utils/src/main/java/org/apache/mahout/utils/vectors/arff/Driver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/utils/src/main/java/org/apache/mahout/utils/vectors/arff/Driver.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/utils/src/main/java/org/apache/mahout/utils/vectors/arff/Driver.java (original)
+++ lucene/mahout/trunk/utils/src/main/java/org/apache/mahout/utils/vectors/arff/Driver.java Thu Jan 28 06:11:42 2010
@@ -30,8 +30,8 @@
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.SequenceFile;
-import org.apache.mahout.math.RandomAccessSparseVector;
 import org.apache.mahout.common.CommandLineUtil;
+import org.apache.mahout.math.VectorWritable;
 import org.apache.mahout.utils.vectors.io.JWriterVectorWriter;
 import org.apache.mahout.utils.vectors.io.SequenceFileVectorWriter;
 import org.apache.mahout.utils.vectors.io.VectorWriter;
@@ -174,7 +174,7 @@
     Path path = new Path(outFile);
     Configuration conf = new Configuration();
     FileSystem fs = FileSystem.get(conf);
-    SequenceFile.Writer seqWriter = SequenceFile.createWriter(fs, conf, path, LongWritable.class, RandomAccessSparseVector.class);
+    SequenceFile.Writer seqWriter = SequenceFile.createWriter(fs, conf, path, LongWritable.class, VectorWritable.class);
     return new SequenceFileVectorWriter(seqWriter);
   }
 

Modified: lucene/mahout/trunk/utils/src/test/java/org/apache/mahout/utils/vectors/RandomVectorIterable.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/utils/src/test/java/org/apache/mahout/utils/vectors/RandomVectorIterable.java?rev=903965&r1=903964&r2=903965&view=diff
==============================================================================
--- lucene/mahout/trunk/utils/src/test/java/org/apache/mahout/utils/vectors/RandomVectorIterable.java (original)
+++ lucene/mahout/trunk/utils/src/test/java/org/apache/mahout/utils/vectors/RandomVectorIterable.java Thu Jan 28 06:11:42 2010
@@ -20,7 +20,7 @@
 import org.apache.mahout.common.RandomUtils;
 import org.apache.mahout.math.DenseVector;
 import org.apache.mahout.math.RandomAccessSparseVector;
-import org.apache.mahout.math.UnaryFunction;
+import org.apache.mahout.math.function.UnaryFunction;
 import org.apache.mahout.math.Vector;
 
 import java.util.Iterator;