You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by lu...@apache.org on 2009/03/15 22:35:39 UTC
svn commit: r754765 - in /commons/proper/math/trunk: ./
src/java/org/apache/commons/math/optimization/
src/java/org/apache/commons/math/optimization/direct/
src/java/org/apache/commons/math/optimization/general/
src/java/org/apache/commons/math/random/...
Author: luc
Date: Sun Mar 15 21:35:38 2009
New Revision: 754765
URL: http://svn.apache.org/viewvc?rev=754765&view=rev
Log:
fixed checkstyle and findbugs errors
Modified:
commons/proper/math/trunk/findbugs-exclude-filter.xml
commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarDifferentiableOptimizer.java
commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarOptimizer.java
commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarPointValuePair.java
commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/VectorialDifferentiableOptimizer.java
commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/direct/DirectSearchOptimizer.java
commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/general/AbstractLeastSquaresOptimizer.java
commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizer.java
commons/proper/math/trunk/src/java/org/apache/commons/math/random/CorrelatedRandomVectorGenerator.java
commons/proper/math/trunk/src/java/org/apache/commons/math/random/GaussianRandomGenerator.java
commons/proper/math/trunk/src/java/org/apache/commons/math/random/NormalizedRandomGenerator.java
commons/proper/math/trunk/src/java/org/apache/commons/math/random/RandomVectorGenerator.java
commons/proper/math/trunk/src/java/org/apache/commons/math/random/UncorrelatedRandomVectorGenerator.java
commons/proper/math/trunk/src/java/org/apache/commons/math/random/UniformRandomGenerator.java
commons/proper/math/trunk/src/java/org/apache/commons/math/util/MathUtils.java
commons/proper/math/trunk/src/test/org/apache/commons/math/optimization/general/GaussNewtonOptimizerTest.java
commons/proper/math/trunk/src/test/org/apache/commons/math/optimization/general/LevenbergMarquardtOptimizerTest.java
Modified: commons/proper/math/trunk/findbugs-exclude-filter.xml
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/findbugs-exclude-filter.xml?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/findbugs-exclude-filter.xml (original)
+++ commons/proper/math/trunk/findbugs-exclude-filter.xml Sun Mar 15 21:35:38 2009
@@ -55,12 +55,12 @@
<!-- the following expositions of internal representation are intentional and documented -->
<Match>
- <Class name="org.apache.commons.math.optimization.PointValuePair"/>
+ <Class name="org.apache.commons.math.optimization.ScalarPointValuePair"/>
<Method name="getPointRef" params="" returns="double[]" />
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
- <Class name="org.apache.commons.math.optimization.PointValuePair"/>
+ <Class name="org.apache.commons.math.optimization.ScalarPointValuePair"/>
<Method name="<init>" params="double[],double,boolean" returns="void" />
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarDifferentiableOptimizer.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarDifferentiableOptimizer.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarDifferentiableOptimizer.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarDifferentiableOptimizer.java Sun Mar 15 21:35:38 2009
@@ -68,7 +68,7 @@
void setConvergenceChecker(ScalarConvergenceChecker checker);
/** Get the convergence checker.
- * @param checker object to use to check for convergence
+ * @return object used to check for convergence
*/
ScalarConvergenceChecker getConvergenceChecker();
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarOptimizer.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarOptimizer.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarOptimizer.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarOptimizer.java Sun Mar 15 21:35:38 2009
@@ -68,7 +68,7 @@
void setConvergenceChecker(ScalarConvergenceChecker checker);
/** Get the convergence checker.
- * @param checker object to use to check for convergence
+ * @return object used to check for convergence
*/
ScalarConvergenceChecker getConvergenceChecker();
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarPointValuePair.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarPointValuePair.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarPointValuePair.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/ScalarPointValuePair.java Sun Mar 15 21:35:38 2009
@@ -56,7 +56,7 @@
* it will be referenced
*/
public ScalarPointValuePair(final double[] point, final double value,
- final boolean copyArray) {
+ final boolean copyArray) {
this.point = copyArray ? point.clone() : point;
this.value = value;
}
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/VectorialDifferentiableOptimizer.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/VectorialDifferentiableOptimizer.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/VectorialDifferentiableOptimizer.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/VectorialDifferentiableOptimizer.java Sun Mar 15 21:35:38 2009
@@ -78,7 +78,7 @@
void setConvergenceChecker(VectorialConvergenceChecker checker);
/** Get the convergence checker.
- * @param checker object to use to check for convergence
+ * @return object used to check for convergence
*/
VectorialConvergenceChecker getConvergenceChecker();
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/direct/DirectSearchOptimizer.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/direct/DirectSearchOptimizer.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/direct/DirectSearchOptimizer.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/direct/DirectSearchOptimizer.java Sun Mar 15 21:35:38 2009
@@ -313,7 +313,8 @@
/** Build an initial simplex.
* @param startPoint the start point for optimization
- * @exception IllegalArgumentException
+ * @exception IllegalArgumentException if the start point does not match
+ * simplex dimension
*/
private void buildSimplex(final double[] startPoint)
throws IllegalArgumentException {
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/general/AbstractLeastSquaresOptimizer.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/general/AbstractLeastSquaresOptimizer.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/general/AbstractLeastSquaresOptimizer.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/general/AbstractLeastSquaresOptimizer.java Sun Mar 15 21:35:38 2009
@@ -303,8 +303,8 @@
// store least squares problem characteristics
this.f = f;
- this.target = target;
- this.weights = weights;
+ this.target = target.clone();
+ this.weights = weights.clone();
this.variables = startPoint.clone();
this.residuals = new double[target.length];
@@ -320,6 +320,11 @@
}
/** Perform the bulk of optimization algorithm.
+ * @return the point/value pair giving the optimal value for objective function
+ * @exception ObjectiveException if the objective function throws one during
+ * the search
+ * @exception OptimizationException if the algorithm failed to converge
+ * @exception IllegalArgumentException if the start point dimension is wrong
*/
abstract protected VectorialPointValuePair doOptimize()
throws ObjectiveException, OptimizationException, IllegalArgumentException;
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizer.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizer.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizer.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizer.java Sun Mar 15 21:35:38 2009
@@ -55,7 +55,7 @@
* and the maximal number of evaluation is set to
* {@link AbstractLeastSquaresOptimizer#DEFAULT_MAX_EVALUATIONS}.
* @param useLU if true, the normal equations will be solved using LU
- * decomposition, otherwise it will be solved using QR decomposition
+ * decomposition, otherwise they will be solved using QR decomposition
*/
public GaussNewtonOptimizer(final boolean useLU) {
this.useLU = useLU;
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/random/CorrelatedRandomVectorGenerator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/random/CorrelatedRandomVectorGenerator.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/random/CorrelatedRandomVectorGenerator.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/random/CorrelatedRandomVectorGenerator.java Sun Mar 15 21:35:38 2009
@@ -60,7 +60,10 @@
*/
public class CorrelatedRandomVectorGenerator
-implements RandomVectorGenerator {
+ implements RandomVectorGenerator {
+
+ /** Serializable version identifier. */
+ private static final long serialVersionUID = -7162933284241468177L;
/** Simple constructor.
* <p>Build a correlated random vector generator from its mean
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/random/GaussianRandomGenerator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/random/GaussianRandomGenerator.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/random/GaussianRandomGenerator.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/random/GaussianRandomGenerator.java Sun Mar 15 21:35:38 2009
@@ -27,6 +27,9 @@
public class GaussianRandomGenerator implements NormalizedRandomGenerator {
+ /** Serializable version identifier. */
+ private static final long serialVersionUID = -4698731518385853565L;
+
/** Create a new generator.
* @param generator underlying random generator to use
*/
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/random/NormalizedRandomGenerator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/random/NormalizedRandomGenerator.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/random/NormalizedRandomGenerator.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/random/NormalizedRandomGenerator.java Sun Mar 15 21:35:38 2009
@@ -17,6 +17,8 @@
package org.apache.commons.math.random;
+import java.io.Serializable;
+
/**
* This interface represent a normalized random generator for
* scalars.
@@ -24,7 +26,7 @@
* @version $Revision$ $Date$
* @since 1.2
*/
-public interface NormalizedRandomGenerator {
+public interface NormalizedRandomGenerator extends Serializable {
/** Generate a random scalar with null mean and unit standard deviation.
* <p>This method does <strong>not</strong> specify the shape of the
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/random/RandomVectorGenerator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/random/RandomVectorGenerator.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/random/RandomVectorGenerator.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/random/RandomVectorGenerator.java Sun Mar 15 21:35:38 2009
@@ -17,6 +17,8 @@
package org.apache.commons.math.random;
+import java.io.Serializable;
+
/** This interface represents a random generator for whole vectors.
*
* @since 1.2
@@ -24,7 +26,7 @@
*
*/
-public interface RandomVectorGenerator {
+public interface RandomVectorGenerator extends Serializable {
/** Generate a random vector.
* @return a random vector as an array of double.
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/random/UncorrelatedRandomVectorGenerator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/random/UncorrelatedRandomVectorGenerator.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/random/UncorrelatedRandomVectorGenerator.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/random/UncorrelatedRandomVectorGenerator.java Sun Mar 15 21:35:38 2009
@@ -31,6 +31,9 @@
public class UncorrelatedRandomVectorGenerator
implements RandomVectorGenerator {
+ /** Serializable version identifier. */
+ private static final long serialVersionUID = -3268228248001718811L;
+
/** Simple constructor.
* <p>Build an uncorrelated random vector generator from
* its mean and standard deviation vectors.</p>
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/random/UniformRandomGenerator.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/random/UniformRandomGenerator.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/random/UniformRandomGenerator.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/random/UniformRandomGenerator.java Sun Mar 15 21:35:38 2009
@@ -31,6 +31,9 @@
public class UniformRandomGenerator implements NormalizedRandomGenerator {
+ /** Serializable version identifier. */
+ private static final long serialVersionUID = 1569292426375546027L;
+
/** Create a new generator.
* @param generator underlying random generator to use
*/
Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/util/MathUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/util/MathUtils.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/util/MathUtils.java (original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/util/MathUtils.java Sun Mar 15 21:35:38 2009
@@ -549,8 +549,8 @@
* <code>0</code>.</li>
* </ul>
*
- * @param u any number
- * @param v any number
+ * @param p any number
+ * @param q any number
* @return the greatest common divisor, never negative
* @throws ArithmeticException
* if the result cannot be represented as a nonnegative int
Modified: commons/proper/math/trunk/src/test/org/apache/commons/math/optimization/general/GaussNewtonOptimizerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/org/apache/commons/math/optimization/general/GaussNewtonOptimizerTest.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/org/apache/commons/math/optimization/general/GaussNewtonOptimizerTest.java (original)
+++ commons/proper/math/trunk/src/test/org/apache/commons/math/optimization/general/GaussNewtonOptimizerTest.java Sun Mar 15 21:35:38 2009
@@ -112,6 +112,7 @@
optimizer.optimize(problem, problem.target, new double[] { 1 }, new double[] { 0 });
assertEquals(0, optimizer.getRMS(), 1.0e-10);
assertEquals(1.5, optimum.getPoint()[0], 1.0e-10);
+ assertEquals(3.0, optimum.getValue()[0], 1.0e-10);
}
public void testColumnsPermutation() throws ObjectiveException, OptimizationException {
@@ -128,6 +129,9 @@
assertEquals(0, optimizer.getRMS(), 1.0e-10);
assertEquals(7.0, optimum.getPoint()[0], 1.0e-10);
assertEquals(3.0, optimum.getPoint()[1], 1.0e-10);
+ assertEquals(4.0, optimum.getValue()[0], 1.0e-10);
+ assertEquals(6.0, optimum.getValue()[1], 1.0e-10);
+ assertEquals(1.0, optimum.getValue()[2], 1.0e-10);
}
Modified: commons/proper/math/trunk/src/test/org/apache/commons/math/optimization/general/LevenbergMarquardtOptimizerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/org/apache/commons/math/optimization/general/LevenbergMarquardtOptimizerTest.java?rev=754765&r1=754764&r2=754765&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/org/apache/commons/math/optimization/general/LevenbergMarquardtOptimizerTest.java (original)
+++ commons/proper/math/trunk/src/test/org/apache/commons/math/optimization/general/LevenbergMarquardtOptimizerTest.java Sun Mar 15 21:35:38 2009
@@ -119,13 +119,14 @@
fail("wrong exception caught");
}
assertEquals(1.5, optimum.getPoint()[0], 1.0e-10);
+ assertEquals(3.0, optimum.getValue()[0], 1.0e-10);
}
public void testQRColumnsPermutation() throws ObjectiveException, OptimizationException {
LinearProblem problem =
new LinearProblem(new double[][] { { 1.0, -1.0 }, { 0.0, 2.0 }, { 1.0, -2.0 } },
- new double[] { 4.0, 6.0, 1.0 });
+ new double[] { 4.0, 6.0, 1.0 });
LevenbergMarquardtOptimizer optimizer = new LevenbergMarquardtOptimizer();
VectorialPointValuePair optimum =
@@ -133,6 +134,9 @@
assertEquals(0, optimizer.getRMS(), 1.0e-10);
assertEquals(7.0, optimum.getPoint()[0], 1.0e-10);
assertEquals(3.0, optimum.getPoint()[1], 1.0e-10);
+ assertEquals(4.0, optimum.getValue()[0], 1.0e-10);
+ assertEquals(6.0, optimum.getValue()[1], 1.0e-10);
+ assertEquals(1.0, optimum.getValue()[2], 1.0e-10);
}