Commit Graph

311 Commits

Author SHA1 Message Date
aherbert f142596f1a Fix checkstyle for UnnecessaryParentheses 2022-10-13 12:41:54 +01:00
aherbert 5a8234a2fe Remove trailing whitespace 2022-10-13 11:38:37 +01:00
aherbert a8d392580d Use diamond operator 2022-10-13 11:36:34 +01:00
aherbert 93e3ee4b78 Formatting. Remove empty lines before closing curly bracket. 2022-10-13 11:04:55 +01:00
aherbert bc9e8bd272 Update fixed seed test
Use random seed and allow test reruns to pass the sampler.
2022-10-13 11:00:09 +01:00
Gilles Sadowski 0217542162 Javadoc. 2022-08-20 02:43:51 +02:00
rednikeeg 01ba89bf26 MATH-1647: Enforce precondition (index must be larger than 0). 2022-08-20 02:34:44 +02:00
Gilles Sadowski 3c1c92d3eb MATH-1589: Remove spurious "throws" clause. 2022-08-12 17:34:55 +02:00
aherbert 1119bdbdef Optimise bicubic polynomial
Remove computation of products and sums where one factor is zero.

Avoid computation of products where one factor is one.

Use static functions where applicable.
2022-07-27 16:28:52 +01:00
Gilles Sadowski 9946ec4e22 Use MathJax. 2022-07-27 15:49:14 +02:00
amoscatelli 8e6dee5958 MATH-1648: Derivatives for "BicubicInterpolatingFunction". 2022-07-27 15:42:53 +02:00
Gilles Sadowski f94991f224 MATH-1589: Remove spurious "throws" clause. 2022-07-20 14:48:00 +02:00
aherbert 0bf33a4fc1 Use Complex.ZERO.
This does not change the equals comparison. Note that this will not
detect sign differences, e.g. (0.0, 0.0) == (-0.0, 0.0) and a tolerance
may be required for more robustness.
2022-07-15 17:28:33 +01:00
aherbert 64e2818924 Use complex multiply by scalar 2022-07-15 17:17:40 +01:00
aherbert 294589d7b4 Correct javadoc 2022-06-07 15:39:02 +01:00
aherbert 8ffc31a0fe Use message supplier 2022-06-07 15:38:40 +01:00
aherbert 5a536c851a Fix test resource file column descriptions 2022-06-07 15:31:33 +01:00
aherbert 4e3d62a289 Enable jacoco plugin using the commons parent profile 2022-06-07 13:38:45 +01:00
aherbert 2f8b4da5b9 Correct javadoc tags to allow build on JDK 17
Remove heading tags
Correctly close paragraph tags
2022-06-07 12:58:37 +01:00
Gilles Sadowski f067b2b4ba MATH-1644: Prevent computed probability from exceeding 1. 2022-04-09 14:07:03 +02:00
Gilles Sadowski 57dda85533 HTML5 javadoc comments.
As of Java 11, the "javadoc" command requires compliance.
2022-03-03 12:02:58 +01:00
Gilles Sadowski c5ea177934 Use specialized "pow" function. 2022-01-27 15:09:34 +01:00
Gilles Sadowski 74a851b611 MATH-1371: Elkan's enhancement to "K-Means" algorithm.
Original implementation is a old PR provided by Artem Barger.
Updated and changed to pass the code style checks.

I did not review how this algorithm departs from the other
implementations available in the same package, and whether
some other design could minimize duplicate codes (but it
would have been a pity to drop a potential performance
improvement).
A thorough examination should be considered, when tackling
the refactoring of the "clustering" package.

