The integrator was designed by H. A. Luther in 1968. We have added a
corresponding step interpolator by solving the order conditions provided
by the rkcheck tool.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1588753 13f79535-47bb-0310-9956-ffa450edef68
Fixed compatibility of "equals(Object)" with "hashCode()" ("Complex" will
behave as JDK's "Double"). Added new methods for testing floating-point
equality.
Thanks to Cyrille Artho for reporting the issue.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1588500 13f79535-47bb-0310-9956-ffa450edef68
Bracketing utility for univariate root solvers now returns a tighter
interval than before. It also allows choosing the search interval
expansion rate, supporting both linear and asymptotically exponential
rates.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1578428 13f79535-47bb-0310-9956-ffa450edef68
As functions evaluations were not counted properly, which has been fixed
a few days ago, the multi-start test in fact did not performed all
expected restarts. This commit fixes this (by increasing the max
evaluations), and fixes the result checks accordingly.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1573523 13f79535-47bb-0310-9956-ffa450edef68
Allow using the SVD decomposition which has excellent stability and can
provide a "solution" for singular problems.
Figured out why one of the least squares tests did not check two of the
states. There was only one equation for the two states. The test now
verifies the states satisfy the constraint.
Patch provided by Evan Ward.
JIRA: MATH-1104
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1573351 13f79535-47bb-0310-9956-ffa450edef68
In LevenbergMarquardtOptimizer the number of iterations and evaluations
was switched in two of the return statements.
Patch provided by Evan Ward.
JIRA: MATH-1106
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1573308 13f79535-47bb-0310-9956-ffa450edef68
ConvergenceCheckers always saw previous.getPoint() to equal
current.getPoint() because the optimizers used the same array and did
not make a copy of the previous point. Fixed by using a new array for
each model evaluation and LSP.evaluate() now makes its own copy of the
state vector as well.
Path provided by Evan Ward.
JIRA: MATH-1103
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1573307 13f79535-47bb-0310-9956-ffa450edef68
Extracted class "LineSearch" from "PowellOptimizer".
Made method "computeObjectiveValue" public in "MultivariateOptimizer".
Modified "PowellOptimizer" to use the now public class.
"NonLinearConjugateGradientOptimizer" uses the new "LineSearch".
Added constructors to set the line search tolerances and deprecated
obsolete contructors and inner classes ("BracketingStep" and
"LineSearchFunction".
Removed method "findUpperBound".
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1572988 13f79535-47bb-0310-9956-ffa450edef68
- The residuals are the really the values of the objective function
that is being minimized.
- Forcing the value to be a real vector and the residual computed
through subtraction is an unnecessary constraint. For example
Rotation.distance() will compute a better residual than
subtracting the quaternion elements of two rotations.
- Method was not used by any optimizer.
JIRA: MATH-1102
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1571306 13f79535-47bb-0310-9956-ffa450edef68
The documentation now explicitly states that entries not iterated above
are the zero ones.
This is part of Apache Commons Math reconsidering support for sparse
linear algebra.
JIRA: MATH-875
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1570510 13f79535-47bb-0310-9956-ffa450edef68