next up previous
Next: Project Summaries Up: Technical Highlights Previous: Computational Geometry and

Mathematical Software

Mathematical software focuses on the implementation of state-of-the-art mathematical algorithms in carefully engineered computer software. Research in this field combines development and analysis of algorithms for particular mathematical problems with the application and advancement of methodologies in computer architecture, languages, software design, user interfaces, documentation, testing, performance evaluation, and distribution.

The construction and distribution of reusable mathematical software is an important means of transferring mathematical expertise to users on a very large scale. Work on software development at NIST assures that capabilities necessary for the success of NIST programs find their way into reusable software components, and their widespread distribution benefits the scientific and engineering community at large. The expertise necessary to develop such software is made directly available to NIST staff via consulting and collaborations. Finally, work in cross-package and cross-repository indexing methodology and the provision of related network-based information services is a community development effort well suited for an organization like NIST.

A wealth of reusable software is currently available to scientists and engineers for solving recurring mathematical and statistical problems. As complex high performance computers become more widely available, it becomes even more important that high-quality software be reused. Ronald Boisvert and co-workers have developed the Guide to Available Mathematical Software (GAMS) to help scientists and engineers locate and use such software. The GAMS system, which is both a cross-index and a virtual repository for mathematical software, is available on the World Wide Web (WWW).

Ronald Boisvert, Editor-in-Chief of ACM Transactions on Mathematical Software, has developed an experimental World Wide Web service for the journal. Users can search the tables of contents of all issues, including hypertext links to Remarks, Corrigenda, and corresponding ACM Algorithms. These pages are now being used as a model for WWW pages for other ACM journals.

Special functions have long played a central role in mathematics. An important early contribution was the NBS Handbook on Mathematical Functions, AMS 55, published in 1964 and still in print. Daniel Lozier has surveyed fifteen software libraries and interactive systems for their coverage of special functions. He is preparing a a report in hypertext format, with an extensive bibliography, for presentation on the World Wide Web.

The cost of large-scale software development and maintenance, particularly for scientific computing on high-performance and parallel architectures, has been steadily increasing. Performance tuning of numerical programs is becoming more complex, efficiency on these high-cost computers is essential, and users are demanding broader portability across constantly changing architectures. Roldan Pozo, in collaboration with Jack Dongarra of Oak Ridge National Laboratory, Karin Remington of SCED, and Andrew Lumsdaine of the University of Notre Dame, is developing object-oriented resusable software components for linear algebra. Current releases of the following were recently made available on the World Wide Web: IML++ for iterative solutions of large linear systems; SparseLib++ for sparse matrix computations; LAPACK++ for dense and banded linear systems and eigenvalue problems; and MV++ for fundamental matrix and vector operations.

Floating-point computer arithmetic was introduced in the 1950s and culminated in the 1985 IEEE Standard for Binary Floating-Point Arithmetic. Recent interest in computer arithmetic has therefore shifted to alternative methods, particularly methods that do not fail at extreme values of the exponent. Daniel Lozier, in collaboration with Michael Anuta of Cray Research and Peter Turner of the U.S. Naval Academy, is developing a software facility for realistic demonstration and testing of alternative computer arithmetics. It is being implemented on a SIMD parallel computer with 4096 processors, the Naval Academy's Maspar MP-1. A three-way CRADA to support this work is nearing completion.



next up previous
Next: Project Summaries Up: Technical Highlights Previous: Computational Geometry and