Closes #35.
2022-01-24 19:57:29 +01:00
Gilles Sadowski 134d731a6b Unused "import". 2022-01-24 18:12:52 +01:00
Gilles Sadowski f862efe4c6 MATH-1589: Remove spurious "throws" clause. 2022-01-24 05:39:59 +01:00
Gilles Sadowski c6b4ca908c MATH-1640: Do not try to outguess the caller. 2022-01-22 18:53:17 +01:00
Arturo Bernal 645d85a8c7 Avoid array declarations written in C-style syntax and replace it with java.
Closes #202.
2022-01-20 18:44:07 +01:00
Gilles Sadowski 426545d1db Relax tolerance (unit test). 2022-01-19 05:19:47 +01:00
Gilles Sadowski ae6ceeadd1 Replace calls to deprecated classes and methods (unit tests). 2022-01-18 04:37:54 +01:00
Gilles Sadowski d81b5e921e Replace "CMAESOptimizer.Sigma" with "Sigma". 2022-01-17 02:37:20 +01:00
Gilles Sadowski 336811dff5 Relax tolerance (unit tests). 2022-01-13 15:53:20 +01:00
Gilles Sadowski 7bb6190584 Remove spurious file.
Thanks to Karl-Philipp Richter.

Closes #201.
2022-01-13 15:50:22 +01:00
Gilles Sadowski d35194c995 Update copyright notice (2022). 2022-01-06 01:18:24 +01:00
Gilles Sadowski 2f48fbb5f9 Unused "import" statements. 2022-01-01 13:25:44 +01:00
Gilles Sadowski e7002a0215 MATH-1594: Remove "Serializable". 2021-12-31 01:59:20 +01:00
Gilles Sadowski eab5cb3af1 MATH-1594: Remove "Serializable". 2021-12-31 01:44:22 +01:00
Gilles Sadowski 94061dc566 MATH-1594: Remove "Serializable". 2021-12-31 00:59:27 +01:00
Gilles Sadowski 83fb6ef292 Remove spurious "throws" clause. 2021-12-31 00:53:17 +01:00
Gilles Sadowski 8904e6263a MATH-1594: Remove "Serializable". 2021-12-31 00:44:16 +01:00
Gilles Sadowski d3c03ebc9b Add unit tests. 2021-12-31 00:34:07 +01:00
Gilles Sadowski 9f633f7af4 MATH-1594: Remove "Serializable". 2021-12-31 00:31:49 +01:00
Gilles Sadowski 89f0abb4ea MATH-1594: Remove "Serializable". 2021-12-30 23:29:18 +01:00
Gilles Sadowski 4f0a49b674 MATH-1594: Remove "Serializable". 2021-12-30 18:12:41 +01:00
Gilles Sadowski aa0bee3055 MATH-1594: Remove "Serializable". 2021-12-30 18:11:26 +01:00
Gilles Sadowski eac2e8b627 MATH-1594: Remove "Serializable". 2021-12-30 17:27:48 +01:00
Gilles Sadowski 620b330f47 Comment out test case that fails too often. 2021-12-01 02:36:17 +01:00
Gilles Sadowski c6094cf9e0 MATH-1635: Unit test demonstrating the reported issue.
Test is set to "@Ignore" since the behaviour may be a known limitation.
2021-12-01 02:27:51 +01:00
Gilles Sadowski 226c1fc638 MATH-1636: Remove "isSupportedConnected" (as per STATISTICS-48). 2021-12-01 02:06:16 +01:00
Gilles Sadowski 21e230ae83 MATH-1630: Runtime switch between JDK and CM implementations of the methods defined in "java.lang.Math".
Default is to use the CM implementations in order to retain previous behaviour.
When using the JDK implementations, some unit tests fail (on Java 8).

