Michael Thomas Flanagan's Java Scientific Library

List of Recent Updates and Corrections

     

Updates and Corrections

27 January 2013
This library is no longer publicly available.

20-24 September 2012
Scores class updated.
AlphabeticToNumeric application updated.

17 September 2012
ArrayMaths class updated.

12 September 2012
Gradient class updated.
CubicSplineFast class corrected. This alteration does not affect the running of CubicSplineFast but may affect the running of BiCubicSplineFast and PolyCubicSplineFast.
Please download the current flanagan.jar file if using any interpolation class, SurfaceSmooth, RefractiveIndex or Sucrose.

11 September 2012
An error in both CubicSpline and PolyCubicSplineclass corrected. These alterations do not affect the running of CubicSpline but may affect the running of BiCubicSpline, TriCubicSpline, QuadriCubicSpline and PolyCubicSpline.

25 August 2012
Gradient class added.

22 August 2012
PCA updated.

2-8 August 2012
Scores class and, consequently, its subclasses Cronbach and PCA updated.

31 July 2012
ArrayMaths class updated.

26-29 July 2012
Stat class updated.

26 June 2012
Matrix class updated.

25 June 2012
Regression class updated.

20 May 2012
FileInputAsChar replaced by FileManipulate.
FileInput updated.

27 April 2012
BlackBox and Transducer classes updated.

14 April 2012
BlackBox, ComplexPoly and Polynomial classes further updated.

13 April 2012
Control package updated and reinstated. BlackBox, PropIntDeriv, PropDeriv and PropInt updated. Further updates to follow.
ComplexPoly class updated.

12 April 2012
Control package withdrawn for major revision.

11 April 2012
A DeepCopy class and a DataType class added.
Conv class updated.

2 April 2012
ImmunoAssay, Regression and ImmunoChemistry classes updated.

30-31 March 2012
Continued revision of the Regression class.

20-29 March 2012
A major revision of the Regression class and the addition of weighting using both independent and dependent variable measurement errors.

17 March 2012
All smoothing classes updated.

16 March 2012
Three dimensional smoothing class, ThreeDimensionalSmooth, added.
Surface smoothing class, SurfaceSmooth, further updated.

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.

3-5 January 2012
Analysis of Variance class, ANOVA, added.
Stat and ProbabilityPlot classes updated.

7 December 2011
Scores, BoxCox and ProbabilityPlot classes updated.
Platform 6 and Platform 7 versions of flanagan.jar now available.

5 December 2011
PolylineSimplification, Point, VectorMaths and Phasor classes updated.

4 December 2011
PolylineSimplification, Point and VectorMaths classes added.

21 November 2011
Stat and ArrayMaths revised.

21 November 2011
Java Platform 6 replaced by Java Platform 7. jdk1.7.0_01 (32 bit) now used in compiling flanagan.jar.

13-14 November 2011
bestPolyomial method in Regression class revised.

30 March 2011
Regression, Stat and ImmunoAssay classes updated.

26 March 2011
ImmunoChemistry class extended.

11 March 2011
ImmunoAssay and ImmunoChemistry classes revised and extended.

1 March 2011
ImmunoAssay class revised and extended.

27-28 February 2011
ImmunoAssay and Regression classes revised and extended.

22-26 February 2011
ImmunoAssay and Regression classes revised and extended.
LinearInterpolation class added.

21 February 2011
ImmunoAssay, Regression and Plot [superclass for PlotGraph] classes revised.

17-18 February 2011
ImmunoAssay class revised and extended.

10 February 2011
Erlang B methods in Stat class revised.

8 February 2011
ImmunoAssay class extended.

7 February 2011
ImmunoAssay class added.
Regression, Plot and CubicSpline and revised.

25 January 2011
Incomplete gamma function methods and Erlang B methods in Stat revised.

21 January 2011
A real polynomial class, Polynomial, added.

19 January 2011
A Erlang B blocking probability method allowing non-integer resources added to Stat class.

18 January 2011
‘All zero but one’ coefficient error in roots method in ComplexPoly class corrected.
BlackBox, SecondOrder and Conv class updated.

16 January 2011
CubicInterpolation class added.

15 January 2011
TriCubicInterpolation class added.

12 January 2011
Fmath, Conv and Matrix classes updated.

11 January 2011
BiCubicInterpolation class updated.

