The documentation appeared in 1974 in a loose leaf manual. It was revised and updated in 1975, 1977 and 1979. In this period the library grew to a collection of about 430 routines in all different fields of numerical mathematics. Although no attempts have been made to create a collection that gives a complete overview of all numerical procedures available, most areas of numerical mathematics are covered and most programs for which a need was felt have been implemented.
The aim of NUMAL was to provide Algol 60 programmers with a high level numerical library which contains a set of validated numerical procedures together with supporting documentation.
The library has been constructed in a modular way: Most routines refer to and rely on other routines that perform a well-defined sub-task. the more experienced user can avail himself of these more elementary routines in the same way as the authors of the library do. The novice, it is better to use the more comprehensive procedures which perform complete mathematical computations.
In 1976 and 1977 the Numerical Mathematics department organized a seminar on numerical software. In this seminar the use of some Algol procedures in the NUMAL library was explained in detail and their algorithmic background was clarified. Also, the numerical libraries IMSL (Fortran), NAG (Algol 60 and Fortran) and NUMAL (Algol 60) were compared. The proceedings of this seminar appeared (in Dutch) in the MC-syllabus series of the Mathematical Centre as:
COLLOQUIUM NUMERIEKE PROGRAMMATUUR, DEEL 1 J.C.P.BUS ED., MCS 29.1, MATHEMATISCH CENTRUM, AMSTERDAM,1976,and
COLLOQUIUM NUMERIEKE PROGRAMMATUUR, DEEL 2 H.J.J.TE RIELE ED., MCS 29.2, MATHEMATISCH CENTRUM, AMSTERDAM,1977.
Input and output routines, not being defined in standard Algol 60, have not been used in the library source texts. They only appear in the documentation where examples of use of the library routines are given.
Since double precision is also not defined in Algol 60, a small number of double precision arithmetic routines could not be coded in Algol 60 and, hence, a few (8) double precision modules were coded in assembly language.
Except for this small number of double precision arithmetic routines all the source texts are written in Algol 60 and, hence, they are in principle independent of the computer/compiler used.
In its practical implementation on the CDC-Cyber system most elementary routines in the modular structure of the library (i.e. the matrix and vector operations) were re-coded by hand in assembly language. This has accelerated the operation of most linear algebra routines by a factor 2.5. Thus, one of the major disadvantages of the use of Algol 60, the relatively long execution times (which first were approximately 4 times longer than for an equivalent Fortran program) was circumvented to a large extent. This refinement was possible because of the consistent application of the modularity principle.
P.NAUR (ED.) REVISED REPORT ON THE ALGORITHMIC LANGUAGE ALGOL 60 A/S REGNECENTRALEN, COPENHAGEN, 1964. P.W.HEMKER CRITERIA FOR TRANSPORTABLE ALGOL LIBRARIES. IN: PORTABILITY OF NUMERICAL SOFTWARE (W.COWELL ED.) LECTURE NOTES IN COMP.SC. 57,SPRINGER VERLAG, 1977.
In order to find a particular procedure, there is a systematic index in which all procedures (their names and their code numbers) are recorded and classified by their section number (i.e. by subject).
For cross referencing there is an index by code number, which has references to procedure name and section number, and there is also a KWIC index in which keywords and procedure names have been ordered alphabetically.
J.J.G. ADMIRAAL M. BAKKER J.KOOPMAN P.A. BEENTJES G.J. LAAN J.C.P. BUS C.G. VAN DER LAAN C.H. CONVENT R. MONTIJN T.M.T. COOLEN R. PLOEGER J. DANIEL T.H.P. REYMER K. DEKKER H.J.J. TE RIELE TH.J. DEKKER C.J. ROOTHART B. VAN DOMSELAAR H.G.J. ROZENHART H. FIOLET E. SLAGT H.N. GLORIE N.M. TEMME P.J. HARINGHUIZEN J.G. VERWER P.W. HEMKER M. VOORINTHOLT W. HOFFMANN D.T. WINTER P.J. VAN DER HOUWEN J. WOLLESWINKEL S.P.N. VAN KAMPEN A.C. IJSSELSTEIN J. KOK J.A. ZONNEVELD
Further we want to acknowledge the members of the drafting comittee: C. den Heyer, P.J. van der Houwen, J. Kok, N.M. Temme and D.T. Winter, and the external advisors: Th. J. Dekker, W. Hoffmann (University of Amsterdam) and C.G. van der Laan (University of Groningen).
P.W. HEMKER
GENERAL EDITOR