Class "AccurateMath" was moved to "o.a.c.math4.core" package.
[Unit tests for that class were not moved because they depend on "legacy" classes.]
2021-10-16 11:14:09 +02:00
aherbert aa58ab0fd6 Updated tests to use factory constructors for Statistics distributions 2021-10-13 14:20:47 +01:00
aherbert 84677cd0db Updated to use factory constructors for Statistics distributions 2021-10-13 14:01:08 +01:00
Gilles Sadowski 3a5cf279bb MATH-1462: Extend workaround for bins that contain up to 3 values. 2021-09-27 01:02:54 +02:00
Maciej Kwidzinski d4de59a15a MATH-1462: Reproduce the infinite quantile bug 2021-09-18 12:20:35 +02:00
Gilles Sadowski b44c2610e0 Javadoc. 2021-09-18 03:05:51 +02:00
Gilles Sadowski b89f677c67 Relax tolerance (unit tests). 2021-09-01 13:34:56 +02:00
Gilles Sadowski 6e11126615 Spurious "throws" clauses. 2021-09-01 11:25:20 +02:00
Gilles Sadowski b222580737 Replace algorithm used in "best list" search.
Although efficient in terms of evaluations, "NelderMeadTransform" fails for
some higher-dimensional test functions.
2021-09-01 03:43:05 +02:00
Gilles Sadowski 1811eeaf37 Unused "import". 2021-08-27 20:58:27 +02:00
Gilles Sadowski bf1c2c214c Remove obsolete helper class for unit testing.
Retries are handled by the "surefire" plugin.
2021-08-27 19:16:03 +02:00
Gilles Sadowski dd0acaa9ff Relax expectations (unit test). 2021-08-27 19:15:17 +02:00
Gilles Sadowski 6f33d5f0a7 Fix incorrect usage of "ROSENBROCK" test function (unit tests). 2021-08-27 18:35:47 +02:00
Gilles Sadowski cc5ae51f98 Favouring the "expanded" simplex over the "reflected" one.
This modification decreases the number of function evaluations in several
test cases. Note however that the original description of the algorithm
uses the strict inequality...
2021-08-27 17:24:51 +02:00
Gilles Sadowski f1ad9d1b00 Simplex search in higher-dimensional cases (unit test). 2021-08-27 05:37:49 +02:00
Gilles Sadowski ca826ba76b Add (back) "POwELL" standard test function for optimizers. 2021-08-26 23:56:42 +02:00
Gilles Sadowski f58da4abf5 Use default SA setup in "SimplexOptimizerTest" (unit test).
A single additional search finds the optimum of the test functions.
2021-08-26 02:05:15 +02:00
Gilles Sadowski 06ec7ad0bc MATH-1622: Simulated annealing entails at least one additional search.
Also ensure that the "best list" contains at least two points.
2021-08-26 01:39:46 +02:00
Gilles Sadowski 677f5f7a3f Input files for "SimplexOptimizerTest" (unit tests). 2021-08-25 01:51:34 +02:00
Gilles Sadowski 2ccdf8d002 MATH-1622: Simulated annealing variant of "NelderMeadTransform". 2021-08-25 01:50:28 +02:00
Gilles Sadowski 80a7eb1832 Change how simulated annealing affects the transformed simplex (cf. MATH-1622).
Compared with commit 97462b1a1b, this commit is
more consistent with assumptions of the original (non-hybridized) algorithm.
2021-08-24 15:46:10 +02:00
Gilles Sadowski c21a810558 Useless local variable. 2021-08-24 04:09:42 +02:00
Gilles Sadowski f8d7476614 Input files for "SimplexOptimizerTest" (unit tests). 2021-08-24 01:28:43 +02:00
Gilles Sadowski 97462b1a1b MATH-1622: Simulated annealing variant of "MultiDirectionalTransform". 2021-08-24 01:18:16 +02:00
Alex Herbert 21f8008108 MATH-1627: Throw an exception when column or row sums are zero. 2021-08-22 21:43:52 +01:00
Alex Herbert 991314d461 Remove incorrect localization format for zero exception 2021-08-22 21:43:52 +01:00
Gilles Sadowski fb314ef3df Spurious "throws" clauses. 2021-08-22 03:46:25 +02:00
Gilles Sadowski 9bb5791906 Redundant inner class. 2021-08-22 03:28:37 +02:00
Gilles Sadowski 78fbc5f07c Update script for visual check of "SimplexOptimizerTest" debugging output.
Allow displaying negative values of the objective function.
2021-08-22 02:30:01 +02:00
Gilles Sadowski 1e7bce134f Adapt input files for "SimplexOptimizerTest" (unit tests).
The current tests are "baseline" (2D) cases.
Further work should check degradation with increased dimensionality.
2021-08-22 02:14:53 +02:00
Gilles Sadowski 14ebd93426 Relax expected number of evaluations (unit test).
Optimization is sensitive to the change from "AccurateMath" to "Math"
for computing the "pow" function used in "TestFunction.SUM_POW".
2021-08-22 01:10:04 +02:00
Alex Herbert bdb4160b00 Add variance tests for zero weights
Update javadoc for the behaviour when input weights are zero.