10 January 2011
BiCubicInterpolation class added.

5 January 2011
BiCubicSpline, TriCubicSpline and BoxCox classes updated.

19 December 2010
BoxCox class updated.

15 December 2010
Inverse transform method added to the BoxCox class.

7 December 2010
GaussianFit, application for fitting examination marks to a Gaussian distribution added.
Regression class updated.

4 December 2010
Scores, PCA, Cronbach and Stat classes updated.
PCA_analysis, CronbachAnalysis and AlphabeticToNumeric applications updated.

3 December 2010
A Scores class enter method corrected.

30 November 2010
Ordering of the rotated values in the PCA class corrected.

29 November 2010
Scores and PCA classes further updated. Scores is also the superclass for Cronbach and is used by the applications AlphabeticToNumeric, CronbachAnalysis and PCA_Analysis.

18 November 2010
Scores, Cronbach, PCA classes and AlphabeticToNumeric application updated.

14 November 2010
Exceeded matrix bounds checks in setSubMatrix and getSubMatrix methods in Matrix, ComplexMatrix and PhasorMatrix corrected.

12-13 November 2010
Scores, Cronbach, PCA, Fmath and FileInput classes updated.
AlphabeticToNumeric, an example program for the Scores class added.

7-10 November 2010
PCA_Analysis, an example program for the PCA class added.

7-10 November 2010
CronbachAnalysis, an example program for the Cronbach class added.
Scores and Cronbach classes further updated.
Platform 5 version of flanagan.jar discontinued.

2 November 2010
Regression, Stat and ProbabilityPlot classes updated.

1 November 2010
Scores and Cronbach classes updated.

31 October 2010
FileChooser, MultipleFilesChooser, Db and Scores classes 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

9 July 2010
Regression class revised.

6 June 2010
Complex and ComplexPoly classes extended.

5 June 2010
ComplexPoly class addition, subtraction and multiplication methods updated.

3 June 2010
Blackbox inverse Laplace transform methods updated.

29 May 2010
An ArrayList constructor added to the ComplexPoly class.

24-25 May 2010
Stat and Regression classes updated.
fit to a polynomial of unknown degree and fit tpo a constant methods added to the Regression class.

23 May 2010
getCurrentOutputT methods corrected in BlackBox, FirstOrder and SecondOrder classes.
calcOutputT methods corrected in the FirstOrder and SecondOrder classes.

20 May 2010
Minor tidying of Regression class.

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.

13 - 14 January 2010
New interpolation class BiCubicSplineFirstDerivative added.
Interpolation classes CubicSpline and CubicSplineFast updated.

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].

11 January 2010
CubicSpline updated.

4 January 2010
Faster running PolyCubic Spline interpolation class, PolyCubicSplineFast added.
Principal Component Analysis class, PCA updated.

29 December 2009
Faster running BiCubic Spline interpolation class, BiCubicSplineShort renamed BiCubicSplineFast.

26 December 2009
Faster running BiCubic Spline interpolation class, BiCubicSplineShort added.

20 December 2009
Methods of internally providing initial estimates in the fitting of data to the distribution functions in the Regression class have been revised.

14 December 2009
Link to a Platform 5 version of flanagan.jar reinstated in addition to the link to the Platform 6 version. Link on http://www.ee.ucl.ac.uk/~mflanaga/java/.

9 November 2009
Complex and PlanarWaveguide revised.

3 − 9 November 2009
Major revisions to BlackBox, OpenLoop and ClosedLoop classes with minor revisions to all control, i.e. Blackbox, subclasses.
Revisions and additions to ComplexMatrix and ComplexPoly classes.
Revisions and additions to Matrix class.

2 November 2009
Major revisions to BlackBox, especially the inverseTransform method.

31 October 2009
Major revisions to PolyCubicSpline, Quad riCubicSpline, TriCubicSpline, BiCubicSpline and CubicSpline.
Root finding method in ComplexPoly corrected (zero roots fault).

24 October 2009
ProbabilityPlot, Stat and Regression classes updated.

17 October 2009
ProbabilityPlot class further extended. Stat class updated to accommodate this extension.

16 October 2009
ProbabilityPlot class significantly extended. Stat class updated to accommodate this extension.

15 October 2009
Error introduced into Regression class on the 13 October 2009 update corrected.
Matrix determinant method updated.

