You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2012/02/13 00:43:49 UTC

svn commit: r1243370 - in /commons/proper/math/trunk/src: main/java/org/apache/commons/math/optimization/ main/java/org/apache/commons/math/optimization/direct/ main/java/org/apache/commons/math/optimization/general/ test/java/org/apache/commons/math/o...

Author: erans
Date: Sun Feb 12 23:43:48 2012
New Revision: 1243370

URL: http://svn.apache.org/viewvc?rev=1243370&view=rev
Log:
MATH-707
Renamed "SimpleVectorialValueChecker" to "SimpleVectorValueChecker".

Added:
    commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleVectorValueChecker.java
      - copied, changed from r1243365, commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleVectorialValueChecker.java
Removed:
    commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleVectorialValueChecker.java
Modified:
    commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/VectorialConvergenceChecker.java
    commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/direct/BaseAbstractMultivariateVectorOptimizer.java
    commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/general/AbstractLeastSquaresOptimizer.java
    commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizer.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/DifferentiableMultivariateVectorMultiStartOptimizerTest.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizerTest.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/general/LevenbergMarquardtOptimizerTest.java

Copied: commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleVectorValueChecker.java (from r1243365, commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleVectorialValueChecker.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleVectorValueChecker.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleVectorValueChecker.java&p1=commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleVectorialValueChecker.java&r1=1243365&r2=1243370&rev=1243370&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleVectorialValueChecker.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/SimpleVectorValueChecker.java Sun Feb 12 23:43:48 2012
@@ -31,12 +31,12 @@ import org.apache.commons.math.util.Fast
  * @version $Id$
  * @since 3.0
  */
-public class SimpleVectorialValueChecker
+public class SimpleVectorValueChecker
     extends AbstractConvergenceChecker<PointVectorValuePair> {
     /**
      * Build an instance with default thresholds.
      */
-    public SimpleVectorialValueChecker() {}
+    public SimpleVectorValueChecker() {}
 
     /**
      * Build an instance with specified thresholds.
@@ -48,7 +48,7 @@ public class SimpleVectorialValueChecker
      * @param relativeThreshold relative tolerance threshold
      * @param absoluteThreshold absolute tolerance threshold
      */
-    public SimpleVectorialValueChecker(final double relativeThreshold,
+    public SimpleVectorValueChecker(final double relativeThreshold,
                                        final double absoluteThreshold) {
         super(relativeThreshold, absoluteThreshold);
     }

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/VectorialConvergenceChecker.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/VectorialConvergenceChecker.java?rev=1243370&r1=1243369&r2=1243370&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/VectorialConvergenceChecker.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/VectorialConvergenceChecker.java Sun Feb 12 23:43:48 2012
@@ -24,7 +24,7 @@ package org.apache.commons.math.optimiza
  * user should provide a class implementing this interface to allow the optimization
  * algorithm to stop its search according to the problem at hand.</p>
  * <p>For convenience, two implementations that fit simple needs are already provided:
- * {@link SimpleVectorialValueChecker} and {@link SimplePointChecker<PointVectorValuePair>}. The first
+ * {@link SimpleVectorValueChecker} and {@link SimplePointChecker<PointVectorValuePair>}. The first
  * one considers convergence is reached when the objective function value does not
  * change much anymore, it does not use the point set at all. The second one
  * considers convergence is reached when the input point set does not change

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/direct/BaseAbstractMultivariateVectorOptimizer.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/direct/BaseAbstractMultivariateVectorOptimizer.java?rev=1243370&r1=1243369&r2=1243370&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/direct/BaseAbstractMultivariateVectorOptimizer.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/direct/BaseAbstractMultivariateVectorOptimizer.java Sun Feb 12 23:43:48 2012
@@ -26,7 +26,7 @@ import org.apache.commons.math.analysis.
 import org.apache.commons.math.optimization.BaseMultivariateVectorOptimizer;
 import org.apache.commons.math.optimization.ConvergenceChecker;
 import org.apache.commons.math.optimization.PointVectorValuePair;
-import org.apache.commons.math.optimization.SimpleVectorialValueChecker;
+import org.apache.commons.math.optimization.SimpleVectorValueChecker;
 
 /**
  * Base class for implementing optimizers for multivariate scalar functions.
@@ -55,11 +55,11 @@ public abstract class BaseAbstractMultiv
 
     /**
      * Simple constructor with default settings.
-     * The convergence check is set to a {@link SimpleVectorialValueChecker} and
+     * The convergence check is set to a {@link SimpleVectorValueChecker} and
      * the allowed number of evaluations is set to {@link Integer#MAX_VALUE}.
      */
     protected BaseAbstractMultivariateVectorOptimizer() {
-        this(new SimpleVectorialValueChecker());
+        this(new SimpleVectorValueChecker());
     }
     /**
      * @param checker Convergence checker.

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/general/AbstractLeastSquaresOptimizer.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/general/AbstractLeastSquaresOptimizer.java?rev=1243370&r1=1243369&r2=1243370&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/general/AbstractLeastSquaresOptimizer.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/general/AbstractLeastSquaresOptimizer.java Sun Feb 12 23:43:48 2012
@@ -83,7 +83,7 @@ public abstract class AbstractLeastSquar
     /**
      * Simple constructor with default settings.
      * The convergence check is set to a {@link
-     * org.apache.commons.math.optimization.SimpleVectorialValueChecker}.
+     * org.apache.commons.math.optimization.SimpleVectorValueChecker}.
      */
     protected AbstractLeastSquaresOptimizer() {}
     /**

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizer.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizer.java?rev=1243370&r1=1243369&r2=1243370&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizer.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizer.java Sun Feb 12 23:43:48 2012
@@ -27,7 +27,7 @@ import org.apache.commons.math.linear.QR
 import org.apache.commons.math.linear.RealMatrix;
 import org.apache.commons.math.linear.SingularMatrixException;
 import org.apache.commons.math.optimization.ConvergenceChecker;
-import org.apache.commons.math.optimization.SimpleVectorialValueChecker;
+import org.apache.commons.math.optimization.SimpleVectorValueChecker;
 import org.apache.commons.math.optimization.PointVectorValuePair;
 
 /**
@@ -51,7 +51,7 @@ public class GaussNewtonOptimizer extend
     /**
      * Simple constructor with default settings.
      * The normal equations will be solved using LU decomposition and the
-     * convergence check is set to a {@link SimpleVectorialValueChecker}
+     * convergence check is set to a {@link SimpleVectorValueChecker}
      * with default tolerances.
      */
     public GaussNewtonOptimizer() {
@@ -70,7 +70,7 @@ public class GaussNewtonOptimizer extend
 
     /**
      * Simple constructor with default settings.
-     * The convergence check is set to a {@link SimpleVectorialValueChecker}
+     * The convergence check is set to a {@link SimpleVectorValueChecker}
      * with default tolerances.
      *
      * @param useLU If {@code true}, the normal equations will be solved
@@ -78,7 +78,7 @@ public class GaussNewtonOptimizer extend
      * decomposition.
      */
     public GaussNewtonOptimizer(final boolean useLU) {
-        this(useLU, new SimpleVectorialValueChecker());
+        this(useLU, new SimpleVectorValueChecker());
     }
 
     /**

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/DifferentiableMultivariateVectorMultiStartOptimizerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/DifferentiableMultivariateVectorMultiStartOptimizerTest.java?rev=1243370&r1=1243369&r2=1243370&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/DifferentiableMultivariateVectorMultiStartOptimizerTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/DifferentiableMultivariateVectorMultiStartOptimizerTest.java Sun Feb 12 23:43:48 2012
@@ -101,7 +101,7 @@ public class DifferentiableMultivariateV
             new LinearProblem(new double[][] { { 2 } }, new double[] { 3 });
         DifferentiableMultivariateVectorOptimizer underlyingOptimizer =
             new GaussNewtonOptimizer(true,
-                                     new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+                                     new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
         JDKRandomGenerator g = new JDKRandomGenerator();
         g.setSeed(16069223052l);
         RandomVectorGenerator generator =
@@ -136,7 +136,7 @@ public class DifferentiableMultivariateV
     public void testNoOptimum() {
         DifferentiableMultivariateVectorOptimizer underlyingOptimizer =
             new GaussNewtonOptimizer(true,
-                                     new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+                                     new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
         JDKRandomGenerator g = new JDKRandomGenerator();
         g.setSeed(12373523445l);
         RandomVectorGenerator generator =

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizerTest.java?rev=1243370&r1=1243369&r2=1243370&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizerTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/general/GaussNewtonOptimizerTest.java Sun Feb 12 23:43:48 2012
@@ -29,7 +29,7 @@ import org.apache.commons.math.analysis.
 import org.apache.commons.math.analysis.MultivariateMatrixFunction;
 import org.apache.commons.math.linear.BlockRealMatrix;
 import org.apache.commons.math.linear.RealMatrix;
-import org.apache.commons.math.optimization.SimpleVectorialValueChecker;
+import org.apache.commons.math.optimization.SimpleVectorValueChecker;
 import org.apache.commons.math.optimization.PointVectorValuePair;
 import org.apache.commons.math.util.FastMath;
 import org.junit.Assert;
@@ -105,7 +105,7 @@ public class GaussNewtonOptimizerTest {
             new LinearProblem(new double[][] { { 2 } }, new double[] { 3 });
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         PointVectorValuePair optimum =
             optimizer.optimize(100, problem, problem.target, new double[] { 1 }, new double[] { 0 });
@@ -122,7 +122,7 @@ public class GaussNewtonOptimizerTest {
                               new double[] { 4.0, 6.0, 1.0 });
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         PointVectorValuePair optimum =
             optimizer.optimize(100, problem, problem.target, new double[] { 1, 1, 1 }, new double[] { 0, 0 });
@@ -147,7 +147,7 @@ public class GaussNewtonOptimizerTest {
         }, new double[] { 0.0, 1.1, 2.2, 3.3, 4.4, 5.5 });
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         PointVectorValuePair optimum =
             optimizer.optimize(100, problem, problem.target, new double[] { 1, 1, 1, 1, 1, 1 },
@@ -168,7 +168,7 @@ public class GaussNewtonOptimizerTest {
         }, new double[] { 1, 1, 1});
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         PointVectorValuePair optimum =
             optimizer.optimize(100, problem, problem.target, new double[] { 1, 1, 1 }, new double[] { 0, 0, 0 });
@@ -192,7 +192,7 @@ public class GaussNewtonOptimizerTest {
         }, new double[] { 2, -9, 2, 2, 1 + epsilon * epsilon, 2});
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         PointVectorValuePair optimum =
             optimizer.optimize(100, problem, problem.target, new double[] { 1, 1, 1, 1, 1, 1 },
@@ -217,7 +217,7 @@ public class GaussNewtonOptimizerTest {
         }, new double[] { 1, 1, 1 });
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         optimizer.optimize(100, problem, problem.target, new double[] { 1, 1, 1 }, new double[] { 0, 0, 0 });
     }
@@ -232,7 +232,7 @@ public class GaussNewtonOptimizerTest {
         }, new double[] { 32, 23, 33, 31 });
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         PointVectorValuePair optimum1 =
             optimizer.optimize(100, problem1, problem1.target, new double[] { 1, 1, 1, 1 },
@@ -270,7 +270,7 @@ public class GaussNewtonOptimizerTest {
         }, new double[] { 7.0, 3.0, 5.0 });
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         optimizer.optimize(100, problem, problem.target, new double[] { 1, 1, 1 },
                            new double[] { 7, 6, 5, 4 });
@@ -287,7 +287,7 @@ public class GaussNewtonOptimizerTest {
         }, new double[] { 3.0, 12.0, -1.0, 7.0, 1.0 });
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         optimizer.optimize(100, problem, problem.target, new double[] { 1, 1, 1, 1, 1 },
                            new double[] { 2, 2, 2, 2, 2, 2 });
@@ -302,7 +302,7 @@ public class GaussNewtonOptimizerTest {
         }, new double[] { 3.0, 1.0, 5.0 });
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         PointVectorValuePair optimum =
             optimizer.optimize(100, problem, problem.target, new double[] { 1, 1, 1 },
@@ -321,7 +321,7 @@ public class GaussNewtonOptimizerTest {
         }, new double[] { 3.0, 1.0, 4.0 });
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         optimizer.optimize(100, problem, problem.target, new double[] { 1, 1, 1 }, new double[] { 1, 1 });
         Assert.assertTrue(optimizer.getRMS() > 0.1);
@@ -334,7 +334,7 @@ public class GaussNewtonOptimizerTest {
             new LinearProblem(new double[][] { { 1, 0 }, { 0, 1 } }, new double[] { -1, 1 });
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         PointVectorValuePair optimum =
             optimizer.optimize(100, problem, problem.target, new double[] { 1, 1 }, new double[] { 0, 0 });
@@ -353,7 +353,7 @@ public class GaussNewtonOptimizerTest {
             new LinearProblem(new double[][] { { 1, 0 }, { 0, 1 } }, new double[] { -1, 1 });
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         PointVectorValuePair optimum =
             optimizer.optimize(100, problem, problem.target, new double[] { 1, 1 }, new double[] { 0, 0 });
@@ -376,7 +376,7 @@ public class GaussNewtonOptimizerTest {
         circle.addPoint( 45.0,  97.0);
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-30, 1.0e-30));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-30, 1.0e-30));
 
         optimizer.optimize(100, circle, new double[] { 0, 0, 0, 0, 0 },
                            new double[] { 1, 1, 1, 1, 1 },
@@ -393,7 +393,7 @@ public class GaussNewtonOptimizerTest {
         circle.addPoint( 45.0,  97.0);
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-13, 1.0e-13));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-13, 1.0e-13));
 
         PointVectorValuePair optimum =
             optimizer.optimize(100, circle, new double[] { 0, 0, 0, 0, 0 },
@@ -419,7 +419,7 @@ public class GaussNewtonOptimizerTest {
         }
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         optimizer.optimize(100, circle, target, weights, new double[] { -12, -12 });
     }
@@ -437,7 +437,7 @@ public class GaussNewtonOptimizerTest {
         }
 
         GaussNewtonOptimizer optimizer
-            = new GaussNewtonOptimizer(new SimpleVectorialValueChecker(1.0e-6, 1.0e-6));
+            = new GaussNewtonOptimizer(new SimpleVectorValueChecker(1.0e-6, 1.0e-6));
 
         PointVectorValuePair optimum =
             optimizer.optimize(100, circle, target, weights, new double[] { 0, 0 });

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/general/LevenbergMarquardtOptimizerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/general/LevenbergMarquardtOptimizerTest.java?rev=1243370&r1=1243369&r2=1243370&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/general/LevenbergMarquardtOptimizerTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/optimization/general/LevenbergMarquardtOptimizerTest.java Sun Feb 12 23:43:48 2012
@@ -33,7 +33,7 @@ import org.apache.commons.math.analysis.
 import org.apache.commons.math.linear.BlockRealMatrix;
 import org.apache.commons.math.linear.RealMatrix;
 import org.apache.commons.math.linear.SingularMatrixException;
-import org.apache.commons.math.optimization.SimpleVectorialValueChecker;
+import org.apache.commons.math.optimization.SimpleVectorValueChecker;
 import org.apache.commons.math.optimization.PointVectorValuePair;
 import org.apache.commons.math.util.Precision;
 import org.apache.commons.math.util.FastMath;
@@ -480,7 +480,7 @@ public class LevenbergMarquardtOptimizer
             circle.addPoint(points[i][0], points[i][1]);
         }
         LevenbergMarquardtOptimizer optimizer
-            = new LevenbergMarquardtOptimizer(new SimpleVectorialValueChecker(1.0e-8, 1.0e-8));
+            = new LevenbergMarquardtOptimizer(new SimpleVectorValueChecker(1.0e-8, 1.0e-8));
         PointVectorValuePair optimum =
             optimizer.optimize(100, circle, target, weights, new double[] { -12, -12 });
         Point2D.Double center = new Point2D.Double(optimum.getPointRef()[0], optimum.getPointRef()[1]);