Revision History
July 13, 2000 |
Original reslease of my Math Tools package. |
|
July 20, 2000 |
Added Polynomial class that represents an arbitrary polynomial equation with real or complex coefficients of arbitrary degree. Includes a general zero finder. |
|
October 13, 2000 |
Added TaylorSeries class that represents a Taylor series expansion of an arbitrary function f(x) centered about x0. |
|
February 14, 2001 |
Added log10(), log2(), and roundUpToPlace() to MathTools.java. |
|
May 7, 2002 |
Added Statistics and LinAlg utility classes. Added more rounding methods, hyperbolic sine, cosine, tangent and their inverses to MathTools. |
|
Nov. 19, 2004 |
Added "lnGamma()" function to MathTools. |
|
Added Integerator, First-Order Lag,
and Washout digital filters. |
||
Added ModelData class for creating curve
fits of data. |
||
Added 4-th Order Runge-Kutta ODE integrator
and a 4th-5th Order Variable Step Size R-K ODE integrator. |
||
Nov. 20, 2004 |
Added "equals()" and "hashcode()" methods
to org.netlib.math.complex.Complex class. |
|
Improved Polynomial.java by fixing the
broken "equals()" method, adding a "hashcode()" method, defensively cloning
the input coefficient arrays, and changing the "toString()" output to be consistant
with the order of the input coefficients. |
||
Dec. 4, 2004 |
Fixed numerous inconsistencies in the
order of the coefficients in the Polynomial class. These were mostly
errors in the documentation, but some methods were also incorrect. Also
fixed problems with some of the numerical constants used by the Polynomial
root finder. The root finder is now more accurate. |
|
April 3, 2014 |
Modified Evaluatable1D to be an interface and added an AbstractEvaluatable1D to replace it's old functionality. Corrected spelling in comments, improved formatting, and added missing tags. Corrected an error in the findRootsND() method where exceptions were not being thrown when they should have been. Added MathTools.isApproxEqual() method for comparing two float or double numbers for approximate equality. Set MathTools.EPS to be the machine precision eps (the smallest value eps such that 1.0 + eps > 1.0). Added a new Quadrature method: Adaptive Gauss-Lobatto; which is more robust and faster than simpsonsRule() and more accurate and adaptive than the gaussLegendre() methods. Converted the ModelData classes from "float" to "double". Modified cosh(), sinh(), tanh(), cubeRoot() and log10() to call through to the equivelent standard Math.java methods (which were added in Java 1.5). Corrected poor implementations of equals() and hashCode(). Fixed some incorrect checks for roundoff error. And finally, moved the Complex class from org.netlib.compex to jahuwaldt.tools.math for convenience. In addition, the record of changes between 2004 and 2011 have been lost, so there are likely more changes than this. |