13 October 2009
F-distribution probability plot added to ProbabilityPlot class.
Exponential curve fitting extended in the Regression class.
Stat and PsRandom classes updated.

12 October 2009
Minor tidying changes to PolyCubicSpline and QuadriCubicSpline classes.

6 October 2009
'1 pole, 0 zeros' error in inverseTransform method in BlackBox class corrected.

4 October 2009
Extension of and minor changes to existing methods in TimeAndDate class.

2 and 3 October 2009
British Summer Time checking and feast day date returning methods added to TimeAndDate class.

28 September 2009
TimeAndDate class added. Contains methods for returning time, date and for timing times .

27 September 2009
dateToJavaMilliSecondsUK methods in Conv corrected and updated.

16 June 2009
timesEqual methods in Matrix and ComplexMatrix corrected. [Thanks to Björn Nordström, Ericsonn]

14 June 2009
Incomplete Gamma Function procedures in Stat corrected for a zero input value. [Thanks to Jens D. Nielsen, Universidad de Castilla-La Mancha, Albacete, Spain]

2 February 2009
Copy method added to FileInput.

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

2 December 2008
An incorrect array initialization corrected in the control classes FirstOrder, Compensator, LowPassPassive, HighPassPassive and ZeroOrderHold

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]

4 August 2008
Engset methods in Stat extended.

2 August 2008
Erlang B and Erlang C methods in Stat extended.

31 July 2008
Sucrose and Stat revised.

30 July 2008
Further revision of the viscosity method in Sucrose.

29 July 2008
Inconsistent temperature dependence of sucrose viscosity in Sucrose corrected. [Thanks to Eldad Afik, Weizmann Institute of Science, for pointing this out].

28 July 2008
Failure to constrain in the constrained methods in Maximisation/Maximization and Regression corrected. Error only present jar files downloaded after the 4th July 2008.

27 July 2008
Plot revised. This is the superclass of PlotGraph and is required by PlotPoleZero and Plotter.

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.

12 May 2008
Error checking in the constraint methods improved in Minimisation, Maximisation and Regression classes.
DigiGraph class revised.
Maximisation class revised and alternate spellings, Maximization/Maximisation allowed.
Minimisation class revised and alternate spellings, Minimization/Minimisation allowed.

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).

4 May 2008
Stat code tidied.

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.


29 April 2008
Stat made a subclass of ArrayMaths and ArrayMaths modified to accommodate this change.

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.

19 April 2008
Row and column matrix input added to ComplexMatrix and PhasorMatrix classes.

17 April 2008
A data type conversion and phyiscal unit conversion class Conv class added. Fmath updated to accomodate this new class.
PrintToScreen class added.
getMethod in Phasor class corrected.

7 April 2008
A deep copy method added to TransmissionLine and its subclasses; CoaxialLine, ParallelPlateLine and TwoWireLine.
Some code tyding performed in the classes Stat, Regression and Matrix.

6 April 2008
A deep copy method added to BlackBox and all its subclasses.

4 April 2008
A method returning the number of lines in a text file added to FileInput class. This method is also inherited by the subclass FileChooser and the associated class MultipleFilesChooser.

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].

29 February 2008
flanagan.jar updated to include missed inclusion of 27 February 2008 update of PropInt class.

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.

11 December 2007
IonicRadii class updated.

22 November 2007
Complex and ComplexPoly classes updated. Bad trap in Complex method for raising negative real number to a non-integer real power corrected.

14 September 2007
Error in clearing best estimate standard deviations between regressions corrected in Regression class.

27 July 2007
A poly-cubic spline procedure, PolyCubicSpline class, modified to store inner arrays of second derivatives to make multiple interpolation calls more efficient. Class BiCubicSpline updated to accomodate this modification.
A quadricubic spline procedure, QuadriCubicSpline class, added. Class TriCubicSpline updated to accomodate this addition. Minor updates to BiCubicSpline and CubicSpline also made.

25 July 2007
Option of fixing parameters added to the Gaussian fitting methods in the Regression class.

21/22/23 July 2007
Phasor, BigDecimal, BigInteger, short and byte input/output added to Db, KeyboardInput, FileInput, FileOutput, FileChooser and MultipleFilesChooser.

15 July 2007
Resitivity of metals and alloys added to Impedance.

