Commit Graph

1785 Commits

Author SHA1 Message Date
Luc Maisonobe 4bd8d8bc13 fixed loop unrolling error
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728639 13f79535-47bb-0310-9956-ffa450edef68
2008-12-22 10:34:12 +00:00
Luc Maisonobe 008807938f added getSolver() into LUDecomposition
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728528 13f79535-47bb-0310-9956-ffa450edef68
2008-12-21 22:05:06 +00:00
Luc Maisonobe 1f3d5634d5 removed spurious exception clause
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728526 13f79535-47bb-0310-9956-ffa450edef68
2008-12-21 21:54:26 +00:00
Luc Maisonobe d1fc13cef3 fixed some javadoc
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728523 13f79535-47bb-0310-9956-ffa450edef68
2008-12-21 21:53:33 +00:00
Luc Maisonobe 6387a1f0a3 reverted some changes introduced yesterday, as they lead to unexpected test failures
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728507 13f79535-47bb-0310-9956-ffa450edef68
2008-12-21 21:23:18 +00:00
Luc Maisonobe c060390793 reverted some changes introduced yesterday, as they lead to unexpected test failures
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728500 13f79535-47bb-0310-9956-ffa450edef68
2008-12-21 21:04:47 +00:00
Luc Maisonobe 7716a7ac0d decomposed fields can be set to final (this may help optimizer)
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728483 13f79535-47bb-0310-9956-ffa450edef68
2008-12-21 19:48:17 +00:00
Luc Maisonobe bf70bae29b recover performances lost with changes for r723496
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728481 13f79535-47bb-0310-9956-ffa450edef68
2008-12-21 19:35:59 +00:00
Luc Maisonobe ed721c48a3 partially unrolled some computation loops to increase performance
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728478 13f79535-47bb-0310-9956-ffa450edef68
2008-12-21 19:02:44 +00:00
Luc Maisonobe 136ffc1054 removed direct references to RealMatrixImpl and use factory
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728186 13f79535-47bb-0310-9956-ffa450edef68
2008-12-20 00:03:13 +00:00
Luc Maisonobe 735e84a26a added a new DenseRealMatrix class intended to replace RealMatrixImpl
this class is more cache-friendly as it stores data from squares blocks
in flattened arrays. This allows algorithms that need cross-direction
navigation like multiplication or transpose) to be more efficient on
modern processors.


git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728185 13f79535-47bb-0310-9956-ffa450edef68
2008-12-19 23:59:38 +00:00
Luc Maisonobe 4826123478 added the addToentry and multiplyEntry methods
to allow in-place operation for matrices

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728184 13f79535-47bb-0310-9956-ffa450edef68
2008-12-19 23:53:11 +00:00
Luc Maisonobe da40b8373a removed overhead of Entry object allocation during OpenIntToDoubleHashMap iteration
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@726490 13f79535-47bb-0310-9956-ffa450edef68
2008-12-14 16:31:58 +00:00
Luc Maisonobe 11d8f0ec5f Added support for sparse real matrices
JIRA: MATH-230

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@726460 13f79535-47bb-0310-9956-ffa450edef68
2008-12-14 15:04:22 +00:00
Luc Maisonobe 578a219a0f Added an int/double hash map (OpenIntToDoubleHashMap) with much smaller
memory overhead than standard java.util.Map (open addressing and no boxing)

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@726459 13f79535-47bb-0310-9956-ffa450edef68
2008-12-14 14:56:50 +00:00
Luc Maisonobe 139a0e2c53 removed obsolete comment
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724343 13f79535-47bb-0310-9956-ffa450edef68
2008-12-08 13:40:42 +00:00
Luc Maisonobe 3ac5b7b902 removed characters needing a specific encoding
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724205 13f79535-47bb-0310-9956-ffa450edef68
2008-12-07 21:16:38 +00:00
Luc Maisonobe 1021f180e5 Added support for multi-dimensional Fourier transform.
JIRA: MATH-152

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724198 13f79535-47bb-0310-9956-ffa450edef68
2008-12-07 20:48:00 +00:00
Luc Maisonobe 71a29150bb The root solvers now take the function to solve as a parameter to
the solve methods, thus allowing to reuse the same solver for different
functions.

