Repository: commons-math
Updated Branches:
  refs/heads/master 859de3fcb -> 68e6de351


Javadoc

MATH-1201


Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/c7fcb448
Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/c7fcb448
Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/c7fcb448

Branch: refs/heads/master
Commit: c7fcb448c99ae5fe9db9b217bea1233df3ee6e57
Parents: 859de3f
Author: Gilles <[email protected]>
Authored: Wed Feb 4 13:56:35 2015 +0100
Committer: Gilles <[email protected]>
Committed: Wed Feb 4 13:56:35 2015 +0100

----------------------------------------------------------------------
 .../solvers/BaseAbstractUnivariateSolver.java        | 10 +++++++---
 .../commons/math3/analysis/solvers/BrentSolver.java  | 15 +++++++++++++--
 2 files changed, 20 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-math/blob/c7fcb448/src/main/java/org/apache/commons/math3/analysis/solvers/BaseAbstractUnivariateSolver.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math3/analysis/solvers/BaseAbstractUnivariateSolver.java
 
b/src/main/java/org/apache/commons/math3/analysis/solvers/BaseAbstractUnivariateSolver.java
index 6aeba90..4fb9ecf 100644
--- 
a/src/main/java/org/apache/commons/math3/analysis/solvers/BaseAbstractUnivariateSolver.java
+++ 
b/src/main/java/org/apache/commons/math3/analysis/solvers/BaseAbstractUnivariateSolver.java
@@ -29,6 +29,10 @@ import org.apache.commons.math3.util.MathUtils;
 /**
  * Provide a default implementation for several functions useful to generic
  * solvers.
+ * The default values for relative and function tolerances are 1e-14
+ * and 1e-15, respectively. It is however highly recommended to not
+ * rely on the default, but rather carefully consider values that match
+ * user's expectations, as well as the specifics of each implementation.
  *
  * @param <FUNC> Type of function to solve.
  *
@@ -75,7 +79,7 @@ public abstract class BaseAbstractUnivariateSolver<FUNC 
extends UnivariateFuncti
      * @param absoluteAccuracy Maximum absolute error.
      */
     protected BaseAbstractUnivariateSolver(final double relativeAccuracy,
-                                               final double absoluteAccuracy) {
+                                           final double absoluteAccuracy) {
         this(relativeAccuracy,
              absoluteAccuracy,
              DEFAULT_FUNCTION_VALUE_ACCURACY);
@@ -89,8 +93,8 @@ public abstract class BaseAbstractUnivariateSolver<FUNC 
extends UnivariateFuncti
      * @param functionValueAccuracy Maximum function value error.
      */
     protected BaseAbstractUnivariateSolver(final double relativeAccuracy,
-                                               final double absoluteAccuracy,
-                                               final double 
functionValueAccuracy) {
+                                           final double absoluteAccuracy,
+                                           final double functionValueAccuracy) 
{
         this.absoluteAccuracy = absoluteAccuracy;
         this.relativeAccuracy = relativeAccuracy;
         this.functionValueAccuracy = functionValueAccuracy;

http://git-wip-us.apache.org/repos/asf/commons-math/blob/c7fcb448/src/main/java/org/apache/commons/math3/analysis/solvers/BrentSolver.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math3/analysis/solvers/BrentSolver.java 
b/src/main/java/org/apache/commons/math3/analysis/solvers/BrentSolver.java
index d9c4023..f9da26e 100644
--- a/src/main/java/org/apache/commons/math3/analysis/solvers/BrentSolver.java
+++ b/src/main/java/org/apache/commons/math3/analysis/solvers/BrentSolver.java
@@ -29,10 +29,19 @@ import org.apache.commons.math3.util.Precision;
  * The function should be continuous but not necessarily smooth.
  * The {@code solve} method returns a zero {@code x} of the function {@code f}
  * in the given interval {@code [a, b]} to within a tolerance
- * {@code 6 eps abs(x) + t} where {@code eps} is the relative accuracy and
+ * {@code 2 eps abs(x) + t} where {@code eps} is the relative accuracy and
  * {@code t} is the absolute accuracy.
  * The given interval must bracket the root.
+ * <p>
+ *  The reference implementation is given in chapter 4 of
+ *  <quote>
+ *   <b>Algorithms for Minimization Without Derivatives</b><br>
+ *   <em>Richard P. Brent</em><br>
+ *   Dover, 2002<br>
+ *  </quote>
+ * </p>
  *
+ * @see BaseAbstractUnivariateSolver
  */
 public class BrentSolver extends AbstractUnivariateSolver {
 
@@ -40,7 +49,7 @@ public class BrentSolver extends AbstractUnivariateSolver {
     private static final double DEFAULT_ABSOLUTE_ACCURACY = 1e-6;
 
     /**
-     * Construct a solver with default accuracy (1e-6).
+     * Construct a solver with default absolute accuracy (1e-6).
      */
     public BrentSolver() {
         this(DEFAULT_ABSOLUTE_ACCURACY);
@@ -69,6 +78,8 @@ public class BrentSolver extends AbstractUnivariateSolver {
      * @param relativeAccuracy Relative accuracy.
      * @param absoluteAccuracy Absolute accuracy.
      * @param functionValueAccuracy Function value accuracy.
+     *
+     * @see 
BaseAbstractUnivariateSolver#BaseAbstractUnivariateSolver(double,double,double)
      */
     public BrentSolver(double relativeAccuracy,
                        double absoluteAccuracy,

Reply via email to