8 July 2007
Transmission line superclass, TransmissionLine, updated: sign correction in low loss line phase velocity calculation and group velocity methods added.

4 July 2007
A transmission line superclass, TransmissionLine, and three subclasses, CoaxialLine, ParallelPlateLine and TwoWireLine, added.
Phasor class updated.

1 July 2007
A phasor matrix class, PhasorMatrix, added.
Classes Matrix and ComplexMatrix updated to accomodate the new phasor matrix class.

16 - 29 June 2007
Phasor class added.
Classes Impedance, Fmath, Complex, Db, FileInput, FileOutput and KeyboardInput updated to accomodate the new phasor class.

15 June 2007
Trigonometric functions in Complex extended and the inverse haversine method in Fmath corrected.

28 May 2007 - 9 June 2007
Impedance Spectroscopy Regression class, ImpedSpecRegression.html added.
Minor changes have been made to the Regression, the ImpedSpecSimulation, the Fmath and the ComplexErrorProp classes to facilitate the implementation of the Impedance Spectroscopy Regression class.
Minor changes have been made to the PolyCubicSpline class.

25 May 2007
Impedance Spectroscopy Simulation classes, ImpedSpecSimulation.html and Impedance.html, added.

2 May 2007
Integration class updated.

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.

20 September 2006
FileChooser updated.

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).

16 July 2006
Integration revised and updated.

29 April 2006
PrismCoupler and PlanarWaveguide updated.

28 April 2006
GratingCoupler added to the optics section.

26 April 2006
Reflectivity class updated.

20 April 2006
The getSubMatix methods in Matrix and ComplexMatrix have been corrected. Thanks to Joachim Wesner for pointing out the mistake.
PrismCoupler and PlanarWaveguide added to the optics section.

10 April 2006
Major update to RealRoot

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.

28 February 2006
RefrIndex class replaced by RefractiveIndex class.
RefrIndex retained for backward compatibility.

18 February 2006
Correlation method in FourierTransform corrected
Thanks to Daniel Mader, Universt?t Freiburg -- IMTEK, for this correction.
Minimisation class updated

17 February 2006
CubicSpline, BiCubicSpline, TriCubicSpline and PolyCubicSpline all updated

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.

2 January 2006
Error in addConstraint method in Minimisation, Maximisation and Regression corrected.

30 December 2005
Donnan Equilibrium class added.

29 December 2005
Maximisation procedure class added
Multiple parameter constraint method added to the Constrained Minimisation, the Constrained Maximisation and the Constrained Non-linear Regression

17 December 2005
truncate method in the class Fmath corrected and revised

30 November 2005
MultipleFilesChooser class added - select and read from multiple files.
FileNameSelector class updated.

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

20 July 2005
Plot class updated. This class is required by the PlotGraph and PlotPoleZero classes and the Plotter application

18 June 2005
coefficient of variation method added to class Stat
Recast type of arrays added to class Fmath
Method to obtain absolute values of arrays added to class Fmath

13 June 2005
Geometric, harmonic, generalised and interquartile means and root mean square added to class Stat
Multiple option dialog box added to i/o class Db

12 June 2005
FileChooser updated to include all the FileInput read methods

9 June 2005
Multiple constraint problem in Minimisation corrected
Thanks to Stefan Wagner, Technische Universitaet Muenchen, for pointing out the error.

5 June 2005
Comparison of primitive data method, compare, [checks whether ab or a== b] added to Fmath.
equals method added to Complex and ComplexPoly (same as existing isEqual method)

22 May 2005
IonicRadii added.

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

26 February 2005
GouyChapmanStern updated.

19 January 2005
Method overriding java.lang.object.clone() added to:
Complex.java
Matrix.java
ErrorProp.java
ComplexErrorProp.java
ComplexMatrix.java
ComplexPoly.java

1 - 6 December 2004
Donnan, DonnanMinim and DonnanConcn classes updated.

18 November 2004
Fmath class - truncate method corrected

17 November 2004
Regression class - now calls corrected PlotGraph
PlotGraph class - incorrect call to setErrorBars method corrected
Plot class - incorrect call to ErrorProp class corrected

7 May 2004
Sucrose class updated.

6 May 2004
Water class updated.

5 May 2004
Saline class updated.

2 May 2004
Pva class updated.



Main Page of Michael Thomas Flanagan's Java Library



This page was prepared by Dr Michael Thomas Flanagan