Commit Graph

1702 Commits

Author SHA1 Message Date
Luc Maisonobe 07c5922ca3 added missing @Override annotations
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@762087 13f79535-47bb-0310-9956-ffa450edef68
2009-04-05 14:20:18 +00:00
Sebastian Bazley 37ea6e2ad7 Make private static fields final, as they are not changed currently.
[If they were mutable, this would make the class thread-hostile.]

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@762011 13f79535-47bb-0310-9956-ffa450edef68
2009-04-04 21:08:13 +00:00
Sebastian Bazley 907b316799 Might as well make the variable final as it is private and not changed
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@762009 13f79535-47bb-0310-9956-ffa450edef68
2009-04-04 21:05:01 +00:00
Phil Steitz 3fb0b72a90 Replaced JDK 1.6 constant.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@761994 13f79535-47bb-0310-9956-ffa450edef68
2009-04-04 19:41:21 +00:00
Luc Maisonobe 58a3d3b28e fixed a serialization warning
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@761325 13f79535-47bb-0310-9956-ffa450edef68
2009-04-02 15:30:39 +00:00
Luc Maisonobe 1125b705e4 moved multistep integrator and step interpolator base classes to their corresponding generic package
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@761323 13f79535-47bb-0310-9956-ffa450edef68
2009-04-02 15:29:45 +00:00
Luc Maisonobe 3c50c4d885 fixed a missing absolute value in a test threshold
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@761213 13f79535-47bb-0310-9956-ffa450edef68
2009-04-02 09:05:56 +00:00
Luc Maisonobe f5618f7717 removed the constraint on low degree polynomials
when building Chebyshev, Hermite, Laguerre or Legendre polynomials

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@760901 13f79535-47bb-0310-9956-ffa450edef68
2009-04-01 14:29:18 +00:00
Luc Maisonobe 3664a2cc7f Added add/subtract/multiply/divide functions with integer parameters to Fraction
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@760867 13f79535-47bb-0310-9956-ffa450edef68
2009-04-01 12:15:29 +00:00
Luc Maisonobe 80419081ac optimized some fraction operations (mainly pow)
replaced pow(BigFraction) by pow(double) as it already converted the argument to double upon entry
added tests for pow

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@760016 13f79535-47bb-0310-9956-ffa450edef68
2009-03-30 15:48:56 +00:00
Luc Maisonobe 40223343f0 Added some utility functions to compute powers with integral types (int, long, BigInteger)
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@760014 13f79535-47bb-0310-9956-ffa450edef68
2009-03-30 15:43:14 +00:00
Luc Maisonobe e143317c7d added a test parsing very large integers
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@759728 13f79535-47bb-0310-9956-ffa450edef68
2009-03-29 17:10:09 +00:00
Luc Maisonobe 99b46033f5 Fixed a comparison error when two different fractions evaluate to the
same double due to limited precision.
Jira: MATH-252


git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@759725 13f79535-47bb-0310-9956-ffa450edef68
2009-03-29 16:51:48 +00:00
Luc Maisonobe 312b1ca42e added proper and improper formats for BigFraction (both parsing and display)
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@759718 13f79535-47bb-0310-9956-ffa450edef68
2009-03-29 16:33:53 +00:00
Luc Maisonobe 6a5a46783f removed an unneeded call to reduce()
(the constructor already reduces the fraction)

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@759678 13f79535-47bb-0310-9956-ffa450edef68
2009-03-29 13:12:19 +00:00
Luc Maisonobe 2fa13fe8c5 removed BigFraction.clone() as the class is guaranteed to be immutable
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@759677 13f79535-47bb-0310-9956-ffa450edef68
2009-03-29 13:11:13 +00:00
Luc Maisonobe 17f0dd2da5 Added a BigFraction class that does not overflow when big numerators or denominators are used.
Jira: MATH-251

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@759543 13f79535-47bb-0310-9956-ffa450edef68
2009-03-28 18:24:11 +00:00
Luc Maisonobe e449af6e51 fixed an error in Simplex algorithm when several ambiguous solutions exist
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@759045 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 07:56:04 +00:00
Luc Maisonobe d11d984705 fixed javadoc error
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758924 13f79535-47bb-0310-9956-ffa450edef68
2009-03-26 23:39:11 +00:00
Luc Maisonobe 7edb7e34f8 removed spurious import clause
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758923 13f79535-47bb-0310-9956-ffa450edef68
2009-03-26 23:38:37 +00:00
Luc Maisonobe 61e775706d added an implementation of Dantzig's simplex algorithm
to solve constrained linear optimization problems
JIRA: MATH-246

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758920 13f79535-47bb-0310-9956-ffa450edef68
2009-03-26 23:25:30 +00:00
Luc Maisonobe b2db570b31 fixed checkstyle and findbugs errors
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758912 13f79535-47bb-0310-9956-ffa450edef68
2009-03-26 23:00:27 +00:00
Luc Maisonobe 5404d5e1a2 updated documentation after changes in the optimization framework
JIRA: MATH-177

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758074 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:56:49 +00:00
Luc Maisonobe 96db008f3b improved consistency in class naming with respect to functions in the analysis package
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758060 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:17:13 +00:00
Luc Maisonobe 2c84116a4c added an implementation of a non-linear conjugate gradient optimizer
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758059 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:16:21 +00:00
Luc Maisonobe ed8fc4a03a updated general algorithms with latest interfaces definitions
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758058 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:15:08 +00:00
Luc Maisonobe d99003bc0f updated univariate algorithms with latest interfaces definitions
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758056 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:14:03 +00:00
Luc Maisonobe c03fbc71a6 updated direct algorithms with latest interfaces definitions
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758054 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:13:27 +00:00
Luc Maisonobe 891bb84cd0 added new simple convergence checkers implementations
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758053 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:12:32 +00:00
Luc Maisonobe 2d116267b4 improved consistency in class naming with respect to functions in the analysis package
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758052 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:11:16 +00:00
Luc Maisonobe fa4c993e5d removed spurious exception in optimization
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758051 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:10:16 +00:00
Luc Maisonobe 07425ec8ae improved consistency in class naming with respect to functions in the analysis package
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758049 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:09:34 +00:00
Luc Maisonobe 70d82c4fe6 removed spurious exception in optimization
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758047 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:06:39 +00:00
Luc Maisonobe 187dd35c9a use a single set of consistent functions definitions in the analysis package
instead of one set in the analysis and another one in optimization


