Commit Graph

1504 Commits

Author SHA1 Message Date
Luc Maisonobe 6e5a114c7a added Fast Hadamard Transform
JIRA: MATH-215

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@729670 13f79535-47bb-0310-9956-ffa450edef68
2008-12-27 20:24:05 +00:00
Luc Maisonobe c4126f3174 added nth root computation for complex numbers
JIRA: MATH-236

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@729639 13f79535-47bb-0310-9956-ffa450edef68
2008-12-27 16:23:43 +00:00
Luc Maisonobe 9eccfc3c46 fixed javadoc comment
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@729431 13f79535-47bb-0310-9956-ffa450edef68
2008-12-25 18:06:19 +00:00
Luc Maisonobe a1a7822552 removed unused method
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@729302 13f79535-47bb-0310-9956-ffa450edef68
2008-12-24 11:56:22 +00:00
Luc Maisonobe 1c90b51196 replaced use of deprecated method
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@729301 13f79535-47bb-0310-9956-ffa450edef68
2008-12-24 11:55:42 +00:00
Luc Maisonobe 17a35b2e8c fixed various errors and warnings detected by checkstyle and findbugs
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@729291 13f79535-47bb-0310-9956-ffa450edef68
2008-12-24 10:47:53 +00:00
Luc Maisonobe 0e1654b627 added new cache-friendly specializations of get/set/operate/premultiply methods
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@729174 13f79535-47bb-0310-9956-ffa450edef68
2008-12-23 23:30:33 +00:00
Luc Maisonobe ef8ee92f48 added a specialized implementation of premultiply
removed unneeded signatures with RelVectorImpl already handled efficiently by base class

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@729173 13f79535-47bb-0310-9956-ffa450edef68
2008-12-23 23:27:52 +00:00
Luc Maisonobe 13583c53fa use direct array access where possible
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@729172 13f79535-47bb-0310-9956-ffa450edef68
2008-12-23 23:25:31 +00:00
Luc Maisonobe a20be3af18 fixed javadoc
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@729171 13f79535-47bb-0310-9956-ffa450edef68
2008-12-23 23:23:31 +00:00
Luc Maisonobe febffccc41 added message for asymmetric matrices
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728918 13f79535-47bb-0310-9956-ffa450edef68
2008-12-23 10:17:53 +00:00
Luc Maisonobe 6c48638cc5 removed evenPermutation and isSingular for consistency with other decomposition solvers
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728917 13f79535-47bb-0310-9956-ffa450edef68
2008-12-23 10:17:11 +00:00
Luc Maisonobe 2cb4fc8a84 javadoc improvements
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728916 13f79535-47bb-0310-9956-ffa450edef68
2008-12-23 10:14:49 +00:00
Luc Maisonobe 25a6b32fe1 prepared interface for general eigendecomposition
we currently support only symmetric matrices and real eigenvalues
Jira issue MATH-235 asks for asymmetric matrices support, which needs
an API adaptation.
Preparing the interface yet avoids introducing incompatibility later.
The current status is explained in javadoc and matrix symmetry is checked
at runtime with an InvalidMatrixException triggered if asymmetry is detected.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728915 13f79535-47bb-0310-9956-ffa450edef68
2008-12-23 10:13:58 +00:00
Luc Maisonobe 6916b0314d comments
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728717 13f79535-47bb-0310-9956-ffa450edef68
2008-12-22 15:51:45 +00:00
Luc Maisonobe 0815079329 implemented solver as an internal class for efficiency
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728716 13f79535-47bb-0310-9956-ffa450edef68
2008-12-22 15:50:57 +00:00
Luc Maisonobe bdf20e5cf9 implemented solver as an internal class to avoid building decomposed matrices
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728686 13f79535-47bb-0310-9956-ffa450edef68
2008-12-22 13:30:10 +00:00
Luc Maisonobe b717e8d1c0 replaced references to RealMatrixImpl
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728685 13f79535-47bb-0310-9956-ffa450edef68
2008-12-22 13:28:29 +00:00
Luc Maisonobe 46664c3e99 removed a leftover print statement
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728643 13f79535-47bb-0310-9956-ffa450edef68
2008-12-22 10:57:34 +00:00
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