West Coast Grand Hotel
November 3, 2002
An open meeting of the Java Numerics Working Group of the Java Grande Forum took place at the ACM Java Grande/ISCOPE Conference held in November in Seattle. This represents the minutes of this meeting.
Joe Darcy provided an update of work going on at Sun of interest to the Working Group. The following points were covered.
Joe Darcy has proposed the inclusion of additional methods in java.lang.Math with the goal of making this library on par with the C math library (libm). The following functions have been proposed.
§ Inverse hyperbolic functions
§ IEEE 754 recommended functions
§ Fused multiply-add
The Numerics Working Group endorsed this work, registering their support on the Java Developer’s Connection web site. Methods with the same name will also be included in java.lang.StrictMath. These will be based on existing implementations from Sun’s fdlibm.
An ad-hoc subcommittee will be formed to consider the addition of additional functions in the Java math library. One example is the reciprocal square root, which can be computed very quickly on some processors.
Jose Moreira provided an update on the progress of Java Specification Request (JSR) 83 on multiarrays. A multiarray is a rectangular multidimensional array whose shape and extents are fixed. Such arrays admit compiler optimizations that Java arrays of arrays do not. The current plan is to develop a package of standard classes to provide multiarrays. Support for 0 dimensional arrays (scalars) through 7 dimensional arrays are planned. Multiarrays will be composable from all Java primitive types. The expert group has developed a proposed class hierarchy for multiarrays. A complete specification is expected in a few months. The expert group will provide the implementation of the class, and the University of Manchester will develop conformance tests.
Although not planned as part of JSR-083, a preprocessor illustrating a proposed syntax for multiarrays in Java will also be developed. The preprocessor will map the new syntax into method calls to the multiarray package. This may provide the basis for a future JSR to add multiarray syntax to the Java language itself.
John Brophy reported on the recently released JMSL library from Visual Numerics, Inc. JMSL contains classes for mathematics, statistics, financial computations, and charting. The math class contains methods for linear algebra, interpolation, approximation, quadrature, ordinary differential equations, transforms, nonlinear equations, optimization, and special functions. The statistics class contains methods for basic statistics, nonparametric tests, regression, ANOVA, time series, goodness of fit tests, distribution functions, and random number generation. While not as comprehensive as the IMSL Fortran and C libraries, JMSL does provide a greater coverage of mathematics and statistics than other math packages for Java. The web page for the library is http://www.vni.com/jmsl/.
Members of the working group re-affirmed their interest in having the following features in Java.
Locating champions to carry out the technical work of the group remains an issue.
Attendees agreed that the work of the Working Group remained valuable and should continue. It was suggested that more frequent meetings of the working group (e.g., at six month intervals) would be beneficial. A focused Java Grande workshop on Java numerics issues is planned for 2003.
Ron Boisvert, NIST
John Brophy, Visual Numerics
Bryan Carpenter, Indiana University
Joe Darcy, Sun
Han-Ku Lee, Indiana University
Sang Lim, Indiana University
Mark Little, SAS Institute
Mikel Lujan, University of Manchester
Jose Moreira, IBM Research
Roldan Pozo, NIST
Keith Seymour, University of Tennessee
Jaime Spacco, University of Maryland