git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@758046 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24 22:05:13 +00:00
Luc Maisonobe 31e9c848f2 fixed a forgotten counter update
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@757183 13f79535-47bb-0310-9956-ffa450edef68
2009-03-22 13:19:05 +00:00
Luc Maisonobe 87c0ddbc6e separated iteration counter from function evaluation counters,
some optimizers are based on gradient/jacobian only and cannot
reliably be protected by monitoring the objective function calls.

We now have two or three counters for each algorithm:
 - iteration counter, which is checked against a max allowance
   to prevent infinite loops if no convergence is reached
 - objective function evaluations, for user information only
 - objective function gradient/jacobian if the function is
   differentiable, for user information only

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@757181 13f79535-47bb-0310-9956-ffa450edef68
2009-03-22 13:00:00 +00:00
Luc Maisonobe cfa4345431 renamed SimpleValueChecker into SimpleScalarValueChecker
for consistency with the vectorial checker name

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@757180 13f79535-47bb-0310-9956-ffa450edef68
2009-03-22 12:54:45 +00:00
Luc Maisonobe 39647f7f30 fixed checkstyle and findbugs errors
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@754765 13f79535-47bb-0310-9956-ffa450edef68
2009-03-15 21:35:38 +00:00
Luc Maisonobe 77a6b785d2 updated documentation after the redesign of the optimization package
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@754764 13f79535-47bb-0310-9956-ffa450edef68
2009-03-15 21:34:47 +00:00
Luc Maisonobe c12aa3b936 added all necessary multi-start optimizers types
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@754763 13f79535-47bb-0310-9956-ffa450edef68
2009-03-15 21:33:31 +00:00
Luc Maisonobe 8f6fd887f5 removed a spurious print statement
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@754750 13f79535-47bb-0310-9956-ffa450edef68
2009-03-15 21:03:39 +00:00
Luc Maisonobe 94f9b580a5 fixed typo in package documentation
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@754744 13f79535-47bb-0310-9956-ffa450edef68
2009-03-15 20:33:47 +00:00
Luc Maisonobe 61ca8c04df resurrected the estimation package but with all interfaces and classes deprecated
this will help users switch smoothly to the new optimization.general package

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@754732 13f79535-47bb-0310-9956-ffa450edef68
2009-03-15 19:30:44 +00:00
Luc Maisonobe c37f06ed3a adapted old Levenberg-Marquardt estimator to new top level optimizers API
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@754727 13f79535-47bb-0310-9956-ffa450edef68
2009-03-15 19:11:02 +00:00
Luc Maisonobe 3a0df1ba48 adapted the Gauss-Newton optimizer to the new top-level optimization interfaces
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@754500 13f79535-47bb-0310-9956-ffa450edef68
2009-03-14 17:38:27 +00:00
Luc Maisonobe 27c1eb726a updated optimization main interfaces to handle scalar and vectorial functions
and to handle functions with or without explicit derivatives

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@754499 13f79535-47bb-0310-9956-ffa450edef68
2009-03-14 17:35:49 +00:00
Luc Maisonobe 4f206ca3ee continued refactoring of optimization framework:
- improved general interfaces at top optimization level
 - added a simple implementation of ConvergenceChecker (ObjectiveValueChecker)
 - added a general multi-start wrapper
 - changed the direct search optimizers to the new interfaces

This work is still not complete yet. The general package classes
are very close to the former design, they have almost not been changed
structurally.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@749850 13f79535-47bb-0310-9956-ffa450edef68
2009-03-04 00:07:51 +00:00
Luc Maisonobe 4a64740b4a added compareTo method with epsilon
JIRA: MATH-247

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@749139 13f79535-47bb-0310-9956-ffa450edef68
2009-03-01 22:21:22 +00:00
Luc Maisonobe 722fc97a7a started refactoring of optimization framework:
- created subpackages optimization.direct, optimization.general,
   optimization.linear (currently empty) and optimization.univariate
 - removed packages analysis.minimization and estimation
 - renamed all Cost-related interfaces/classes into Objective
   (this allows both minimization and maximization)
 - added a few new general interfaces

This work is not complete yet. The direct and general packages classes
are very close to the former design, they have almost not been changed
structurally.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@748274 13f79535-47bb-0310-9956-ffa450edef68
2009-02-26 19:17:39 +00:00
William Barker 1cf41555f1 epsilon needs to be set before calling isZero, plus copy epsilon for append
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@747650 13f79535-47bb-0310-9956-ffa450edef68
2009-02-25 03:32:52 +00:00