Due to the recent CVS outage, I have decided it is time to move to Mercurial.
Improvements to handle large sparse matrices.
Important update that fixed a thread-safety bug in SpecialMath.
The main change in this release is that the matrix and vector classes have
been moved to seperate sub-packages. The package names of these classes
have therefore changed, and so your existing code may break as a result.
Added bisection and Newton-Raphson methods to NumericalMath.
Several minor improvements to the graphing classes.
Added a histogram graph.
New JSci.instruments package (particle tracking, etc).... read more
This latest release should fix any outstanding scaling bugs in the graph classes. I have also slightly refactored the graphs to introduce a drawData() method. Custom graphs that want to change how data is plotted should override this method.
The most major change in this release is the refactoring of the matrix classes. I have split the old matrix classes into interfaces (abstract classes) and implementations. The matrix API now matches the vector API. This brings two key benefits: (1) it is much easier to create custom matrix implementations with the minimum of effort, (2) it is easier to optimize the existing implementations.
Some of the new changes may break existing code, but should be easy to fix. Changes are as follows:
- JUnit test classes moved into the JSci.tests package.
- MathML DOM almost fully implemented.
- LineTrace graph component has improved behaviour.
- Some examples made to run on J2ME Personal Profile devices.
- Improvements to the physics/mechanics framework.
- LinearMath.leastSquaresFit now returns a RealPolynomial object rather than an array.
- Major improvements to MathVector framework. There are now AbstractDoubleVector, AbstractIntegerVector and AbstractComplexVector
classes which are now the preferred way to work with vectors. Subclasses provide implementations. Thus, one should use
AbstractDoubleVector vec = new DoubleVector(array);
just like with collections one does
Set s = new HashSet();
Also, a set of 2D vector implementations is now provided, and it is now possible to autogenerate vector code for any fixed dimension. For
instance, a Double4Vector would outperform DoubleVector if you did alot of
calculations in 4D.
- Updates to docs, particularly wavelet docs.
- Couple of bug-fixes.
- added QR decomposition.
- added log axes for line graphs.
- revamped JSci.awt.DataSeries class, now moved to a nested class and supports JTableModel (see new GraphDemo).
- bug fixes.
- improvements and some API changes to the graph classes. Added support for incremental/dynamic updates. May break some sources, on the whole most previous sources should compile.
- added new side-by-side BarGraph/JBarGraph, renamed existing one to LayeredBarGraph
- added printing support to graphs
- Version information is now stored in a ResourceBundle.
- New nested interface design for JSci.maths.Member interfaces (old interfaces have been removed to prevent conflicts).
- New improved dihedral and cyclic group classes.
- DiscreteSet class replaced by FiniteSet (bridges with java.util.Set).
- ArrayMath.percentile bug fix