West Coast
Grand Hotel
Seattle,
Washington
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