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 2012/10/01 18:01:16 UTC
svn commit: r1392414 - /commons/sandbox/nabla/trunk/src/site/xdoc/index.xml
Author: luc
Date: Mon Oct 1 16:01:16 2012
New Revision: 1392414
URL: http://svn.apache.org/viewvc?rev=1392414&view=rev
Log:
Fixed example code in documentation.
Modified:
commons/sandbox/nabla/trunk/src/site/xdoc/index.xml
Modified: commons/sandbox/nabla/trunk/src/site/xdoc/index.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/nabla/trunk/src/site/xdoc/index.xml?rev=1392414&r1=1392413&r2=1392414&view=diff
==============================================================================
--- commons/sandbox/nabla/trunk/src/site/xdoc/index.xml (original)
+++ commons/sandbox/nabla/trunk/src/site/xdoc/index.xml Mon Oct 1 16:01:16 2012
@@ -161,30 +161,38 @@
</p>
<p>
- We can therefore find the maximal value by calling a solver on the
- derivative. In this example, we will use
- the <a href="http://commons.apache.org/math/apidocs/org/apache/commons/math3/analysis/solvers/BracketingNthOrderBrentSolver.html">
- bracketings n<sup>th</sup> order Brent solver</a> from the <a href="http://commons.apache.org/math/">Apache
- Commons Math</a> library. Functions passed to any Apache Commons Math solvers must implement a specific
+ We can therefore find the maximal value by calling a solver on the derivative.
+ As functions passed to any Apache Commons Math solvers must implement a specific
interface: <a href="http://commons.apache.org/math/apidocs/org/apache/commons/math3/analysis/UnivariateFunction.html">
- UnivariateFunction</a>. In order to comply with this
- requirement, we wrap the derivative object into another
- object adapting the interface and pass this wrapped
- derivative to the solver:
+ UnivariateFunction</a>. In order to comply with this interface, we wrap the
+ derivative instance:
</p>
<source>
UnivariateFunction wrappedDerivative = new UnivariateFunction() {
public double value(double x) {
+ // the VALUE of this new function is the DERIVATIVE of the original function
DerivativeStructure t = new DerivativeStructure(1, 1, 0, x);
- return derivative.f(t).getPartialDerivative(1);
+ return derivative.value(t).getPartialDerivative(1);
}
};
- UnivariateSolver solver = new .BracketingNthOrderBrentSolver(5);
- double tMax = solver.solve(wrappedDerivative, 0.5, 1.5);
+ </source>
+
+ <p>
+ The final step is to call a solver on the derivative, as the roots of the
+ derivative are the local extremum of the original function. In this example,
+ we will use the <a
+ href="http://commons.apache.org/math/apidocs/org/apache/commons/math3/analysis/solvers/BracketingNthOrderBrentSolver.html">
+ bracketing n<sup>th</sup> order Brent solver</a> from the <a href="http://commons.apache.org/math/">Apache
+ Commons Math</a> library:
+ </p>
+
+ <source>
+ UnivariateSolver solver = new BracketingNthOrderBrentSolver(1.0e-6, 5);
+ double tMax = solver.solve(100, wrappedDerivative, 0.5, 1.5);
double yMax = derivative.value(new DerivativeStructure(1, 1, 0, tMax)).getValue();
System.out.println("max value = " + yMax + ", at t = " + tMax +
- " (" + solver.getIterationCount() + " iterations)");
+ " (" + solver.getEvaluations() + " evaluations)");
</source>
<p>
@@ -192,7 +200,7 @@
</p>
<source>
- max value = 2.1097470218140537, at t = 0.8987751653383649 (7 iterations)
+ max value = 2.1097470218140533, at t = 0.8987751646846582 (11 evaluations)
</source>
</subsection>