You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by sr...@apache.org on 2010/08/14 21:09:11 UTC
svn commit: r985565 [1/2] - in
/mahout/trunk/math/src/main/java/org/apache/mahout/math: ./
decomposer/hebbian/ decomposer/lanczos/ function/ jet/math/ jet/random/
jet/random/sampling/ jet/stat/ jet/stat/quantile/ matrix/
matrix/doublealgo/ matrix/impl/...
Author: srowen
Date: Sat Aug 14 19:09:09 2010
New Revision: 985565
URL: http://svn.apache.org/viewvc?rev=985565&view=rev
Log:
More style I think
Modified:
mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/Algebra.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseMatrix.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/JsonMatrixAdapter.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/JsonVectorAdapter.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixVectorView.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixView.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/QRDecomposition.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/SequentialAccessSparseVector.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/SingularValueDecomposition.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseMatrix.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/hebbian/HebbianSolver.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/lanczos/LanczosSolver.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Double27Function.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Double9Function.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/function/IntIntIntProcedure.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/function/VectorFunctions.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/Bessel.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Beta.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Binomial.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/ChiSquare.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Distributions.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/EmpiricalWalker.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/ExponentialPower.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Fun.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Gamma.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/HyperGeometric.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Logarithmic.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Normal.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/PoissonSlow.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/StudentT.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/sampling/WeightedRandomSampler.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Descriptive.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Gamma.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Probability.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/KnownDoubleQuantileEstimator.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/QuantileCalc.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/QuantileFinderFactory.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory1D.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Formatter.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Sorting.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Statistic.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractFormatter.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractMatrix2D.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractMatrix3D.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCMDoubleMatrix2D.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix1D.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix2D.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix3D.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/TridiagonalDoubleMatrix2D.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/WrapperDoubleMatrix2D.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Algebra.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/EigenvalueDecomposition.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/LUDecompositionQuick.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Property.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/QRDecomposition.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/SeqBlas.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/stats/OnlineSummarizer.java
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java Sat Aug 14 19:09:09 2010
@@ -19,7 +19,11 @@ package org.apache.mahout.math;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-import org.apache.mahout.math.function.*;
+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.VectorFunction;
import java.util.HashMap;
import java.util.Iterator;
@@ -46,6 +50,9 @@ public abstract class AbstractMatrix imp
}
public MatrixSlice next() {
+ if (slice >= numSlices()) {
+ throw new NoSuchElementException();
+ }
int i = slice++;
return new MatrixSlice(slice(i), i);
}
@@ -612,6 +619,7 @@ public abstract class AbstractMatrix imp
return iterator();
}
+ @Override
public Element getElement(final int i) {
return new Element() {
public double get() {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java Sat Aug 14 19:09:09 2010
@@ -109,9 +109,9 @@ public abstract class AbstractVector imp
return dotSelf();
}
double result = 0.0;
- Iterator<Vector.Element> iter = iterateNonZero();
+ Iterator<Element> iter = iterateNonZero();
while (iter.hasNext()) {
- Vector.Element element = iter.next();
+ Element element = iter.next();
result += element.get() * x.getQuick(element.index());
}
return result;
@@ -119,7 +119,7 @@ public abstract class AbstractVector imp
public double dotSelf() {
double result = 0.0;
- Iterator<Vector.Element> iter = iterateNonZero();
+ Iterator<Element> iter = iterateNonZero();
while (iter.hasNext()) {
double value = iter.next().get();
result += value * value;
@@ -134,7 +134,7 @@ public abstract class AbstractVector imp
return getQuick(index);
}
- public Vector.Element getElement(final int index) {
+ public Element getElement(int index) {
return new LocalElement(index);
}
@@ -169,7 +169,7 @@ public abstract class AbstractVector imp
// we can special case certain powers
if (Double.isInfinite(power)) {
double val = 0.0;
- Iterator<Vector.Element> iter = this.iterateNonZero();
+ Iterator<Element> iter = this.iterateNonZero();
while (iter.hasNext()) {
val = Math.max(val, Math.abs(iter.next().get()));
}
@@ -178,7 +178,7 @@ public abstract class AbstractVector imp
return Math.sqrt(dotSelf());
} else if (power == 1.0) {
double val = 0.0;
- Iterator<Vector.Element> iter = this.iterateNonZero();
+ Iterator<Element> iter = this.iterateNonZero();
while (iter.hasNext()) {
val += Math.abs(iter.next().get());
}
@@ -186,16 +186,16 @@ public abstract class AbstractVector imp
} else if (power == 0.0) {
// this is the number of non-zero elements
double val = 0.0;
- Iterator<Vector.Element> iter = this.iterateNonZero();
+ Iterator<Element> iter = this.iterateNonZero();
while (iter.hasNext()) {
val += iter.next().get() == 0 ? 0 : 1;
}
return val;
} else {
double val = 0.0;
- Iterator<Vector.Element> iter = this.iterateNonZero();
+ Iterator<Element> iter = this.iterateNonZero();
while (iter.hasNext()) {
- Vector.Element element = iter.next();
+ Element element = iter.next();
val += Math.pow(element.get(), power);
}
return Math.pow(val, 1.0 / power);
@@ -218,7 +218,7 @@ public abstract class AbstractVector imp
return lengthSquared + v.getLengthSquared() - 2 * this.dot(v);
}
Vector randomlyAccessed;
- Iterator<Vector.Element> it;
+ Iterator<Element> it;
double d = 0.0;
if (lengthSquared >= 0.0) {
it = v.iterateNonZero();
@@ -230,7 +230,7 @@ public abstract class AbstractVector imp
d += v.getLengthSquared();
}
while(it.hasNext()) {
- Vector.Element e = it.next();
+ Element e = it.next();
double value = e.get();
d += value * (value - 2.0 * randomlyAccessed.getQuick(e.index()));
}
@@ -241,10 +241,10 @@ public abstract class AbstractVector imp
public double maxValue() {
double result = Double.NEGATIVE_INFINITY;
int nonZeroElements = 0;
- Iterator<Vector.Element> iter = this.iterateNonZero();
+ Iterator<Element> iter = this.iterateNonZero();
while (iter.hasNext()) {
nonZeroElements++;
- Vector.Element element = iter.next();
+ Element element = iter.next();
result = Math.max(result, element.get());
}
if (nonZeroElements < size) {
@@ -257,10 +257,10 @@ public abstract class AbstractVector imp
int result = -1;
double max = Double.NEGATIVE_INFINITY;
int nonZeroElements = 0;
- Iterator<Vector.Element> iter = this.iterateNonZero();
+ Iterator<Element> iter = this.iterateNonZero();
while (iter.hasNext()) {
nonZeroElements++;
- Vector.Element element = iter.next();
+ Element element = iter.next();
double tmp = element.get();
if (tmp > max) {
max = tmp;
@@ -271,7 +271,7 @@ public abstract class AbstractVector imp
// unfilled element(0.0) could be the maxValue hence we need to
// find one of those elements
if (nonZeroElements < size && max < 0.0) {
- for (Vector.Element element : this) {
+ for (Element element : this) {
if (element.get() == 0.0) {
return element.index();
}
@@ -283,10 +283,10 @@ public abstract class AbstractVector imp
public double minValue() {
double result = Double.POSITIVE_INFINITY;
int nonZeroElements = 0;
- Iterator<Vector.Element> iter = this.iterateNonZero();
+ Iterator<Element> iter = this.iterateNonZero();
while (iter.hasNext()) {
nonZeroElements++;
- Vector.Element element = iter.next();
+ Element element = iter.next();
result = Math.min(result, element.get());
}
if (nonZeroElements < size) {
@@ -299,10 +299,10 @@ public abstract class AbstractVector imp
int result = -1;
double min = Double.POSITIVE_INFINITY;
int nonZeroElements = 0;
- Iterator<Vector.Element> iter = this.iterateNonZero();
+ Iterator<Element> iter = this.iterateNonZero();
while (iter.hasNext()) {
nonZeroElements++;
- Vector.Element element = iter.next();
+ Element element = iter.next();
double tmp = element.get();
if (tmp < min) {
min = tmp;
@@ -313,7 +313,7 @@ public abstract class AbstractVector imp
// unfilled element(0.0) could be the maxValue hence we need to
// find one of those elements
if (nonZeroElements < size && min > 0.0) {
- for (Vector.Element element : this) {
+ for (Element element : this) {
if (element.get() == 0.0) {
return element.index();
}
@@ -345,9 +345,9 @@ public abstract class AbstractVector imp
}
Vector result = like().assign(this);
- Iterator<Vector.Element> iter = x.iterateNonZero();
+ Iterator<Element> iter = x.iterateNonZero();
while (iter.hasNext()) {
- Vector.Element e = iter.next();
+ Element e = iter.next();
int index = e.index();
result.setQuick(index, this.getQuick(index) + e.get());
}
@@ -355,9 +355,9 @@ public abstract class AbstractVector imp
}
public void addTo(Vector v) {
- Iterator<Vector.Element> it = iterateNonZero();
+ Iterator<Element> it = iterateNonZero();
while(it.hasNext() ) {
- Vector.Element e = it.next();
+ Element e = it.next();
int index = e.index();
v.setQuick(index, v.getQuick(index) + e.get());
}
@@ -412,7 +412,7 @@ public abstract class AbstractVector imp
public double zSum() {
double result = 0.0;
- Iterator<Vector.Element> iter = iterateNonZero();
+ Iterator<Element> iter = iterateNonZero();
while (iter.hasNext()) {
result += iter.next().get();
}
@@ -448,28 +448,18 @@ public abstract class AbstractVector imp
}
public Vector assign(BinaryFunction f, double y) {
- Iterator<Vector.Element> it;
- if(f.apply(0, y) == 0) {
- it = iterateNonZero();
- } else {
- it = iterator();
- }
+ Iterator<Element> it = f.apply(0, y) == 0 ? iterateNonZero() : iterator();
while(it.hasNext()) {
- Vector.Element e = it.next();
+ Element e = it.next();
e.set(f.apply(e.get(), y));
}
return this;
}
public Vector assign(UnaryFunction function) {
- Iterator<Vector.Element> it;
- if(function.apply(0) == 0) {
- it = iterateNonZero();
- } else {
- it = iterator();
- }
+ Iterator<Element> it = function.apply(0) == 0 ? iterateNonZero() : iterator();
while(it.hasNext()) {
- Vector.Element e = it.next();
+ Element e = it.next();
e.set(function.apply(e.get()));
}
return this;
@@ -521,9 +511,9 @@ public abstract class AbstractVector imp
@Override
public int hashCode() {
int result = size;
- Iterator<Vector.Element> iter = iterateNonZero();
+ Iterator<Element> iter = iterateNonZero();
while (iter.hasNext()) {
- Vector.Element ele = iter.next();
+ Element ele = iter.next();
long v = Double.doubleToLongBits(ele.get());
result += ele.index() * (int) (v ^ (v >>> 32));
}
@@ -575,8 +565,8 @@ public abstract class AbstractVector imp
}
- protected final class LocalElement implements Vector.Element {
- protected int index;
+ protected final class LocalElement implements Element {
+ int index;
LocalElement(int index) {
this.index = index;
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/Algebra.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/Algebra.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/Algebra.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/Algebra.java Sat Aug 14 19:09:09 2010
@@ -19,7 +19,10 @@ package org.apache.mahout.math;
public class Algebra {
-
+
+ private Algebra() {
+ }
+
public static Vector mult(Matrix m, Vector v) {
if (m.numRows() != v.size()) {
throw new CardinalityException(m.numRows(), v.size());
@@ -54,14 +57,16 @@ public class Algebra {
* http://mathworld.wolfram.com/MaximumAbsoluteRowSumNorm.html
*/
public static double getNorm(Matrix m) {
- double max=0.0;
- Vector cv;
- for(int i=0;i<m.numRows();i++) {
- int sum=0;
- cv=m.getRow(i);
- for(int j=0;j<cv.size();j++)
- sum+=Math.abs(cv.getQuick(j));
- if(sum>max) max=sum;
+ double max = 0.0;
+ for(int i = 0; i < m.numRows(); i++) {
+ int sum = 0;
+ Vector cv = m.getRow(i);
+ for (int j = 0; j < cv.size(); j++) {
+ sum += Math.abs(cv.getQuick(j));
+ }
+ if (sum > max) {
+ max = sum;
+ }
}
return max;
}
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseMatrix.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseMatrix.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseMatrix.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseMatrix.java Sat Aug 14 19:09:09 2010
@@ -25,7 +25,6 @@ public class DenseMatrix extends Abstrac
protected double[][] values;
public DenseMatrix() {
- super();
}
protected int columnSize() {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/JsonMatrixAdapter.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/JsonMatrixAdapter.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/JsonMatrixAdapter.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/JsonMatrixAdapter.java Sat Aug 14 19:09:09 2010
@@ -26,7 +26,6 @@ import com.google.gson.JsonParseExceptio
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
-import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/JsonVectorAdapter.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/JsonVectorAdapter.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/JsonVectorAdapter.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/JsonVectorAdapter.java Sat Aug 14 19:09:09 2010
@@ -54,7 +54,7 @@ public class JsonVectorAdapter implement
String klass = obj.get(JsonMatrixAdapter.CLASS).getAsString();
String vector = obj.get(VECTOR).getAsString();
ClassLoader ccl = Thread.currentThread().getContextClassLoader();
- Class<?> cl = null;
+ Class<?> cl;
try {
cl = ccl.loadClass(klass);
} catch (ClassNotFoundException e) {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixVectorView.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixVectorView.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixVectorView.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixVectorView.java Sat Aug 14 19:09:09 2010
@@ -18,6 +18,7 @@
package org.apache.mahout.math;
import java.util.Iterator;
+import java.util.NoSuchElementException;
/**
* Provides a virtual vector that is really a row or column or diagonal of a matrix.
@@ -75,15 +76,18 @@ public class MatrixVectorView extends Ab
* @return An {@link java.util.Iterator} over all elements
*/
public Iterator<Element> iterator() {
- final AbstractVector.LocalElement r = new LocalElement(0);
+ final LocalElement r = new LocalElement(0);
return new Iterator<Element>() {
- int i = 0;
+ private int i;
public boolean hasNext() {
return i < size();
}
public Element next() {
+ if (i >= size()) {
+ throw new NoSuchElementException();
+ }
r.index = i++;
return r;
}
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixView.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixView.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixView.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixView.java Sat Aug 14 19:09:09 2010
@@ -29,7 +29,6 @@ public class MatrixView extends Abstract
private int[] cardinality;
public MatrixView() {
- super();
}
/**
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/QRDecomposition.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/QRDecomposition.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/QRDecomposition.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/QRDecomposition.java Sat Aug 14 19:09:09 2010
@@ -47,7 +47,8 @@ public class QRDecomposition {
private final Matrix QR;
/** Row and column dimensions. */
- private final int originalRows, originalColumns;
+ private final int originalRows;
+ private final int originalColumns;
/** Array for internal storage of diagonal of R. */
private final Vector Rdiag;
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/SequentialAccessSparseVector.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/SequentialAccessSparseVector.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/SequentialAccessSparseVector.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/SequentialAccessSparseVector.java Sat Aug 14 19:09:09 2010
@@ -106,9 +106,9 @@ public class SequentialAccessSparseVecto
values = ((SequentialAccessSparseVector)other).values.clone();
} else {
values = new OrderedIntDoubleMapping();
- Iterator<Vector.Element> othersElems = other.iterateNonZero();
+ Iterator<Element> othersElems = other.iterateNonZero();
while (othersElems.hasNext()) {
- Vector.Element elem = othersElems.next();
+ Element elem = othersElems.next();
setQuick(elem.index(), elem.get());
}
}
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/SingularValueDecomposition.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/SingularValueDecomposition.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/SingularValueDecomposition.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/SingularValueDecomposition.java Sat Aug 14 19:09:09 2010
@@ -8,12 +8,6 @@ It is provided "as is" without expressed
*/
package org.apache.mahout.math;
-//import org.apache.mahout.math.matrix.DoubleFactory2D;
-//import org.apache.mahout.math.matrix.DoubleMatrix2D;
-import org.apache.mahout.math.Matrix;
-import org.apache.mahout.math.Algebra;
-
-
public class SingularValueDecomposition implements java.io.Serializable {
/** Arrays for internal storage of U and V. */
@@ -49,25 +43,26 @@ public class SingularValueDecomposition
// Derived from LINPACK code.
// Initialize.
- double[][] A;
- if(!transpositionNeeded)
- {
- m = Arg.numRows();
- n = Arg.numCols();
- A = new double[m][n];
- for(int i=0;i<m;i++)
- for(int j=0;j<n;j++)
- A[i][j]=Arg.get(i,j);
- }
- else
- {
+ double[][] A;
+ if (transpositionNeeded) {
//use the transpose Matrix
m = Arg.numCols();
n = Arg.numRows();
A = new double[m][n];
- for(int i=0;i<m;i++)
- for(int j=0;j<n;j++)
- A[i][j]=Arg.get(j,i);
+ for (int i = 0; i < m; i++) {
+ for (int j = 0; j < n; j++) {
+ A[i][j] = Arg.get(j, i);
+ }
+ }
+ } else {
+ m = Arg.numRows();
+ n = Arg.numCols();
+ A = new double[m][n];
+ for (int i = 0; i < m; i++) {
+ for (int j = 0; j < n; j++) {
+ A[i][j] = Arg.get(i, j);
+ }
+ }
}
@@ -523,18 +518,19 @@ public class SingularValueDecomposition
* @return <tt>U</tt>
*/
public Matrix getU() {
- if (!transpositionNeeded) {
+ if (transpositionNeeded) { //case numRows() < numCols()
+ return new DenseMatrix(V);
+ } else {
int numCols = Math.min(m + 1, n);
Matrix r = new DenseMatrix(m, numCols);
- for (int i = 0; i < m; i++)
- for (int j = 0; j < numCols; j++)
+ for (int i = 0; i < m; i++) {
+ for (int j = 0; j < numCols; j++) {
r.set(i, j, U[i][j]);
-
+ }
+ }
+
return r;
}
- else { //case numRows() < numCols()
- return new DenseMatrix(V);
- }
}
/**
@@ -543,17 +539,18 @@ public class SingularValueDecomposition
* @return <tt>V</tt>
*/
public Matrix getV() {
- if (!transpositionNeeded) {
- return new DenseMatrix(V);
- }
- else { //case numRows() < numCols()
+ if (transpositionNeeded) { //case numRows() < numCols()
int numCols = Math.min(m + 1, n);
Matrix r = new DenseMatrix(m, numCols);
- for (int i = 0; i < m; i++)
- for (int j = 0; j < numCols; j++)
+ for (int i = 0; i < m; i++) {
+ for (int j = 0; j < numCols; j++) {
r.set(i, j, U[i][j]);
-
+ }
+ }
+
return r;
+ } else {
+ return new DenseMatrix(V);
}
}
@@ -585,12 +582,12 @@ public class SingularValueDecomposition
* @parameter minSingularValue
* minSingularValue - value below which singular values are ignored (a 0 or negative value implies all singular value will be used)
*/
- Matrix getCovariance(double minSingularValue)
- {
- DenseMatrix J=new DenseMatrix(s.length,s.length);
- Matrix VMat=new DenseMatrix(this.V);
- for(int i=0;i<s.length;i++)
- J.set(i,i,(s[i]>=minSingularValue)?1/(s[i]*s[i]):0.0);
+ Matrix getCovariance(double minSingularValue) {
+ DenseMatrix J = new DenseMatrix(s.length,s.length);
+ Matrix VMat = new DenseMatrix(this.V);
+ for (int i = 0; i < s.length; i++) {
+ J.set(i, i, (s[i] >= minSingularValue) ? 1 / (s[i] * s[i]) : 0.0);
+ }
return VMat.times(J).times(VMat.transpose());
}
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java Sat Aug 14 19:09:09 2010
@@ -28,7 +28,6 @@ public class SparseColumnMatrix extends
private Vector[] columns;
public SparseColumnMatrix() {
- super();
}
/**
@@ -78,24 +77,22 @@ public class SparseColumnMatrix extends
* @param index of the column number to grab as a vector (shallowly)
* @return the column vector at that index.
*/
+ @Override
protected Vector slice(int index) {
return getColumn(index);
}
/**
* Abstracted out for the iterator
- * @return numColumns()
+ * @return {@link #numCols()}
*/
+ @Override
public int numSlices() {
return numCols();
}
public double getQuick(int row, int column) {
- if (columns[column] == null) {
- return 0.0;
- } else {
- return columns[column].getQuick(row);
- }
+ return columns[column] == null ? 0.0 : columns[column].getQuick(row);
}
public Matrix like() {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseMatrix.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseMatrix.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseMatrix.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseMatrix.java Sat Aug 14 19:09:09 2010
@@ -29,7 +29,6 @@ public class SparseMatrix extends Abstra
private OpenIntObjectHashMap<Vector> rows;
public SparseMatrix() {
- super();
}
/**
@@ -74,11 +73,7 @@ public class SparseMatrix extends Abstra
public double getQuick(int row, int column) {
Vector r = rows.get(row);
- if (r == null) {
- return 0.0;
- } else {
- return r.getQuick(column);
- }
+ return r == null ? 0.0 : r.getQuick(column);
}
public Matrix like() {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java Sat Aug 14 19:09:09 2010
@@ -30,7 +30,6 @@ public class SparseRowMatrix extends Abs
private boolean randomAccessRows;
public SparseRowMatrix() {
- super();
}
/**
@@ -90,11 +89,7 @@ public class SparseRowMatrix extends Abs
}
public double getQuick(int row, int column) {
- if (rows[row] == null) {
- return 0.0;
- } else {
- return rows[row].getQuick(column);
- }
+ return rows[row] == null ? 0.0 : rows[row].getQuick(column);
}
public Matrix like() {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/hebbian/HebbianSolver.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/hebbian/HebbianSolver.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/hebbian/HebbianSolver.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/hebbian/HebbianSolver.java Sat Aug 14 19:09:09 2010
@@ -304,7 +304,7 @@ public class HebbianSolver {
log.error("{} must contain values for solver.input.dir and solver.output.dir", propertiesFile);
return;
}
- int inBufferSize = Integer.parseInt(props.getProperty("solver.input.bufferSize"));
+ //int inBufferSize = Integer.parseInt(props.getProperty("solver.input.bufferSize"));
int rank = Integer.parseInt(props.getProperty("solver.output.desiredRank"));
double convergence = Double.parseDouble(props.getProperty("solver.convergence"));
int maxPasses = Integer.parseInt(props.getProperty("solver.maxPasses"));
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/lanczos/LanczosSolver.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/lanczos/LanczosSolver.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/lanczos/LanczosSolver.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/lanczos/LanczosSolver.java Sat Aug 14 19:09:09 2010
@@ -108,7 +108,6 @@ public class LanczosSolver {
Vector previousVector = new DenseVector(currentVector.size());
Matrix basis = new SparseRowMatrix(new int[]{desiredRank, corpus.numCols()});
basis.assignRow(0, currentVector);
- double alpha = 0;
double beta = 0;
DoubleMatrix2D triDiag = new DenseDoubleMatrix2D(desiredRank, desiredRank);
for (int i = 1; i < desiredRank; i++) {
@@ -119,7 +118,7 @@ public class LanczosSolver {
nextVector.assign(new Scale(1 / scaleFactor));
nextVector.assign(previousVector, new PlusMult(-beta));
// now orthogonalize
- alpha = currentVector.dot(nextVector);
+ double alpha = currentVector.dot(nextVector);
nextVector.assign(currentVector, new PlusMult(-alpha));
endTime(TimingSection.ITERATE);
startTime(TimingSection.ORTHOGANLIZE);
@@ -131,8 +130,7 @@ public class LanczosSolver {
log.warn("Lanczos parameters out of range: alpha = {}, beta = {}. Bailing out early!", alpha, beta);
break;
}
- final double b = beta;
- nextVector.assign(new Scale(1 / b));
+ nextVector.assign(new Scale(1 / beta));
basis.assignRow(i, nextVector);
previousVector = currentVector;
currentVector = nextVector;
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Double27Function.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Double27Function.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Double27Function.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Double27Function.java Sat Aug 14 19:09:09 2010
@@ -30,8 +30,6 @@ package org.apache.mahout.math.function;
* Interface that represents a function object: a function that takes 27 arguments and returns a single value.
*
*/
-
-@SuppressWarnings({"JavaDoc"})
public interface Double27Function {
/**
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Double9Function.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Double9Function.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Double9Function.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/function/Double9Function.java Sat Aug 14 19:09:09 2010
@@ -30,7 +30,6 @@ package org.apache.mahout.math.function;
* Interface that represents a function object: a function that takes 9 arguments and returns a single value.
*
*/
-@SuppressWarnings({"JavaDoc"})
public interface Double9Function {
/**
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/function/IntIntIntProcedure.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/IntIntIntProcedure.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/function/IntIntIntProcedure.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/function/IntIntIntProcedure.java Sat Aug 14 19:09:09 2010
@@ -31,7 +31,7 @@ package org.apache.mahout.math.function;
*
* @deprecated until unit tests are in place. Until this time, this class/interface is unsupported.
*/
-
+@Deprecated
public interface IntIntIntProcedure {
/**
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/function/VectorFunctions.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/function/VectorFunctions.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/function/VectorFunctions.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/function/VectorFunctions.java Sat Aug 14 19:09:09 2010
@@ -21,6 +21,9 @@ import org.apache.mahout.math.Vector;
public class VectorFunctions {
+ private VectorFunctions() {
+ }
+
/*** Vector functions ****/
public static VectorFunction mean() {
return new VectorFunction() {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/Bessel.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/Bessel.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/Bessel.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/math/Bessel.java Sat Aug 14 19:09:09 2010
@@ -399,7 +399,8 @@ public class Bessel extends Constants {
public static double j1(double x) throws ArithmeticException {
double ax;
double y;
- double ans1, ans2;
+ double ans1;
+ double ans2;
if ((ax = Math.abs(x)) < 8.0) {
y = x * x;
@@ -627,13 +628,7 @@ asymptotically, where
*/
- int n;
-
- if (nn < 0) {
- n = -nn;
- } else {
- n = nn;
- }
+ int n = nn < 0 ? -nn : nn;
int MAXFAC = 31;
if (n > MAXFAC) {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Beta.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Beta.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Beta.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Beta.java Sat Aug 14 19:09:09 2010
@@ -21,16 +21,25 @@ public class Beta extends AbstractContin
private double PDF_CONST; // cache to speed up pdf()
// cached values shared by bXX
- private double aLast = 0.0, bLast = 0.0;
- private double aMinus1, bMinus1, t, fa, fb, p1, p2;
+ private double aLast = 0.0;
+ private double bLast = 0.0;
+ private double aMinus1;
+ private double bMinus1;
+ private double t;
+ private double fa;
+ private double fb;
+ private double p1;
+ private double p2;
// cached values for b00
- // chached values for b01
- private double ml, mu;
-
- // chached values for b1prs
- private double pLast = 0.0, qLast = 0.0;
+ // cached values for b01
+ private double ml;
+ private double mu;
+
+ // cached values for b1prs
+ private double pLast = 0.0;
+ private double qLast = 0.0;
private double a;
private double b;
private double m;
@@ -44,7 +53,12 @@ public class Beta extends AbstractContin
private double f2;
private double f4;
private double f5;
- private double ll, lr, z2, z4, p3, p4;
+ private double ll;
+ private double lr;
+ private double z2;
+ private double z4;
+ private double p3;
+ private double p4;
// The uniform random number generated shared by all <b>static</b> methods.
@@ -68,11 +82,7 @@ public class Beta extends AbstractContin
aMinus1 = a - 1.0;
bMinus1 = b - 1.0;
double c = (b * bMinus1) / (a * aMinus1);
- if (Math.abs(c - 1.0) < 1e-8) {
- t = 0.5;
- } else {
- t = (1.0 - Math.sqrt(c)) / (1.0 - c);
- }
+ t = Math.abs(c - 1.0) < 1.0e-8 ? 0.5 : (1.0 - Math.sqrt(c)) / (1.0 - c);
fa = Math.exp(aMinus1 * Math.log(t));
fb = Math.exp(bMinus1 * Math.log(1.0 - t)); // f(t) = fa * fb
@@ -417,11 +427,7 @@ public class Beta extends AbstractContin
return (Math.exp(Math.log(randomGenerator.raw()) / alpha));
}
- if (beta != 1.0) {
- return (1.0 - Math.exp(Math.log(randomGenerator.raw()) / beta));
- } else {
- return (randomGenerator.raw());
- }
+ return beta == 1.0 ? randomGenerator.raw() : 1.0 - Math.exp(Math.log(randomGenerator.raw()) / beta);
}
/** Returns the cumulative distribution function. */
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Binomial.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Binomial.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Binomial.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Binomial.java Sat Aug 14 19:09:09 2010
@@ -15,19 +15,43 @@ import org.apache.mahout.math.jet.stat.P
/** @deprecated until unit tests are in place. Until this time, this class/interface is unsupported. */
@Deprecated
public class Binomial extends AbstractDiscreteDistribution {
+
private static final int DMAX_KM = 20;
private int n;
private double p;
// cache vars for method generateBinomial(...)
- private int nLast = -1, nPrev = -1;
- private double par, np, p0, q, pLast = -1.0, pPrev = -1.0;
- private int b, m, nm;
- private double pq, rc, ss, xm, xl, xr, ll, lr, c, p1, p2, p3, p4, ch;
+ private int nLast = -1;
+ private int nPrev = -1;
+ private double par;
+ private double np;
+ private double p0;
+ private double q;
+ private double pLast = -1.0;
+ private double pPrev = -1.0;
+ private int b;
+ private int m;
+ private int nm;
+ private double pq;
+ private double rc;
+ private double ss;
+ private double xm;
+ private double xl;
+ private double xr;
+ private double ll;
+ private double lr;
+ private double c;
+ private double p1;
+ private double p2;
+ private double p3;
+ private double p4;
+ private double ch;
// cache vars for method pdf(...)
- private double logP, logQ, logN;
+ private double logP;
+ private double logQ;
+ private double logN;
// The uniform random number generated shared by all <b>static</b> methods.
private static final Binomial shared = new Binomial(1, 0.5, makeDefaultGenerator());
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/ChiSquare.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/ChiSquare.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/ChiSquare.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/ChiSquare.java Sat Aug 14 19:09:09 2010
@@ -71,7 +71,11 @@ public class ChiSquare extends AbstractC
* Implemented by R. Kremer, 1990 *
******************************************************************/
- double u, v, z, zz, r;
+ double u;
+ double v;
+ double z;
+ double zz;
+ double r;
//if( a < 1 ) return (-1.0); // Check for invalid input value
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Distributions.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Distributions.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Distributions.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Distributions.java Sat Aug 14 19:09:09 2010
@@ -209,12 +209,7 @@ public class Distributions {
* approximate method for generating asymmetric variables, Communications ACM 17, 78-82. <p>
*/
public static double nextLambda(double l3, double l4, RandomEngine randomGenerator) {
- double l_sign;
- if ((l3 < 0) || (l4 < 0)) {
- l_sign = -1.0; // sign(l)
- } else {
- l_sign = 1.0;
- }
+ double l_sign = (l3 < 0) || (l4 < 0) ? -1.0 : 1.0;
double u = randomGenerator.raw(); // U(0/1)
return l_sign * (Math.exp(Math.log(u) * l3) - Math.exp(Math.log(1.0 - u) * l4));
@@ -228,11 +223,7 @@ public class Distributions {
public static double nextLaplace(RandomEngine randomGenerator) {
double u = randomGenerator.raw();
u = u + u - 1.0;
- if (u > 0) {
- return -Math.log(1.0 - u);
- } else {
- return Math.log(1.0 + u);
- }
+ return u > 0 ? -Math.log(1.0 - u) : Math.log(1.0 + u);
}
/**
@@ -275,11 +266,7 @@ public class Distributions {
******************************************************************/
double u = randomGenerator.raw();
- if (u <= 0.5) {
- return (Math.sqrt(2.0 * u) - 1.0); /* -1 <= x <= 0 */
- } else {
- return (1.0 - Math.sqrt(2.0 * (1.0 - u)));
- } /* 0 <= x <= 1 */
+ return u <= 0.5 ? Math.sqrt(2.0 * u) - 1.0 : 1.0 - Math.sqrt(2.0 * (1.0 - u));
}
/**
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/EmpiricalWalker.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/EmpiricalWalker.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/EmpiricalWalker.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/EmpiricalWalker.java Sat Aug 14 19:09:09 2010
@@ -185,11 +185,7 @@ public class EmpiricalWalker extends Abs
if (f == 1.0) {
return c;
}
- if (u < f) {
- return c;
- } else {
- return this.A[c];
- }
+ return u < f ? c : this.A[c];
}
/** Returns the probability distribution function. */
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/ExponentialPower.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/ExponentialPower.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/ExponentialPower.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/ExponentialPower.java Sat Aug 14 19:09:09 2010
@@ -17,7 +17,9 @@ public class ExponentialPower extends Ab
private double tau;
// cached vars for method nextDouble(tau) (for performance only)
- private double s, sm1, tau_set = -1.0;
+ private double s;
+ private double sm1;
+ private double tau_set = -1.0;
// The uniform random number generated shared by all <b>static</b> methods.
private static final ExponentialPower shared = new ExponentialPower(1.0, makeDefaultGenerator());
@@ -75,11 +77,7 @@ public class ExponentialPower extends Ab
while (Math.log(v) > -Math.exp(Math.log(x) * tau));
// Random sign
- if (u < 0.0) {
- return x;
- } else {
- return -x;
- }
+ return u < 0.0 ? x : -x;
}
/**
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Fun.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Fun.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Fun.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Fun.java Sat Aug 14 19:09:09 2010
@@ -331,7 +331,8 @@ class Fun {
/** Modified Bessel Functions of First Kind - Order 0. */
public static double bessi0(double x) {
- double ax, ans;
+ double ax;
+ double ans;
double y;
if ((ax = Math.abs(x)) < 3.75) {
@@ -351,7 +352,8 @@ class Fun {
/** Modified Bessel Functions of First Kind - Order 1. */
public static double bessi1(double x) {
- double ax, ans;
+ double ax;
+ double ans;
double y;
if ((ax = Math.abs(x)) < 3.75) {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Gamma.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Gamma.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Gamma.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Gamma.java Sat Aug 14 19:09:09 2010
@@ -30,10 +30,10 @@ import org.apache.mahout.math.jet.stat.P
public class Gamma extends AbstractContinousDistribution {
// shape
- private double alpha;
+ private final double alpha;
// rate
- private double rate;
+ private final double rate;
/**
* Constructs a Gamma distribution with a given shape (alpha) and rate (beta).
@@ -118,9 +118,7 @@ public class Gamma extends AbstractConti
double ss = 0.0;
double s = 0.0;
double d = 0.0;
- double aa = -1.0;
- if (alpha != aa) { // Step 1. Preparations
- aa = alpha;
+ if (alpha != -1.0) { // Step 1. Preparations
ss = alpha - 0.5;
s = Math.sqrt(ss);
d = 5.656854249 - 12.0 * s;
@@ -148,9 +146,7 @@ public class Gamma extends AbstractConti
double q0 = 0.0;
double si = 0.0;
double c = 0.0;
- double aaa = -1.0;
- if (alpha != aaa) { // Step 4. Set-up for hat case
- aaa = alpha;
+ if (alpha != -1.0) { // Step 4. Set-up for hat case
double r = 1.0 / alpha;
double q9 = 0.0001710320;
double q8 = -0.0004701849;
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/HyperGeometric.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/HyperGeometric.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/HyperGeometric.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/HyperGeometric.java Sat Aug 14 19:09:09 2010
@@ -20,17 +20,43 @@ public class HyperGeometric extends Abst
private int my_n;
// cached vars shared by hmdu(...) and hprs(...)
- private int N_last = -1, M_last = -1, n_last = -1;
- private int N_Mn, m;
+ private int N_last = -1;
+ private int M_last = -1;
+ private int n_last = -1;
+ private int N_Mn;
+ private int m;
// cached vars for hmdu(...)
- private int mp, b;
- private double Mp, np, fm;
+ private int mp;
+ private int b;
+ private double Mp;
+ private double np;
+ private double fm;
// cached vars for hprs(...)
- private int k2, k4, k1, k5;
- private double dl, dr, r1, r2, r4, r5, ll, lr, c_pm,
- f1, f2, f4, f5, p1, p2, p3, p4, p5, p6;
+ private int k2;
+ private int k4;
+ private int k1;
+ private int k5;
+ private double dl;
+ private double dr;
+ private double r1;
+ private double r2;
+ private double r4;
+ private double r5;
+ private double ll;
+ private double lr;
+ private double c_pm;
+ private double f1;
+ private double f2;
+ private double f4;
+ private double f5;
+ private double p1;
+ private double p2;
+ private double p3;
+ private double p4;
+ private double p5;
+ private double p6;
// The uniform random number generated shared by all <b>static</b> methods.
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Logarithmic.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Logarithmic.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Logarithmic.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Logarithmic.java Sat Aug 14 19:09:09 2010
@@ -17,7 +17,9 @@ public class Logarithmic extends Abstrac
private double my_p;
// cached vars for method nextDouble(a) (for performance only)
- private double t, h, a_prev = -1.0;
+ private double t;
+ private double h;
+ private double a_prev = -1.0;
// The uniform random number generated shared by all <b>static</b> methods.
private static final Logarithmic shared = new Logarithmic(0.5, makeDefaultGenerator());
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Normal.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Normal.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Normal.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/Normal.java Sat Aug 14 19:09:09 2010
@@ -52,7 +52,9 @@ public class Normal extends AbstractCont
return cache;
}
- double x, y, r;
+ double x;
+ double y;
+ double r;
do {
x = 2.0 * randomGenerator.raw() - 1.0;
y = 2.0 * randomGenerator.raw() - 1.0;
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/PoissonSlow.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/PoissonSlow.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/PoissonSlow.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/PoissonSlow.java Sat Aug 14 19:09:09 2010
@@ -64,11 +64,10 @@ public class PoissonSlow extends Abstrac
}
/** Returns a random number from the distribution; bypasses the internal state. */
- private int nextInt(double theMean) {
+ private int nextInt(double xm) {
/*
* Adapted from "Numerical Recipes in C".
*/
- double xm = theMean;
double g = this.cached_g;
if (xm == -1.0) {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/StudentT.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/StudentT.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/StudentT.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/StudentT.java Sat Aug 14 19:09:09 2010
@@ -63,7 +63,9 @@ public class StudentT extends AbstractCo
if (degreesOfFreedom <= 0.0) {
throw new IllegalArgumentException();
}
- double u, v, w;
+ double u;
+ double v;
+ double w;
do {
u = 2.0 * randomGenerator.raw() - 1.0;
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/sampling/WeightedRandomSampler.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/sampling/WeightedRandomSampler.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/sampling/WeightedRandomSampler.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/random/sampling/WeightedRandomSampler.java Sat Aug 14 19:09:09 2010
@@ -85,11 +85,7 @@ public class WeightedRandomSampler exten
}
if (nextTriggerPos == UNDEFINED) {
- if (weight == 1) {
- nextTriggerPos = 0; // tuned for speed
- } else {
- nextTriggerPos = generator.nextIntFromTo(0, weight - 1);
- }
+ nextTriggerPos = weight == 1 ? 0 : generator.nextIntFromTo(0, weight - 1);
nextSkip = weight - 1 - nextTriggerPos;
}
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Descriptive.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Descriptive.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Descriptive.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Descriptive.java Sat Aug 14 19:09:09 2010
@@ -68,7 +68,9 @@ public class Descriptive {
double[] elements1 = data1.elements();
double[] elements2 = data2.elements();
- double sumx = elements1[0], sumy = elements2[0], Sxy = 0;
+ double sumx = elements1[0];
+ double sumy = elements2[0];
+ double Sxy = 0;
for (int i = 1; i < size; ++i) {
double x = elements1[i];
double y = elements2[i];
@@ -757,13 +759,11 @@ public class Descriptive {
* Ref: R.R. Sokal, F.J. Rohlf, Biometry: the principles and practice of statistics in biological research (W.H.
* Freeman and Company, New York, 1998, 3rd edition) p. 114-115.
*
- * @param size the number of elements of the data sequence.
+ * @param n the number of elements of the data sequence.
* @param moment4 the fourth central moment, which is <tt>moment(data,4,mean)</tt>.
- * @param sampleVariance the <b>sample variance</b>.
+ * @param s2 the <b>sample variance</b>.
*/
- public static double sampleKurtosis(int size, double moment4, double sampleVariance) {
- int n = size;
- double s2 = sampleVariance; // (y-ymean)^2/(n-1)
+ public static double sampleKurtosis(int n, double moment4, double s2) {
double m4 = moment4 * n; // (y-ymean)^4
return m4 * n * (n + 1) / ((n - 1) * (n - 2) * (n - 3) * s2 * s2)
- 3.0 * (n - 1) * (n - 1) / ((n - 2) * (n - 3));
@@ -780,10 +780,9 @@ public class Descriptive {
* Ref: R.R. Sokal, F.J. Rohlf, Biometry: the principles and practice of statistics in biological research (W.H.
* Freeman and Company, New York, 1998, 3rd edition) p. 138.
*
- * @param size the number of elements of the data sequence.
+ * @param n the number of elements of the data sequence.
*/
- public static double sampleKurtosisStandardError(int size) {
- int n = size;
+ public static double sampleKurtosisStandardError(int n) {
return Math.sqrt(24.0 * n * (n - 1) * (n - 1) / ((n - 3) * (n - 2) * (n + 3) * (n + 5)));
}
@@ -793,12 +792,11 @@ public class Descriptive {
* Ref: R.R. Sokal, F.J. Rohlf, Biometry: the principles and practice of statistics in biological research (W.H.
* Freeman and Company, New York, 1998, 3rd edition) p. 114-115.
*
- * @param size the number of elements of the data sequence.
+ * @param n the number of elements of the data sequence.
* @param moment3 the third central moment, which is <tt>moment(data,3,mean)</tt>.
* @param sampleVariance the <b>sample variance</b>.
*/
- public static double sampleSkew(int size, double moment3, double sampleVariance) {
- int n = size;
+ public static double sampleSkew(int n, double moment3, double sampleVariance) {
double s = Math.sqrt(sampleVariance); // sqrt( (y-ymean)^2/(n-1) )
double m3 = moment3 * n; // (y-ymean)^3
return n * m3 / ((n - 1) * (n - 2) * s * s * s);
@@ -815,10 +813,9 @@ public class Descriptive {
* Ref: R.R. Sokal, F.J. Rohlf, Biometry: the principles and practice of statistics in biological research (W.H.
* Freeman and Company, New York, 1998, 3rd edition) p. 138.
*
- * @param size the number of elements of the data sequence.
+ * @param n the number of elements of the data sequence.
*/
- public static double sampleSkewStandardError(int size) {
- int n = size;
+ public static double sampleSkewStandardError(int n) {
return Math.sqrt(6.0 * n * (n - 1) / ((n - 2) * (n + 1) * (n + 3)));
}
@@ -828,12 +825,10 @@ public class Descriptive {
* Ref: R.R. Sokal, F.J. Rohlf, Biometry: the principles and practice of statistics in biological research (W.H.
* Freeman and Company, New York, 1998, 3rd edition) p. 53.
*
- * @param size the number of elements of the data sequence.
+ * @param n the number of elements of the data sequence.
* @param sampleVariance the <b>sample variance</b>.
*/
- public static double sampleStandardDeviation(int size, double sampleVariance) {
- int n = size;
-
+ public static double sampleStandardDeviation(int n, double sampleVariance) {
// The standard deviation calculated as the sqrt of the variance underestimates
// the unbiased standard deviation.
double s = Math.sqrt(sampleVariance);
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Gamma.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Gamma.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Gamma.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Gamma.java Sat Aug 14 19:09:09 2010
@@ -48,7 +48,7 @@ public class Gamma extends org.apache.ma
* @return The beta function for given values of alpha and beta.
*/
public static double beta(double alpha, double beta) {
- double y = 0;
+ double y;
if (alpha < 40 && beta < 40) {
y = gamma(alpha + beta);
if (y == 0.0) {
@@ -94,7 +94,8 @@ public class Gamma extends org.apache.ma
//double MAXGAM = 171.624376956302725;
//double LOGPI = 1.14472988584940017414;
- double p, z;
+ double p;
+ double z;
double q = Math.abs(x);
@@ -216,21 +217,13 @@ public class Gamma extends org.apache.ma
if (flag && (b * x) <= 1.0 && x <= 0.95) {
t = powerSeries(a, b, x);
- if (t <= MACHEP) {
- t = 1.0 - MACHEP;
- } else {
- t = 1.0 - t;
- }
+ t = t <= MACHEP ? 1.0 - MACHEP : 1.0 - t;
return t;
}
/* Choose expansion for better convergence. */
double y = x * (a + b - 2.0) - (a - 1.0);
- if (y < 0.0) {
- w = incompleteBetaFraction1(a, b, x);
- } else {
- w = incompleteBetaFraction2(a, b, x) / xc;
- }
+ w = y < 0.0 ? incompleteBetaFraction1(a, b, x) : incompleteBetaFraction2(a, b, x) / xc;
/* Multiply w by the factor
a b _ _ _
@@ -245,29 +238,17 @@ public class Gamma extends org.apache.ma
t *= w;
t *= gamma(a + b) / (gamma(a) * gamma(b));
if (flag) {
- if (t <= MACHEP) {
- t = 1.0 - MACHEP;
- } else {
- t = 1.0 - t;
- }
+ t = t <= MACHEP ? 1.0 - MACHEP : 1.0 - t;
}
return t;
}
/* Resort to logarithms. */
y += t + logGamma(a + b) - logGamma(a) - logGamma(b);
y += Math.log(w / a);
- if (y < MINLOG) {
- t = 0.0;
- } else {
- t = Math.exp(y);
- }
+ t = y < MINLOG ? 0.0 : Math.exp(y);
if (flag) {
- if (t <= MACHEP) {
- t = 1.0 - MACHEP;
- } else {
- t = 1.0 - t;
- }
+ t = t <= MACHEP ? 1.0 - MACHEP : 1.0 - t;
}
return t;
}
@@ -535,7 +516,9 @@ public class Gamma extends org.apache.ma
/** Returns the natural logarithm of the gamma function; formerly named <tt>lgamma</tt>. */
public static double logGamma(double x) {
- double p, q, z;
+ double p;
+ double q;
+ double z;
double[] A = {
8.11614167470508450300E-4,
@@ -634,7 +617,7 @@ public class Gamma extends org.apache.ma
* Power series for incomplete beta integral; formerly named <tt>pseries</tt>. Use when b*x is small and x not too
* close to 1.
*/
- static private double powerSeries(double a, double b, double x) throws ArithmeticException {
+ private static double powerSeries(double a, double b, double x) throws ArithmeticException {
double ai = 1.0 / a;
double u = (1.0 - b) * x;
@@ -660,11 +643,7 @@ public class Gamma extends org.apache.ma
s = s * t * Math.pow(x, a);
} else {
t = logGamma(a + b) - logGamma(a) - logGamma(b) + u + Math.log(s);
- if (t < MINLOG) {
- s = 0.0;
- } else {
- s = Math.exp(t);
- }
+ s = t < MINLOG ? 0.0 : Math.exp(t);
}
return s;
}
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Probability.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Probability.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Probability.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/Probability.java Sat Aug 14 19:09:09 2010
@@ -313,8 +313,7 @@ public class Probability extends Constan
return (1.0 - errorFunctionComplemented(x));
}
double z = x * x;
- double y = x * Polynomial.polevl(z, T, 4) / Polynomial.p1evl(z, U, 5);
- return y;
+ return x * Polynomial.polevl(z, T, 4) / Polynomial.p1evl(z, U, 5);
}
/**
@@ -382,11 +381,7 @@ public class Probability extends Constan
3.36907645100081516050E0
};
- if (a < 0.0) {
- x = -a;
- } else {
- x = a;
- }
+ x = a < 0.0 ? -a : a;
if (x < 1.0) {
return 1.0 - errorFunction(a);
@@ -395,11 +390,7 @@ public class Probability extends Constan
double z = -a * a;
if (z < -MAXLOG) {
- if (a < 0) {
- return (2.0);
- } else {
- return (0.0);
- }
+ return a < 0 ? 2.0 : 0.0;
}
z = Math.exp(z);
@@ -421,11 +412,7 @@ public class Probability extends Constan
}
if (y == 0.0) {
- if (a < 0) {
- return 2.0;
- } else {
- return (0.0);
- }
+ return a < 0 ? 2.0 : 0.0;
}
return y;
@@ -570,7 +557,12 @@ public class Probability extends Constan
if (a < 0) {
return 1 - normal(-a);
}
- double b0 = 0.2316419, b1 = 0.319381530, b2 = -0.356563782, b3 = 1.781477937, b4 = -1.821255978, b5 = 1.330274429;
+ double b0 = 0.2316419;
+ double b1 = 0.319381530;
+ double b2 = -0.356563782;
+ double b3 = 1.781477937;
+ double b4 = -1.821255978;
+ double b5 = 1.330274429;
double t = 1 / (1 + b0 * a);
return 1 - unitNormal.pdf(a) * t * (b1 + t * (b2 + t * (b3 + t * (b4 + t * b5))));
}
@@ -767,10 +759,10 @@ public class Probability extends Constan
return x1;
}
- // Find a pair of x1,x2 that braket zero
+ // Find a pair of x1,x2 that bracket zero
double f1 = studentT(size, x1) - cumProb;
double x2 = x1;
- double f2 = f1;
+ double f2;
do {
if (f1 > 0) {
x2 /= 2;
@@ -807,10 +799,6 @@ public class Probability extends Constan
}
} while (Math.abs(x2 - x1) > 0.001);
- if (Math.abs(f2) <= Math.abs(f1)) {
- return x2;
- } else {
- return x1;
- }
+ return Math.abs(f2) <= Math.abs(f1) ? x2 : x1;
}
}
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/KnownDoubleQuantileEstimator.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/KnownDoubleQuantileEstimator.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/KnownDoubleQuantileEstimator.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/KnownDoubleQuantileEstimator.java Sat Aug 14 19:09:09 2010
@@ -62,11 +62,9 @@ class KnownDoubleQuantileEstimator exten
this.samplingRate = samplingRate;
this.N = N;
- if (this.samplingRate <= 1.0) {
- this.samplingAssistant = null;
- } else {
- this.samplingAssistant = new RandomSamplingAssistant(Arithmetic.floor(N / samplingRate), N, generator);
- }
+ this.samplingAssistant = this.samplingRate <= 1.0
+ ? null
+ : new RandomSamplingAssistant(Arithmetic.floor(N / samplingRate), N, generator);
setUp(b, k);
this.clear();
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/QuantileCalc.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/QuantileCalc.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/QuantileCalc.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/QuantileCalc.java Sat Aug 14 19:09:09 2010
@@ -170,13 +170,14 @@ class QuantileCalc {
}
}
- long b, k;
- if (minB != -1) { // epsilon large enough?
- b = minB;
- k = kMinimums[minB - 2];
- } else { // epsilon is very small or zero.
+ long b;
+ long k;
+ if (minB == -1) { // epsilon is very small or zero.
b = 1; // the only possible solution without violating the
k = N; // approximation guarantees is exact quantile search.
+ } else { // epsilon large enough?
+ b = minB;
+ k = kMinimums[minB - 2];
}
long[] result = new long[2];
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/QuantileFinderFactory.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/QuantileFinderFactory.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/QuantileFinderFactory.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/jet/stat/quantile/QuantileFinderFactory.java Sat Aug 14 19:09:09 2010
@@ -228,13 +228,14 @@ public class QuantileFinderFactory {
}
}
- long b, k;
- if (minB != -1) { // epsilon large enough?
- b = minB;
- k = kMinimums[minB - 2];
- } else { // epsilon is very small or zero.
+ long b;
+ long k;
+ if (minB == -1) { // epsilon is very small or zero.
b = 1; // the only possible solution without violating the
k = N; // approximation guarantees is exact quantile search.
+ } else { // epsilon large enough?
+ b = minB;
+ k = kMinimums[minB - 2];
}
long[] result = new long[2];
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory1D.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory1D.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory1D.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/DoubleFactory1D.java Sat Aug 14 19:09:09 2010
@@ -65,11 +65,7 @@ public class DoubleFactory1D extends Per
* @param values The values to be filled into the new matrix.
*/
public DoubleMatrix1D make(double[] values) {
- if (this == sparse) {
- return new SparseDoubleMatrix1D(values);
- } else {
- return new DenseDoubleMatrix1D(values);
- }
+ return this == sparse ? new SparseDoubleMatrix1D(values) : new DenseDoubleMatrix1D(values);
}
/** Constructs a matrix which is the concatenation of all given parts. Cells are copied. */
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Formatter.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Formatter.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Formatter.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Formatter.java Sat Aug 14 19:09:09 2010
@@ -357,11 +357,10 @@ public class Formatter extends AbstractF
*/
public String toSourceCode(DoubleMatrix2D matrix) {
Formatter copy = (Formatter) this.clone();
- String b3 = blanks(3);
copy.setPrintShape(false);
copy.setColumnSeparator(", ");
- copy.setRowSeparator("},\n" + b3 + '{');
- String lead = "{\n" + b3 + '{';
+ copy.setRowSeparator("},\n {");
+ String lead = "{\n {";
String trail = "}\n};";
return lead + copy.toString(matrix) + trail;
}
@@ -373,14 +372,12 @@ public class Formatter extends AbstractF
*/
public String toSourceCode(DoubleMatrix3D matrix) {
Formatter copy = (Formatter) this.clone();
- String b3 = blanks(3);
- String b6 = blanks(6);
copy.setPrintShape(false);
copy.setColumnSeparator(", ");
- copy.setRowSeparator("},\n" + b6 + '{');
- copy.setSliceSeparator("}\n" + b3 + "},\n" + b3 + "{\n" + b6 + '{');
- String lead = "{\n" + b3 + "{\n" + b6 + '{';
- String trail = "}\n" + b3 + "}\n}";
+ copy.setRowSeparator("},\n {");
+ copy.setSliceSeparator("}\n },\n {\n {");
+ String lead = "{\n {\n {";
+ String trail = "}\n }\n}";
return lead + copy.toString(matrix) + trail;
}
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Sorting.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Sorting.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Sorting.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Sorting.java Sat Aug 14 19:09:09 2010
@@ -410,7 +410,7 @@ public class Sorting extends PersistentO
* given <tt>[row,column]</tt> position. The returned view is backed by this matrix, so changes in the returned view
* are reflected in this matrix, and vice-versa. To sort ranges use sub-ranging views. To sort by other dimensions,
* use dice views. To sort descending, use flip views ... <p> The algorithm compares two 2-d slices at a time,
- * determinining whether one is smaller, equal or larger than the other. Comparison is based on the cell
+ * determining whether one is smaller, equal or larger than the other. Comparison is based on the cell
* <tt>[row,column]</tt> within a slice. Let <tt>A</tt> and <tt>B</tt> be two 2-d slices. Then we have the following
* rules <ul> <li><tt>A < B iff A.get(row,column) < B.get(row,column)</tt> <li><tt>A == B iff
* A.get(row,column) == B.get(row,column)</tt> <li><tt>A > B iff A.get(row,column) > B.get(row,column)</tt>
@@ -459,7 +459,7 @@ public class Sorting extends PersistentO
/**
* Sorts the matrix slices according to the order induced by the specified comparator. The returned view is backed by
* this matrix, so changes in the returned view are reflected in this matrix, and vice-versa. The algorithm compares
- * two slices (2-d matrices) at a time, determinining whether one is smaller, equal or larger than the other. To sort
+ * two slices (2-d matrices) at a time, determining whether one is smaller, equal or larger than the other. To sort
* ranges use sub-ranging views. To sort by other dimensions, use dice views. To sort descending, use flip views ...
* <p> <b>Example:</b>
* <pre>
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Statistic.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Statistic.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Statistic.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/doublealgo/Statistic.java Sat Aug 14 19:09:09 2010
@@ -420,15 +420,13 @@ return result;
}
int ncols = (int) Math.round(matrix.size() * fraction);
- int max = ncols;
- long[] selected = new long[max]; // sampler works on long's, not int's
+ long[] selected = new long[ncols]; // sampler works on long's, not int's
// sample
- int n = ncols;
int N = matrix.size();
- RandomSampler.sample(n, N, n, 0, selected, 0, randomGenerator);
- int[] selectedCols = new int[n];
- for (int i = 0; i < n; i++) {
+ RandomSampler.sample(ncols, N, ncols, 0, selected, 0, randomGenerator);
+ int[] selectedCols = new int[ncols];
+ for (int i = 0; i < ncols; i++) {
selectedCols[i] = (int) selected[i];
}
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractFormatter.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractFormatter.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractFormatter.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractFormatter.java Sat Aug 14 19:09:09 2010
@@ -75,14 +75,9 @@ public abstract class AbstractFormatter
/** Tells whether String representations are to be preceded with summary of the shape; currently <tt>true</tt>. */
protected boolean printShape = true;
-
- private static String[] blanksCache; // for efficient String manipulations
-
private static final FormerFactory factory = new FormerFactory();
- static {
- setupBlanksCache();
- }
+ private static final String blanksCache = " ";
/** Makes this class non instantiable, but still let's others inherit from it. */
protected AbstractFormatter() {
@@ -159,26 +154,26 @@ public abstract class AbstractFormatter
String c = row[column];
//if (alignment==1) {
if (alignment.equals(RIGHT)) {
- s.append(blanks(maxColWidth[column] - s.length()));
+ blanks(maxColWidth[column] - s.length(), s);
s.append(c);
}
//else if (alignment==2) {
else if (alignment.equals(DECIMAL)) {
- s.append(blanks(maxColLead[column] - lead(c)));
+ blanks(maxColLead[column] - lead(c), s);
s.append(c);
- s.append(blanks(maxColWidth[column] - s.length()));
+ blanks(maxColWidth[column] - s.length(), s);
}
//else if (align==0) {
else if (alignment.equals(CENTER)) {
- s.append(blanks((maxColWidth[column] - c.length()) / 2));
+ blanks((maxColWidth[column] - c.length()) / 2, s);
s.append(c);
- s.append(blanks(maxColWidth[column] - s.length()));
+ blanks(maxColWidth[column] - s.length(), s);
}
//else if (align<0) {
else if (alignment.equals(LEFT)) {
s.append(c);
- s.append(blanks(maxColWidth[column] - s.length()));
+ blanks(maxColWidth[column] - s.length(), s);
} else {
throw new InternalError();
}
@@ -187,20 +182,16 @@ public abstract class AbstractFormatter
}
}
- /** Returns a String with <tt>length</tt> blanks. */
- protected static String blanks(int length) {
- if (length < 0) {
- length = 0;
- }
- if (length < blanksCache.length) {
- return blanksCache[length];
- }
-
- StringBuilder buf = new StringBuilder(length);
- for (int k = 0; k < length; k++) {
- buf.append(' ');
+ /** Appends <tt>length</tt> blanks. */
+ protected static void blanks(int length, StringBuilder s) {
+ if (length <= blanksCache.length()) {
+ s.append(blanksCache, 0, length);
+ } else {
+ s.append(blanksCache);
+ for (int k = length - blanksCache.length(); k >= 0; k--) {
+ s.append(' ');
+ }
}
- return buf.toString();
}
/** Converts a given cell to a String; no alignment considered. */
@@ -225,21 +216,6 @@ public abstract class AbstractFormatter
return s.length();
}
- /** Returns a String with the given character repeated <tt>length</tt> times. */
- protected String repeat(char character, int length) {
- if (character == ' ') {
- return blanks(length);
- }
- if (length < 0) {
- length = 0;
- }
- StringBuilder buf = new StringBuilder(length);
- for (int k = 0; k < length; k++) {
- buf.append(character);
- }
- return buf.toString();
- }
-
/**
* Sets the column alignment (left,center,right,decimal).
*
@@ -306,23 +282,6 @@ public abstract class AbstractFormatter
this.sliceSeparator = sliceSeparator;
}
- /** Cache for faster string processing. */
- private static void setupBlanksCache() {
- // Pre-fabricate 40 static strings with 0,1,2,..,39 blanks, for usage within method blanks(length).
- // Now, we don't need to construct and fill them on demand, and garbage collect them again.
- // All 40 strings share the identical char[] array, only with different offset and length --> somewhat smaller static memory footprint
- int size = 40;
- blanksCache = new String[size];
- StringBuilder buf = new StringBuilder(size);
- for (int i = size; --i >= 0;) {
- buf.append(' ');
- }
- String str = buf.toString();
- for (int i = size; --i >= 0;) {
- blanksCache[i] = str.substring(0, i);
- }
- }
-
/** Returns a short string representation describing the shape of the matrix. */
public static String shape(AbstractMatrix matrix) {
//return "Matrix1D of size="+matrix.size();
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractMatrix2D.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractMatrix2D.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractMatrix2D.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractMatrix2D.java Sat Aug 14 19:09:09 2010
@@ -23,7 +23,8 @@ package org.apache.mahout.math.matrix.im
public abstract class AbstractMatrix2D extends AbstractMatrix {
/** the number of colums and rows this matrix (view) has */
- protected int columns, rows;
+ protected int columns;
+ protected int rows;
/** the number of elements between two rows, i.e. <tt>index(i+1,j,k) - index(i,j,k)</tt>. */
protected int rowStride;
@@ -32,7 +33,8 @@ public abstract class AbstractMatrix2D e
protected int columnStride;
/** the index of the first element */
- protected int rowZero, columnZero;
+ protected int rowZero;
+ protected int columnZero;
/** Makes this class non instantiable, but still let's others inherit from it. */
protected AbstractMatrix2D() {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractMatrix3D.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractMatrix3D.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractMatrix3D.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/AbstractMatrix3D.java Sat Aug 14 19:09:09 2010
@@ -42,7 +42,9 @@ public abstract class AbstractMatrix3D e
protected int columnStride;
/** the index of the first element */
- protected int sliceZero, rowZero, columnZero;
+ protected int sliceZero;
+ protected int rowZero;
+ protected int columnZero;
// this.isNoView implies: offset==0, sliceStride==rows*slices, rowStride==columns, columnStride==1
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCMDoubleMatrix2D.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCMDoubleMatrix2D.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCMDoubleMatrix2D.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/RCMDoubleMatrix2D.java Sat Aug 14 19:09:09 2010
@@ -144,15 +144,12 @@ class RCMDoubleMatrix2D extends WrapperD
* should only use this method when you are absolutely sure that the coordinate is within bounds.</b> Precondition
* (unchecked): <tt>0 <= column < columns() && 0 <= row < rows()</tt>.
*
- * @param row the index of the row-coordinate.
- * @param column the index of the column-coordinate.
+ * @param i the index of the row-coordinate.
+ * @param j the index of the column-coordinate.
* @param value the value to be filled into the specified cell.
*/
@Override
- public void setQuick(int row, int column, double value) {
- int i = row;
- int j = column;
-
+ public void setQuick(int i, int j, double value) {
int k = -1;
IntArrayList indexList = indexes[i];
if (indexList != null) {
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix1D.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix1D.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix1D.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix1D.java Sat Aug 14 19:09:09 2010
@@ -96,11 +96,7 @@ public class SparseDoubleMatrix1D extend
/** Returns the number of cells having non-zero values. */
@Override
public int cardinality() {
- if (this.isNoView) {
- return this.elements.size();
- } else {
- return super.cardinality();
- }
+ return this.isNoView ? this.elements.size() : super.cardinality();
}
/**
Modified: mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix2D.java
URL: http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix2D.java?rev=985565&r1=985564&r2=985565&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix2D.java (original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/impl/SparseDoubleMatrix2D.java Sat Aug 14 19:09:09 2010
@@ -234,11 +234,7 @@ public class SparseDoubleMatrix2D extend
/** Returns the number of cells having non-zero values. */
@Override
public int cardinality() {
- if (this.isNoView) {
- return this.elements.size();
- } else {
- return super.cardinality();
- }
+ return this.isNoView ? this.elements.size() : super.cardinality();
}
/**