This issue was found when checking the sonar report for the variance
class which has a potential divide by zero if the weights sum to zero.
2021-08-21 14:37:13 +02:00
Alex Herbert 5245a685a0 sonar fix: Handle variance=0 in skewness computation for input array 2021-08-21 14:37:13 +02:00
Alex Herbert 30aa597f1e sonar fix: Ensure checkFeasableCount is not negative.
Change loop condition to 'i <= checkFeasableCount' from 'i <
checkFeasableCount + 1'

This ensures the loop to identify a new feasible column (RealMatrix
arxk) always executes at least once even with checkFeasibleCount at the
limit of 0 or Integer.MAX_VALUE.
2021-08-21 14:37:13 +02:00
Alex Herbert 228a832532 Javadoc typo 2021-08-21 14:37:13 +02:00
Alex Herbert 26e4a737f7 Javadoc typo 2021-08-21 14:37:13 +02:00
Gilles Sadowski 3ba0221c26 Simplify data format for "SimplexOptimizerTest" (randomized) input.
This commit also makes the following changes (unit tests):
 * Add/remove/rename/rewrite test functions.
2021-08-21 14:33:30 +02:00
Alex Herbert e97c3288a5 Sonar fix: Cast operands to double before assigning result to double 2021-08-18 16:41:10 +01:00
Alex Herbert 21a9aa4413 Sonar fix: use equals to compare Integers 2021-08-18 11:14:58 +01:00
Alex Herbert 0a42dc86cb Remove unused imports 2021-08-18 10:45:14 +01:00
Alex Herbert 58e0efc651 Sonarfix: Rename test for equality in markers
Use explicit equals method to check equality (not assertEquals)
2021-08-18 08:26:14 +01:00
Gilles Sadowski 9be74e3abd Nit: Display debug file name. 2021-08-16 02:03:08 +02:00
Gilles Sadowski 1d1fe2acc0 Make debugging parameters optional (unit test).
First optional parameter is the prefix of the output file's name.
Second optional parameter is the list of simplex vertices to save.
2021-08-15 18:55:49 +02:00
Gilles Sadowski a0cd950a7c Simplify null checks. 2021-08-14 16:18:36 +02:00
Gilles Sadowski 8804071ac7 Update copyright information. 2021-08-14 03:24:08 +02:00
Gilles Sadowski 070676d219 MATH-1625: Gnuplot script for visual debugging. 2021-08-14 02:42:28 +02:00
Gilles Sadowski 5f36bf970a MATH-1625: Add callback to generate debugging output (unit test).
Debugging output is activated through specifying a file prefix in the CSV input file.
2021-08-14 01:51:43 +02:00
Gilles Sadowski 310b21e4d7 MATH-1625: Enable callback in "SimplexOptimizer". 2021-08-14 01:51:43 +02:00
Gilles Sadowski e9d811daa3 Override "toString". 2021-08-14 01:51:43 +02:00
Gilles Sadowski e3b029d28a Javadoc. 2021-08-14 01:51:43 +02:00
Arturo Bernal 1e4662de5a
Simplify assertions with simpler equivalent. (#196) 2021-08-13 09:24:22 +01:00
Gilles Sadowski 872b655950 Javadoc. 2021-08-12 03:03:42 +02:00