Bo Einarsson IFIP/WG 2.5 (Söderköping-4) 1004 28 July 1983 REPORT on the activities of Working Group 2.5 ("Numerical Software") of the International Federation for Information Processing (IFIP). IFIP The International Federation for Information Processing (IFIP) is a multinational federation of professional and technical organizations (or groups of such) concerned with information processing, and now has 42 members. The aims of IFIP are: - to promote Information Science and Technology; - to advance international co-operation in the field of Information Processing; - to stimulate research, development and application of Information Processing in science and human activity; - to further the dissemination and exchange of information on Information Processing; - to encourage education in Information Processing. A major event in the IFIP programme of activities is its Congress, held every three years. The technical work is done through Technical Committees and Working Groups. Each Technical Committee is composed of representatives of the IFIP member organizations (one per organization), whereas Working Groups, under the supervision of a Technical Committee, consist of specialists in the field who are appointed as individuals independent of nationality. The following technical committees are currently in operation: TC 2 PROGRAMMING TC 3 EDUCATION TC 5 COMPUTER APPLICATIONS IN TECHNOLOGY TC 6 DATA COMMUNICATION TC 7 SYSTEM MODELLING AND OPTIMIZATION TC 8 INFORMATION SYSTEMS TC 9 RELATIONSHIP BETWEEN COMPUTERS AND SOCIETY TC 10 DIGITAL SYSTEMS DESIGN IFIP also sponsors a Special Interest Group, namely IMIA = The International Medical Informatics Association of IFIP. The technical committee on programming has the following seven working groups: WG 2.1 ALGOL WG 2.2 FORMAL DESCRIPTION OF PROGRAMMING CONCEPTS WG 2.3 PROGRAMMING METHODOLOGY WG 2.4 SYSTEM IMPLEMENTATION LANGUAGES WG 2.5 NUMERICAL SOFTWARE WG 2.6 DATA BASES WG 2.7 OPERATING SYSTEM INTERFACES Further information about IFIP and its activities may be obtained from the IFIP Secretariat, 3 rue du Marche, CH-1204 Geneva, Switzerland. WG 2.5 In 1974 IFIP established the Working Group on "Numerical Software" under the auspices of its Technical Committee on "Programming". The group started with 13 members and has since grown to a membership of 22; a directory may be found at the end of this report. According to IFIP policy, members do not represent their countries, national societies, or the like. The group's first chairmen were James C. T. Pool (1974-1978) and Bo Einarsson (1978-1983), the present chairman is John K. Reid. The group was suggested in connection with the IFIP Congress 71 in Ljubljana at a meeting on "Subroutine Libraries Being Developed" organized by SIGNUM. The establishment of an IFIP Working Group on Numerical Program Libraries was discussed with IFIP officials, and it was decided that the new Working group could belong to IFIP TC 2 (Technical Committee on Programming). It was considered at a few TC 2 meetings and an Organizing Committee was appointed in 1973. A public discussion about the proposed group was arranged on May 29, 1974, at the conference Mathematical Software II at Purdue University, Lafayette, Indiana. The general opinion at this discussion was in favour of the proposal. Though formulated at the outset in 1974, the statement of the aim and the scope of WG 2.5 has proved to be a valid guideline for its work: The aim of Working Group 2.5 is to improve the quality of numerical computation by promoting the development and availability of sound numerical software. Objectives within the scope of the Working Group 2.5 are: To agree from a numerical standpoint on a set of hardware and software features for a computing system. To assist the development and improvement of programming languages for numerical computation. To develop guidelines for documentation, testing, distribution and maintenance of numerical program libraries. To facilitate the exchange of information concerning numerical software and to determine the needs of computer users. To promote software development by seeking appropriate recognition for the contributions of individuals and groups. To provide a forum for those professionally involved with numerical software. The following mode of work has been established within WG 2.5: (i) Working group meetings: The group meets roughly once a year (9 meetings so far). At these meetings, areas of activity and the proper means of achieving results are defined. Reports on current or completed activities are given and discussed. The Working Group has met in Oxford, England (January 1975), Oak Brook, Illinois (June 1976), Amsterdam, Holland (May 1977), Toronto, Ontario (May 1978), Baden, Austria (December 1978), Novosibirsk, Soviet Union (September 1979), Harwell, England (May 1980), Boulder, Colorado (August 1981), and Madison, New Jersey (July 1982). The next meeting is scheduled for Söderköping, Sweden (August 1983), with preliminary plans for meetings in Pasadena, California (June 1984) and in Sophia-Antipolis, France (June 1985). (ii) Projects: Most activities take the form of projects. One or several members of the group assume the responsibility to pursue a given subject matter in collaboration with other scientists in the field. Results of projects are either published through standard channels or, in special cases, may take the form of an IFIP-document. (iii) Working Conferences: This is a standard means of IFIP-activity: 50-70 experts meet to discuss and advance a narrow technical subject area. The proceedings of a working conference appear as a book. The following subject areas have so far received attention in the work of WG 2.5: TRANSPORTABILITY OF NUMERICAL SOFTWARE When code is moved from one computer to another it is likely that allowance has to be made for differing representations of reals (i.e. differing radices, mantissa lengths, underflow and overflow thresholds), different integer ranges, different conventions for standard input- output units, etc. A project dealt with the description of the computational environment through parameters for use inside numerical software. It resulted in an official IFIP document "Parametrization of the Environment for Transportable Software", edited by Brian Ford, which was simultaneously published in ACM Transactions on Mathematical Software, Vol. 4, pp. 100-103; SIGNUM Newsletter, Vol. 13 (No. 2), pp. 20-23; SIGPLAN Notices, Vol. 13 (No. 7), pp. 27-30; IMA Bulletin, Vol. 14, pp. 179-182; Algol Bulletin No. 42, pp. 7-10; Computer Physics Communications, Vol. 15, pp. 1-3; and other journals (all in 1978). This document should provide a first step towards the standardization of names and meanings of such parameters. Another project was a suggested standard for intrinsic functions permitting access from a program to the floating point number representation in the host computer; the existence of such an access is a prerequisite for transportable numerical software (see the report CSS 76 in the next section). The concepts of the working group have been extended in the proposals adopted by the X3J3 Fortran committee for the next revision of standard Fortran. A tutorial on software transportability is being prepared by a subcommittee chaired by Brian Ford. A subcommittee chaired by Ed Battiste is looking on transportability of software for microcomputers. Furthermore, WG 2.5 assisted in the arrangement of the Workshop on Portability of Numerical Software, held at Oak Brook, Illinois, USA, 21-23 June 1976. The proceedings of this working conference have been edited by W. Cowell, they have appeared as Vol. 57 of Springer-Verlag Lecture Notes in Computer Science (1977). LANGUAGES FOR NUMERICAL SOFTWARE Since Fortran is the main language for numerical software, WG 2.5 has paid close attention to the evolving of Fortran 77. Three definite proposals were elaborated (intrinsic functions, complex double precision, MAP statement) and submitted to the Fortran Standards Committee X3J3; but they came too late to be seriously considered. The three original proposals were summarized in the SIGNUM Newsletter, Vol. 12 (1977, No. 1), pp. 18-20. We are hopeful that our revised suggestions for double complex and intrinsic functions may nevertheless see widespread use, they are available as "Functions for manipulating floating-point numbers" by J. K. Reid, Report CSS 76 from the Computer Science and Systems Division, AERE Harwell (June 1979), published in the SIGNUM News- letter, Vol. 14 (1979, No. 4), pp. 11-13 (this version has some serious typing errors), and the SIGPLAN Notices, Vol. 15 (1980, No. 6), pp. 68-76; and "Complex double precision in association with Fortran 77" by J. K. Reid, SIGNUM Newsletter, Vol. 15 (1980, No. 1), pp. 16-17; IMA Bulletin, Vol. 16 (1980), pp. 222-223. After the completion of the Fortran 77 standard, major changes have occured in the membership of the committee X3J3. The scientific community has received much better representation; two members of WG 2.5 are now members also of X3J3. Brian Smith has worked extensively on "general precision" and the proposals now adopted include the ideas of the previous section. John Reid has joined recently and is participating in the array subgroup. Thus more recognition of the needs of numerical mathematics is expected in the future development of Fortran. The group supports making changes to the array facilities and adding user-defined operators. The development of the new language Ada (under the auspices of the U.S. Department of Defense) has been closely watched. Two papers on mixed language programming have been submitted for publication. Work on precision control and on arithmetic and exception handling are in progress. A working conference on "The relationship between numerical computation and programming languages" was organized by WG 2.5 on the 3-7 August 1981 in Boulder, Colorado, USA. The primary aim of the conference was to present a clear picture of the activities, interests and problems associated with numerical software, to identify language characteristics important for this work, to consider the extent to which existing languages meet these needs and hopefully to influence new developments. It was attended by 63 participants from 10 countries. The proceedings of this conference has been published in 1982 by North-Holland with John Reid as editor. PROGRAMMING ENVIRONMENT FOR THE DEVELOPMENT OF NUMERICAL SOFTWARE The development of good numerical software is strongly aided by the availability of suitable programming tools, like preprocessors, transformers, etc. At several conferences this subject matter has been reviewed and advanced, with active contributions by WG 2.5 members: Conference on the Programming Environment for Development of Numerical Software, Pasadena, California, USA, 18-20 October 1978. Proceedings available in the SIGNUM Newsletter, Vol. 14 (1979, No. 1), pp. 28-117. Numerical Software 79, Liverpool, England, 9-11 April 1979. The proceedings edited by M. A. Hennel and L. M. Delves are available from Academic Press as "Production and Assessment of Numerical Software", London 1980. Conference on the Computing Environment for Mathematical Software, Pasadena, California, USA, 29-31 July 1981. The proceedings are available as JPL Publication 81-67 and in the SIGNUM Newsletter, Special Issue, October 1981. International Seminar on Problems and Methodologies in Mathematical Software Production, Sorrento, Italy, 3-8 November 1980. Proceedings edited by P. C. Messina and A. Murli available as Vol. 142 of Springer- Verlag Lecture Notes in Computer Science (1982). International Conference on Tools, Methods and Languages for Scientific and Engineering Computation, Paris, France, 17-19 May 1983. Organized by INRIA and SIGNUM, proceedings to appear. Several group members are active in the NSF supported TOOLPACK project to produce a systematized collection of software tools to facilitate the development and maintenance of Fortran programs. Work on the specification of software for elementary functions is in progress. HARDWARE REQUIREMENTS FOR NUMERICAL SOFTWARE WG 2.5 has felt from its beginning that it should establish a platform for the requests of the numerical community concerning hardware features (essentially arithmetic) of computing systems. Some of the basic ideas of the group on this subject are reflected in the article by W. S. Brown, "A realistic model of floating-point computation", in Mathematical Software III, ed. J. R. Rice, Academic Press, New York 1977, pp. 343-360. See also W. S. Brown and S. I. Feldman, "Environment Parameters and Basic Functions for Floating- Point Computation", ACM Transactions on Mathematical Software, Vol. 6 (1980), pp. 510-523. Two other documents have been prepared: "Desirable floating-point arithmetic and elementary functions for numerical computation" by T. E. Hull, SIGNUM Newsletter, Vol. 14 (1979, No. 1), pp. 96-99. "Principles and preferences for computer arithmetic" by Ch. Reinsch, SIGNUM Newsletter, Vol. 14 (1979, No. 1), pp. 12-27. WG 2.5 has also given advice and support to the IEEE Microprocessor Standards Committee, which has prepared a proposed standard for binary floating-point arithmetic, see Computer (IEEE), Vol. 14, No. 3, (March 1981), pp. 51-87. Our group organized a panel discussion on this project at IFIP Congress 80. At the request of the group, IFIP has officially supported the proposed standard. The standard is now close to adoption (Draft 10 of 2 December 1982). Work is now in progress on a radix- independent standard for floating-point arithmetic, through an IEEE group chaired by WG 2.5 member Jim Cody. EVALUATION OF NUMERICAL SOFTWARE A working conference on "Performance Evaluation of Numerical Software" was organized by WG 2.5 at Baden, Austria, 11-15 December 1978. It was attended by 73 participants from 15 countries. Particular attention was given to the areas of linear algebra, ordinary differential equations and optimization, but about half the time was spent on general aspects including a session on reliability and warranty which stressed legal aspects. The proceedings of this conference, edited by L. D. Fosdick, has appeared in the IFIP series of North-Holland, Amsterdam 1979. Work on testing methodology is in progress. NUMERICAL SOFTWARE FOR SPECIAL AREAS A Working Conference "PDE Software: Modules, Interfaces and Systems" will be held in Söderköping, Sweden, 22-26 August 1983, with John R. Rice as conference chairman. This conference will focus on the importance of developing PDE (Partial Differential Equations) software as a system in a modular fashion with careful attention to the interfaces involved. The consequences of this viewpoint will be explored, including topics like specialized languages, natural interfaces, classification of modules, necessity of special techniques, generality, mixing of different methods in one program, portability versus efficiency. There will be sessions on Problem Description, Finite Element Systems, Elliptic and Parabolic Problems, Hyperbolic and Mixed Problems, Algebraic Computation, Parallel Computation, Software Evaluation, and an open session. The proceedings, edited by Björn Engquist, will be published by North-Holland. The need for a closer collaboration between the designers of numerical software and statistical software has been recognized and action has been initiated. A new Working Conference on "Problem Solving Environments for Scientific Computing" is being planned for 17 - 21 June 1985 in Sophia- Antipolis, France. Although the general-purpose scientific languages form the basis of general purpose scientific computation, there is a need for more specialized languages and computing environments. These can free the user from the necessity to learn a sophisticated programming language, and they can address the problem area directly using its own vocabulary. The tentative list of topics include self contained versus knowledge- based systems, user interfaces, data flow and structures, parsing the user dialogue, algorithm selection, interpretation of results, hardware support. BIBLIOGRAPHIES AND DOCUMENTATION A "Bibliography on Numerical Software" has been prepared by Bo Einarsson and appeared as Memorandum No. UCB/ERL M77/19 in 1977 from the Electronics Research Laboratory, University of California, Berkeley. It is available as R77-231 from the IEEE Repository and as AD-AO38827/2GA from NTIS. A revised version of chapter 16 of that report has appeared in the Journal of Computational and Applied Mathematics, Vol. 5, (1979), pp. 145-159, as "Bibliography on the Evaluation of Numerical Software". EXCHANGE OF INFORMATION Bo Einarsson has recently started an experimental conference on Software Exchange using the COM computer conferencing system, provided by the Stockholm University Computing Centre (QZ) and available worldwide (at least in 18 countries on 5 continents). The purpose of this experimental conference is to discuss among a small group of program librarians, and other interested, the possibility of organizing a system of specialized software conferences, and to assist in the possible organization of such a system. Examples of possible subconference topics include Programming Languages, Different Areas of Numerical Analysis and Statistics, Software Tools, Graphics, Computer Aided Instruction, Operating Systems, Personal Computer Systems, Software for Supercomputers, Commercial Libraries, and various other areas. SIGNIFICANT ACHIEVEMENTS - Parameterization of the environment for transportable numerical software. - Functions for manipulating floating-point numbers. - Complex double precision in association with Fortran 77. - Principles and preferences for computer arithmetic. - Bibliography on the evaluation of numerical software. - Working Conference on Performance evaluation of numerical software. - Working Conference on the Relationship between numerical computation and programming languages. - Working Conference on PDE Software: Modules, Interfaces and Systems. MEMBERSHIP Edward L. Battiste, Raleigh, NC, USA Achi Brandt, Rehovot, Israel Richard P. Brent, Canberra, Australia Francoise Chatelin, Grenoble, France (secretary) William J. Cody, Argonne, IL, USA Th. J. Dekker, Amsterdam, Netherlands Bo Einarsson, Linköping, Sweden (chairman 1978-1983) Brian Ford, Oxford, England (secretary 1974-1978) W. Morven Gentleman, Ottawa, Canada Huang Hong-ci, Beijing, People's Republic of China Thos. E. Hull, Toronto, Canada Ulrich Kulisch, Karlsruhe, Federal Republic of Germany Charles L. Lawson, Pasadena, CA, USA Marek Machura, Otwock-Swierk, Poland John K. Reid, Harwell, England (chairman) John R. Rice, West Lafayette, IN, USA (vice chairman) Martin H. Schultz, New Haven, CT, USA Brian T. Smith, Argonne, IL, USA Hans J. Stetter, Vienna, Austria Mladen A. Vouk, Zagreb, Yugoslavia Margaret H. Wright, Stanford, CA, USA N. N. Yanenko, Novosibirsk, USSR