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,
- * new DoubleDoubleFunction() {
+ * new BinaryFunction() {
* public double apply(double x, double y) { return Math.pow(x,y); }
* }
* );
@@ -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,
- * new DoubleDoubleFunction() {
+ * new BinaryFunction() {
* public double apply(double x, double y) { return Math.pow(x,y); }
* }
* );
@@ -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;