Algol 60

Libraries and numeric packages

"Two algorithms for minimizing a sum of squares are described and compared. The first one is the well-known Gauss-Newton algorithm. The second oen is based on the algorithm given by Marquardt." Appendix lists ALGOL 60 source.

file: README for NUMAL.tar
date: 100605
by : Jan Kok
=========================
Contents of NUMAL.tar
---------------------
The set of plaintext ASCII files
numalinx.txtnewnumal5p1.txtnewnumal5p2.txtnewnumal5p3.txt
together contains an update of the index and manual of
the library NUMAL of Algol 60 procedures in numerical mathematics
as published in the Mathematical Centre publication:
P.W. Hemker (ed.)[1981]:
NUMAL. Numerical Procedures in ALGOL 60. 7 volumes.
MC Syllabus 47, Mathematical Centre, Amsterdam.
Availability of the book version in the CWI publications repository:
the repository description of the NUMAL index has URL
http://repository.cwi.nl/noauth/search/fullrecord.php?publnr=12897
It contains links to the other volumes and to the PDF files with
scanned images of the 7 volumes.
This update differs from the book version in the following respects:
1. The sources (of procedures and examples) have been adapted to a newer
version of the compiler (Algol 60 version 5) and runtime system
then available on Control Data mainframes.
2. The file numalinx.txt only contains a new, trimmed introduction and
the systematic index. The original introduction also describing the
history of the NUMAL development, and the KWIC index are available
in the printed version, volume 1.
3. Errors have been corrected.
4. First-column symbols of all lines are printer control characters.
See the introduction of the Index (file numalinx.txt) for details.
Availability
------------
The Stichting Centrum Wiskunde & Informatica (Stichting CWI)
(legal successor of Stichting Mathematisch Centrum) at Amsterdam
has granted permission to Paul McJones to attach the integral
NUMAL library manual to his software preservation project web page.
( URL: http://www.softwarepreservation.org/projects/ALGOL/applications/ )
It may be freely used. It may be copied provided that the name NUMAL and
the attribution to the Stichting CWI are retained.
Address of the legal owner
--------------------------
Full info at URL: http://www.cwi.nl/en/general/Address
=========================

"This paper is meant to be a user manual for an ALGOL 60 software package. This package contains procedures for solving systems of nonlinear equations using Newton-like methods. The functions involved in these equations are assumed to be differentiable. The software package is based on the NUMAL software library." Appendix lists ALGOL 60 source

"This report contains a computer implementation
of the method of Urabe written in the programming language ALGOL 68.
To illustrate the use of the program it is applied to the van der Pol equation
and a Volterra-Lotka system."

"In this report a proposal for a set of numerical operators in ALGOL 68 is described. These operators enable ALGOL 68 users to program standard numerical computations in an easy but still flexible way (i.e. in a way resembling the usual mathematical notation).

The system of operators serves the same purpose as a numerical library in e.g. FORTRAN or ALGOL 60. Computations in numerical algebra, elementary numerical analysis (quadrature, root-finding) and initial value problems for ODEs are considered. In addition a flexible error message system is provided."

"The original versions of the Library are available In Algol 60 and in FORTRAN. In 1973 it was decided to proceed with an Algol 68 version, and this version has also been produced as a co-operative effort between a number of University and Research centres both in this country and in the Netherlands."

"At its meeting in Jablonna, Poland, in August 1978, IFIP WG2.1 authorized the release of the following statement.

The library package TORRIX comprising definitions for handling vectors and matrices in ALGOL 68, as published in the Mathematical Centre Tracts series, has been scrutinized to ensure that:
a) It strictly conforms to the definition of ALGOL 68.
b) It is consistent with the philosophy and orthogonal framework of that language.
c) It addresses a significant application area in a comprehensive and appropriate manner.

In releasing this statement the intention is to encourage the incorporation of this library package in library preludes of ALGOL 68 implementations."

"Van der Meulen explained how abstract data types in the Torrix system
permit software to be written only once and yet applied in a wide
variety of algebraic systems. He also commented on its implementation
in Algol 68.

Discussion

Curtis: I wonder about the execution efficiency of your system. In
general this demands that the actual operations are implemented
directly in corresponding machine code when it is available.

Van der Meulen: Future hardware is likely to permit execution of
micro-code without loss of efficiency.

Wichmann: On present computers
you must use procedure calls or put the operations in line thereby
losing the separate compilation facility.

Wichmann: How do you handle
constants, e.g. 10.1?

Van der Meulen; Yes, there are difficulties here. One solution is to
require all constants to be input as literals."

Analyzes two new storages schemes for TORRIX to handle sparse matrices: (i) "store the rows of the matrix separately such that all zero elements at both ends of each row will not be stored"; (ii) "the tree storage scheme: partition the matrix recursively into blocks and subblocks and do not store the blocks obtained by this partition which have no none-zero element at all."

"A tool for the systematic production of test cases for a
compiler is first presented. The input of the generator are formal grammars, derived from the definition of the reference language. This tool has been applied to the generation of test programs for Algol 68. For each construction which the language possesses, the syntactic structure of the corresponding test and the semantic verifications it contains are given. The test set has begun to be employed on a specific implementation. Discovered errors related to Algol 68 constructions are analysed."