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
Phil Steitz
444d2311ea
Javadoc only.
...
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@719907 13f79535-47bb-0310-9956-ffa450edef68
2008-11-22 20:16:26 +00:00
Phil Steitz
dd1a6bf954
Added the following methods to ResizableDoubleArray to support MATH-212
...
changes to stats classes:
copy constructor
static copy(-,-)
instance copy()
equals and hashcode
JIRA: MATH-212
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@719894 13f79535-47bb-0310-9956-ffa450edef68
2008-11-22 18:41:40 +00:00
Luc Maisonobe
2ef1c3b7d0
applied Cyril Briquet's patch adding an observations removal feature to descriptive statistics
...
JIRA: MATH-229
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@713093 13f79535-47bb-0310-9956-ffa450edef68
2008-11-11 17:50:05 +00:00
Luc Maisonobe
4ae0245ff6
fixed typo
...
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@713088 13f79535-47bb-0310-9956-ffa450edef68
2008-11-11 17:24:21 +00:00
Luc Maisonobe
6b07dd2122
improved error messages
...
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@712430 13f79535-47bb-0310-9956-ffa450edef68
2008-11-08 20:42:55 +00:00
Luc Maisonobe
d00137cca7
allow chained IOExceptions even before Java 6
...
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@712187 13f79535-47bb-0310-9956-ffa450edef68
2008-11-07 16:31:58 +00:00
Luc Maisonobe
448759e46e
fixed a forgotten possible NPE
...
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@712178 13f79535-47bb-0310-9956-ffa450edef68
2008-11-07 16:05:50 +00:00
Luc Maisonobe
0c7099ab35
improved error messages
...
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@712144 13f79535-47bb-0310-9956-ffa450edef68
2008-11-07 14:55:23 +00:00
Luc Maisonobe
b1592908df
leverage null pointer handling,
...
exception classes can be built using null arguments arrays which
are automatically converted to zero-sized arrays to prevent null pointer exceptions
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_0@712142 13f79535-47bb-0310-9956-ffa450edef68
2008-11-07 14:48:13 +00:00