JIRA:MATH-218

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724191 13f79535-47bb-0310-9956-ffa450edef68
2008-12-07 20:24:10 +00:00
Luc Maisonobe 50fea38398 updated error generation
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724189 13f79535-47bb-0310-9956-ffa450edef68
2008-12-07 20:19:01 +00:00
Luc Maisonobe 2476371408 fixed missing error checks
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724187 13f79535-47bb-0310-9956-ffa450edef68
2008-12-07 20:17:45 +00:00
Luc Maisonobe b5f540eda2 added setter methods for rows and columns in matrices
JIRA: MATH-234

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724158 13f79535-47bb-0310-9956-ffa450edef68
2008-12-07 16:53:05 +00:00
Luc Maisonobe 227b7b2a00 added Frobenius matrix norm
JIRA: MATH-232

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724144 13f79535-47bb-0310-9956-ffa450edef68
2008-12-07 15:36:32 +00:00
Luc Maisonobe 2dc7b2d460 added an abstract implementation of RealMatrix and used it for RealMatrixImpl
JIRA: MATH-231

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724141 13f79535-47bb-0310-9956-ffa450edef68
2008-12-07 15:21:03 +00:00
Luc Maisonobe eec0bdccd6 renamed getValues() into getInternalValues() in ResizeableDoubleArray
(the old name is still there, but deprecated)

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724136 13f79535-47bb-0310-9956-ffa450edef68
2008-12-07 14:39:30 +00:00
Luc Maisonobe 43b958fd8f removed unneeded call to super()
removed spurious data copy (a copy was already done in the ResizableDoubleArray)

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724020 13f79535-47bb-0310-9956-ffa450edef68
2008-12-06 18:01:43 +00:00
Luc Maisonobe 9fc12bd85c added support for Zipf distribution
JIRA: MATH-178

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@724014 13f79535-47bb-0310-9956-ffa450edef68
2008-12-06 17:11:07 +00:00
Luc Maisonobe 607005c43d removed reference to non-existent version 1.3 in changes report
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@723737 13f79535-47bb-0310-9956-ffa450edef68
2008-12-05 14:27:36 +00:00
Luc Maisonobe 483f55064e improved matrix decomposition API.
solving a linear system AX = B is now done by a call like:
  RealVector x = new XyzSolver(new XyzDecomposition(a)).solve(b);

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@723736 13f79535-47bb-0310-9956-ffa450edef68
2008-12-05 14:05:50 +00:00
Luc Maisonobe cc080433e4 make sure the abstract copy() method signature used is the restricted one
inherited from the StorelessUnivariateStatistic interface and not the
general one inherited from AbstractUnivariateStatistic.
The eclipse compiler generates an error without this.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@723694 13f79535-47bb-0310-9956-ffa450edef68
2008-12-05 09:49:25 +00:00
Luc Maisonobe 7ce0b0ed8a moved the various solve function out of decomposition algorithms
and into a dedicated DecompositionSolver class

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@723500 13f79535-47bb-0310-9956-ffa450edef68
2008-12-04 23:56:17 +00:00
Luc Maisonobe 2c36a666c7 moved the various solve function out of decomposition algorithms
and into a dedicated DecompositionSolver class

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@723496 13f79535-47bb-0310-9956-ffa450edef68
2008-12-04 23:48:18 +00:00
Luc Maisonobe fc3b778033 removed unused Gershgorin circles class
Gershgorin circles are now handles (simply) inside the EigenDecomposition class

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@723363 13f79535-47bb-0310-9956-ffa450edef68
2008-12-04 15:53:51 +00:00
Luc Maisonobe 2655bad9b9 added (at least!) a first implementation of singular value decomposition.
JIRA: MATH-157, MATH-220, MATH-233

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@723361 13f79535-47bb-0310-9956-ffa450edef68
2008-12-04 15:46:44 +00:00
Luc Maisonobe f1fa39e47a improved error messages
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@723359 13f79535-47bb-0310-9956-ffa450edef68
2008-12-04 15:41:57 +00:00
Luc Maisonobe 6d37e391c7 renamed AbstractMultipleLinearRegressionTest into MultipleLinearRegressionAbstractTest
to match the pom.xml exclude rules and prevent an error in automatic builds

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@722612 13f79535-47bb-0310-9956-ffa450edef68
2008-12-02 20:32:52 +00:00
Luc Maisonobe 863fee8737 added a missing deprecated annotation
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@722605 13f79535-47bb-0310-9956-ffa450edef68
2008-12-02 20:22:06 +00:00
Luc Maisonobe bcebd1a54f don't compute the expensive Q matrix until really needed
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@722476 13f79535-47bb-0310-9956-ffa450edef68
2008-12-02 14:41:47 +00:00
Luc Maisonobe 25756255de allow eigen decomposition of a matrix already in symmetric tridiagonal form
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@722473 13f79535-47bb-0310-9956-ffa450edef68
2008-12-02 14:39:00 +00:00
Luc Maisonobe 4cc732e81f improved test coverage
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@722471 13f79535-47bb-0310-9956-ffa450edef68
2008-12-02 14:35:00 +00:00
Luc Maisonobe 26772782b5 removed commented out code
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@722469 13f79535-47bb-0310-9956-ffa450edef68
2008-12-02 14:32:59 +00:00
Phil Steitz d9df34360f Moved math 2.0 branch to trunk.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@722335 13f79535-47bb-0310-9956-ffa450edef68
2008-12-02 02:21:22 +00:00
Phil Steitz 543a3ca57e Added rigging for checking eigenvalues and eigenvectors and some easy test cases.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@721943 13f79535-47bb-0310-9956-ffa450edef68
2008-12-01 01:34:56 +00:00
Luc Maisonobe 2924cfdf77 fixed wrong loop bounds
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@721399 13f79535-47bb-0310-9956-ffa450edef68
2008-11-28 09:25:38 +00:00
Luc Maisonobe 9d442ceec8 completed implementation of EigenDecompositionImpl.
The implementation is now based on the very fast and accurate dqd/dqds algorithm.
It is faster than Jama for all dimensions and speed gain increases with dimensions.
The gain is about 30% below dimension 100, about 50% around dimension 250 and about
65% for dimensions around 700.
It is also possible to compute only eigenvalues (and hence saving computation of
eigenvectors, thus even increasing the speed gain).
JIRA: MATH-220

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@721203 13f79535-47bb-0310-9956-ffa450edef68
2008-11-27 15:50:42 +00:00
Phil Steitz 97a3fa7255 Added support for copying statistics
Changes to stats classes:
- copy constructor
- static copy(-,-)
- instance copy()
Added copy() to UnivariateStatistic and StorelessUnivariateStatistic
interfaces.

JIRA: MATH-212
Reported and patched by Jason C. HandUber 

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@720030 13f79535-47bb-0310-9956-ffa450edef68
2008-11-23 18:47:50 +00:00
Phil Steitz 54a42c0024 Added test case to ensure permuting arrays changes hash.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@719995 13f79535-47bb-0310-9956-ffa450edef68
2008-11-23 15:35:11 +00:00
Phil Steitz 9b8d0da71a Added test case to ensure nextPermutation fails for negative arguments.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@719993 13f79535-47bb-0310-9956-ffa450edef68
2008-11-23 14:57:44 +00:00
Phil Steitz 0a19478d2d Clarified javadoc for nextPermutation (to match interface).
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@719991 13f79535-47bb-0310-9956-ffa450edef68
2008-11-23 14:27:09 +00:00
Phil Steitz 05c6b8ad5a Replace hashcode functions with JDK 1.5+ provided impls. Deprecate?
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@719909 13f79535-47bb-0310-9956-ffa450edef68
2008-11-22 20:25:27 +00:00