10-15 March 2012
Surface smoothing class, SurfaceSmooth, added and updated.
Curve smoothing class, CurveSmooth, further updated.
5 March 2012
Poisson random deviate generator in PsRandom class, corrected [Thanks to Ihor Small and Alexander Nozik].
5 March 2012 Regression class, restored. A temporary version in the process of modification was inadvertently uploaded, probably on 21 January 2012.
Curve smoothing class, Smooth, replaced by class, CurveSmooth.
3-4 March 2012
Data smoothing class, Smooth, further updated.
26-27 February 2012
Data smoothing class, Smooth, updated.
25 February 2012
A data smoothing class, Smooth, added.
12 January 2012
Regression class, Regression, updated.
7 January 2012
Analysis of Variance class, ANOVA, updated.
21 October 2010
Fitting to multiple Gaussians added to Regression class.
20 October 2010
Zero coefficient check in the root finding methods in the ComplexPoly class corrected.
29 September 2010
Alphabetic sorting of arrays of Strings added to the sort method in the ArrayMaths class.
31 August 2010
The error in overriding the natural spline option in the CubicSpline class, introduced in an earlier update, has been corrected (Thanks to Dagmara Oszkiewicz, University of Helsinki, for pointing out this error)
13−16 August 2010
Correlation coefficient methods and linear regression methods updated in the Regression class
12 August 2010
Polynomial fitting and linear regression methods updated in the Regression class
24 July 2010
Random integer generating methods in PsRandom class further revised.
12 July 2010
Random integer generating methods in PsRandom class revised. They now offer a choice of two improved alternative generators suggested by Diego Moreira of Universidad Nacional de Jujuy, Argentina
18 May 2010
Methods added to the Stat and Regression classes to allow the resetting of the continued fraction evaluation termination parameters in the Stat method contFract.
19 February 2010
subtractMean method in Matrix corrected. [Thanks to David, University College Cork, Ireland for bringing to my attention the error]
8 February 2010
Erlang C probability method in Stat rewritten as a more numerically stable implementation. [Thanks to Michele Mazzucco, School of Computer Science, University of Newcastle for bringing to my attention the instability]
30 January 2010 RungeKutta: major revision.
error in cubic root method in RealRoot corrected [Thanks to Dr. Xing Zhao, FICO, US, for pointing out the error].
20 January 2010 BlackBox amended to remove problem in instantiating some subclasses introduced in last modification of BlackBox.
12 January 2010
SetSubMatrix methods in Matrix and ComplexMatrix classes corrected. [Thanks to Dr. Kay Nehrke, Philips Technologie, Hamburg, for pointing out the bug].
The several separate multiple parameter constraint implementation corrected in the Minimisation, Maximisation and Regression classes. [Thanks to Siamak Ashrafi, Target Discovery, US, for pointing out the bug].
1 February 2009
Return file name and check if file already in use methods added to FileOutput.
14 January 2009
Check for too few points updated in CubicSpline.
13 December 2008
Complex array handling methods in the ArrayMaths class extended.
Further extension of Complex variance, Complex standard deviation and Complex standard error methods in the Stat class.
8 December 2008
Complex variance, Complex standard deviation and Complex standard error methods extended in the Stat class.
3 December 2008
The graph points digitization class, DigiGraph, updated
13 August 2008 - 31 November 2008
Major revision of the library and addition of several classes
12 August 2008
A new method added to PlotPoleZero allowing scaling of the size of the plot.
A new method added to PlotPoleZero allowing the direct setting of the poles and/or zeros.
11 August 2008
A new method added to PlotPoleZero allowing the setting of equal spans for the real and imaginary axes. PlotPoleZero and Plot modified to to allow unit circle to be automatically drawn in the z-plane. A new method added allowing the span of the z-plane axes to be both set to −1 to +1. [Plot is the superclass for PlotGraph]
Cubic roots method in ComplexPoly replaced by a more reliable one.
boolean array printing added to PrintToScreen.
10 August 2008 PlotPoleZero circle array initialization corrected and the incorrect array indexing in the limit cycle break procedure in the Laguerre method in ComplexPoly corrected. [Thanks to John Mulcahy for pointing these out]
25 July 2008 Arraymaths and Stat revised. Skewness, kurtosis and sub-array methods added.
10 July 2008
Maximum and minimum methods in Arraymaths corrected.
7 July 2008
FURTHER CODE TIDYING (Fmath, Fouriertransform, Reflectivity, PlanarWaveguide, Donnan, GouyChapmanStern). Downloading of updated jar file advised. FURTHER CODE TIDYING (Plot, PlotGraph, PlotGraphZero, Plotter). Downloading of updated jar file advised.
4-6 July 2008
MAJOR CODE TIDYING IN A LARGE NUMBER OF CLASSES (Fmath, ArrayMaths, Stat, PsRandom, Regression, Maximize, Minimize, RutteKunga, Reflectivity, PlanarWaveguide, ImpedSpecSimulation, ImpedSpecRegression, ClosedLoop, OpenLoop, Donnan, GouyChapmanStern and DigiGraph). Downloading of updated jar file advised.
4 July 2008
Array randomization methods added to Arraymaths and Stat classes.
3 July 2008
Pseudo-random uniform integer deviate generation methods added to PsRandom class.
ofindex methods in Fmath class corrected [Thanks to Michele Mazzucco, School of computer Science, University of Newcastle]
2 July 2008
Truncation, rounding up and rounding down methods added to ArrayMaths and Stat classes.
Standardization of data to a mean of zero and a standard deviation of unity added to the Stat class.
Scaling of data to a new mean and a new standard deviation added to the Stat class. FileTypeFilter class updated to incorporate Java Generics. This class is required by FileChooser and MultipleFilesChooser
28 June 2008 ArrayMaths updated to include Stat instances in the constructors and in the addition, subtraction and concatenation methods.
27 June 2008 Stat constructor with no arguments made public. The deep copy and toStat methods in ArrayMaths corrected.
10 June 2008
Tsallis Entropy method and a Generalized Entropy method added to the Stat class.
4 June 2008
Rényi Entropy method in Stat class revised to include a returned interpolated value in the underflow region close to the minimum value.
Lack of a calculated minimum and maximum in some methods in ArrayMaths class rectified.
30 May 2008
Rényi Entropy method in Stat class revised.
30 May 2008
Rényi Entropy and Binary Shannon Information Entropy calculation added to Stat class and ArrayMaths updated to include -x.log(x) calculations.
27 May 2008
Shannon Information Entropy calculation added to Stat class and ArrayMaths updated to include x.log(x) calculations.
25 May 2008
Checking equality within limits and within a percentage of the mean added to Fmath class.
24 May 2008
Generalized mean (power mean) method and root mean square method expanded and weighted harmonic mean method corrected in Stat class.
Get maximum and get minimum methods in class corrected.
Java Platform 6 used in compiling flanagan.jar updated from version jdk1.6.0_03 to version jdk1.6.0_06.
22 May 2008 Stat class updated to include a method to convert an array of weights to an array of inverses of the square roots of those weights. ArrayMaths class updated to include a method to convert an array of variables to an array of inverses of the square roots of those variables - to facilitate weighting conversions in class Stat.
20 May 2008 Complex class revised - instance methods extended and correction to sqrt method made.
19 May 2008
Simplex2 methods error corrected in Regression class.
13 May 2008
BigDecimal and BigInteger added to the factorial method in the Stat and the Fmath and to the square method in the a href = "Fmath.html">Fmath class.
10 May 2008
Constrained minimation methods in the Minimisation class updated and extended to include constraining a sum of of parameters term to a fixed value (within a tolerance interval).
Constrained maximation methods in the Maximisation class updated and extended to include constraining a sum of of parameters term to a fixed value (within a tolerance interval).
Constrained non-linear regression methods in the Regression class updated and extended to include constraining a sum of of parameters term to a fixed value (within a tolerance interval).
3 May 2008
Instance fit to a statistical distribution method added to Stat and ArrayMaths modified to accommodate recent updates to Stat.
2 May 2008
Plot method added to ArrayMaths.
Instance generalised, harmonic mean, interquartile mean and outlier detection methods added to Stat.
BigDecimal,BigInteger and, where relevant Complex, array as entered arrays also added to the static median, geometric mean and root mean square methods in Stat.
1 May 2008
Instance median, geometric mean and root mean square methods added to Stat.
BigDecimal, BigInteger and, where relevant Complex, array as entered array also added to the static generalised, harmonic mean and interquartile mean methods in Stat.
30 April 2008 ArrayMaths updated to accommadate revised Stat class.
Instance variance, standard deviation, volatility and coefficient of variation methods added to Stat.
BigDecimal and BigInteger arithmetic also added to the static volatilty and coefficient of variation methods in Stat.
BigDecimal, BigInteger and Complex arithmetic also added to the static variance, standard deviation methods in Stat.
Corrections made to the 29 April revisions in Stat.
28 April 2008
Minor modifications to ArrayMaths and Conv classes to accommodate the creation of the ArrayMaths class.
Misdirected method call in three parameter log normal fitting in the Regression class corrected. Thanks to Pat Glenn of Car Test Software for pointing this out.
Correction to the complement of the cdf equation in the F-distribution documentation in the Stat class made (coding was OK). Thanks to Lou Glorfeld for pointing this out.
27 April 2008
Print to screen methods added to ArrayMaths class.
General tidying of and corrections and minor additions to ArrayMaths class made.
Find maximum and minimum differences between elements methods added to ArrayMaths class.
Find indices of a value within an array methods added to ArrayMaths class.
26 April 2008 Fmath class updated to accomodate ArrayMaths class requirements and to effect a correction to its oncatenation class.
Concatenation method added to ArrayMaths class.
Sort into ascending order method added to ArrayMaths class.
25 April 2008
Divide method in ArrayMaths class corrected and code tidied.
Exponential, antilog to base 10, taking a power, negate all elements, invert all elements methods added to ArrayMaths class.
Product of all elements method added to ArrayMaths class.
24 April 2008
Reverse array, log, square root, absolute value and sum of all elements methods added to ArrayMaths class.
23 April 2008
Minor amendments and corrections to ArrayMaths class.
22 April 2008
Addition, subtraction, multiplication and division methods added to ArrayMaths class .
20 April 2008 ArrayMaths class containing methods for interconversion of and mathematical operations on one dimensional arrays. This class will be developed further.
29 March 2008 PsRandom class updated to improve random deviate generation methods and correct two such methods. Stat class updated to improve random deviate generation methods.
16-28 March 2008 Regression class updated to improve Erlang fitting procedures and RealRoot class updated to accomodate this improvement.
Documentation of Regression class expanded to include descriptions of correlation coefficients used. Stat class documentation expanded to include descriptions of correlation coefficients used. CubicSpline class updated to correct a failure to store some second derivatives for more efficient multiple interpolations [Thank you Peter Neuhaus, Florida Institute for Human and Machine Cognition, for pointing out the error] PsRandom class updated to correct an error in the nextBeta method [Thank you Louis-Claude Canon for pointing out the error].
27 February 2008
Weighted variance and weighted standard deviation methods corrected in the Stat class.
symmetricEigen method corrected in the Matrix class [Thanks to Mike Kroutikov]. PropInt and PropIntDeriv instantiation problem corrected [Thanks to Ahmed El Gamal, EDS Egypt].
1-D array methods in Fmath extended.
30 April 2007
flanagan.jar file comiled using jdk1.6.0_01 made available in addition to that complied using jdk1.5.0_09
The Laguerre method in the ComplexPoly class corrected. Thanks to Jonathan Teutenberg, Department of Computer Science, University of Aukland, for pointing out two incorrect operators.
29 April 2007
The readComplex, parseComplex, valueOf methods in the Complex class updated to correct error on reading some complex numbers with a negative real part. May effect Complex read methods in Db, FileInput and Keyboard input.
The truncate methods in the Fmath class updated.
25 April 2007
Bad array referencing corrected in Cash-Karp and Fehlberg methods, applied to more than differential equation, in the RungeKutta class. Thanks to Jeff Gill, Case Westetrn University, for informing me of this error.
14 April 2007
Log-normal distribution (three parameter statistic) methods added to the Stat, PsRandom and Regression classes.
12 April 2007
Log-normal distribution (two parameter statistic) methods added to the Stat, PsRandom and Regression classes.
11 April 2007
Typo in the Runge-Kutta-Cash-Karp methods in the RungeKutta class corrected (coefficient -11/55 corrected to -11/54). Thanks to Professor Costas Pozrikidis, University of California at San Diego, for informing me of this error.
27 March 2007
Error in factorial method in the Stat class and the Fmath class corrected. This error had also caused consequent errors in the gammaFunction, gamma, poissonPDF and poisson methods. Thanks to Dipl.-Ing. Henri Kretschmer, Technische Universit?t Berlin for informing me of this error.
31 December 2006
Generation of F-distribution random deviates added to Stat class and PsRandom class.
F-distribution methods extended in the Stat class.
Generation of chi-square random deviates added to Stat class and PsRandom class.
Chi-square distribution methods extended in the Stat class.
27 December 2006
The Engset Equation has been added to the Stat class.
Factorial methods revised in both the Fmath class and the Stat class.
21 December 2006
Methods to generate and to analyse the Erlang Distribution added to the Stat class and to the PsRandom class.
Methods to fit data to the Erlang Distribution added to the Regression class and to the Stat class.
The Erlang B and C Equations added to the Stat class.
18 December 2006
Methods to fit data to the Gamma Distribution added to the Regression class and to the Stat class.
17 December 2006
Methods to fit data to the Beta Distribution added to the Regression class and to the Stat class.
16 December 2006
Methods to generate and to analyse the Beta Distribution added to the Stat class and to the PsRandom class.
Errors on the methods for generating Gamma random deviates corrected.
5-9 December 2006
Methods to generate and to analyse the Gamma Distribution added to the Stat class and to the PsRandom class.
The Stat class revised - some methods renamed but older versions have all been retained.
21 November 2006
Methods to generate, to analyse and to fit data to the Logistic Distribution added to the Stat class, the PsRandom class and the Regression class.
17 November 2006
flanagan.jar compiled using the beta version of jdk1.6.0 replaced by flanagan.jar compiled using jdk1.5.0_09. The beta version 6 file had inadvertantly been used since 17 September 2006. It was causing some problems. RefractiveIndex class updated.
12 November 2006
A binomial random deviate generator and an array of random binomial deviates generator added to class PsRandom.
An array of random binomial deviates generator added to class Stat.
5 November 2006
A simplified method for fitting a set of data to the various distributions handled by the classes Stat and Regression called fitOneOrSeveralDistributions(array) added to both Stat and Regression.
Mis-spelling in the student t method in Stat corrected and two additional methods relevant to this distribution added.
Fitting of data to a three parameter Pareto distribution added to complement the two and one parameter distribution methods in both Stat and Regression.
3 November 2006
Constructors, initialised with true frequency data, in the Regression class corrected. An error was introduced in a recent update of Regression.
Histogram construction methods in the Stat class improved.
1 November 2006
A class, DigiGraph, that contains methods for digitising points on a graph has been added.
21 September 2006
The two-dimensional data array used in the cubic spline interpolation, in the class CubicSpline, is now examined for identical points and only one instance of each set of identical points is retained.
15 September 2006
Improvements, suggested by Klaus Benary [Klaus.Benary@gehe.de], to the Runge-Kutta- / Carp-Karp / Fehlberg methods in the class RungeKutta, to ensure that the step size does not become too small, have been incorporated.
11 August 2006
File reference (pointer) allocation in MultipleFilesChooser corrected [previous version only allocated files in same folder as that called from].
8 August 2006
A method, called testOfAdditionalTerms, to test the justification of adding more parameters to the model used in a regression analysis, added to Regression [Extra sum of squares procedure].
1 August 2006
Arithmetic mean added to Complex [already present in Stat].
28 July 2006
Truncate method in the Fmath class corrected (0.999999... was returning incorrect value).
Standard Error calculation in both the linear and non-linear regression methods in the Regression class corrected (a factor of the square root of 2 [1.4142136] was missing in linear methods).
31 March 2006
Incorrect indexing in norm methods in Matrix and ComplexMatrix corrected. Addition, subtraction and multiplication in extended to include ComplexMatrix with Matrix, 2-D array of Complex and 2-D array of doubles in ComplexMatrix and to include a 2-D array of doubles in Matrix.
30 March 2006
Reflectivity class modelling the reflection of light from and its transmission through a dielectric and/or multilayer - Reflectivity.
5 March 2006
Methods for creating three dimensional arrays of Complex and of copying such 3D arrays added to Complex.
16 February 2006
set methods in Matrix and ComplexMatrix corrected and updated
Thanks to Myriam Servi?res, Equipe IVC , Ecole Polytechnique de l'universit? de Nantes, Laboratoire IRCCyN/UMR CNRS, for this correction.
13 February 2006
A multidimensional cubic spline interpolation added as class PolyCubicSpline
Thanks to Alain Bonissent, CPPM, Marseille and CERN, for discussions on multidimensional interpolation.
10 February 2006
Tricubic spline interpolation added as class TriCubicSpline
30 January 2006
Corrections and revisions made to Plotter
27 January 2006
Corrections made to FourierTransform:
Complex array input and output modes corrected for fault in imaginary part storage.
Output of number of working data points corrected
22 January 2006
Printing of arrays added to all print methods in FileOutput and printArrayToText method corrected and expanded.
5 January 2006
x-axis legend option added to histogramBinPlot methods in Stat.
13 September 2005
FileInput complex method corrected
FileInputAsChar class added - read a file character by character
FileNameSelector class added - chooes a file name through dialog window without opening the file
21 May 2005
Write arrays to screen method added to Fmath and Complex.
Write ComplexPoly to screen method added.
BlackBox, ComplexPoly and PlotPoleZero all updated.
16 May 2005 LowPassPassive, simple low pass filter added to the control section. HighPassPassive, simple high pass filter added to the control section.
PlotPoleZero() updated to take only poles or only zeros as well as poles and zeros.
14 May 2005 Compensator added to the control section.
BlackBox (in control section) methods TransientResponse and inverseTransform
corrected. Transient outputs were previously sometimes incorrectly scaled.
13 May 2005 ClosedLoop added to the control section.
BlackBox (in control section) updated.
11 May 2005 OpenLoop added to the control section.
name = "09May05">9 May 2005
DtoA (a digital to analogue converter simulation) added to the control section.
6 May 2005
AtoD (an analogue to digital converter simulation) added to the control section.
Dialog message box display (output) methods added to the input/output class, Db
3 May 2005
The control classes PropDeriv, PropInt and PropIntDeriv have been updated.
All the control classes have been reinstalled
10 April 2005
Linear Correlation coefficient methods, in Stat, extended to cover a binary data frequency matrix
Covariance methods added to Stat
sinc function added to Fmath
28 March 2005
Inverse hyperbolic tanh in Complex corrected
Methods for obtaining the angle subtended by the sides of a triangle, given either the lengths of the sides or the x-y coordinates of the triangle apices, added to Fmath
Methods for obtaining the sine, cosine and tangent of the angle subtended by the sides of a triangle, given either the lengths of the sides or the x-y coordinates of the triangle apices, added to Fmath
A sort method added to existing sort methods in Fmath that also returns an array of the rearranged indices.
Trigonometric functions exsecant, versine, coversine and haversine and their inverses added to Fmath.
3 March 2005
Complex square root [Complex.sqrt(x)] corrected in Complex.java
A method for obtaining the F-test value corresponding to a given F-distribution probability added to Stat.java:
public static double fTestValueGivenFprob(double fProb, int nu1, int nu2)
import statement in documentation of RealRoot class corrected