Page 13 - Compact Numerical Methods For Computers
P. 13

A starting point                        3
                       possibly under-utilised small computer, this work is directed to those who share
                       my philosophy that human beings are better able to comprehend and deal with
                       small programs and systems than large ones. That is to say, it is anticipated that
                       the costs involved in implementing, modifying and correcting a small program will
                       be lower for small algorithms than for large ones, though this comparison will
                       depend greatly on the structure of the algorithms. By way of illustration, I
                       implemented and tested the eigenvalue/vector algorithm (algorithm 13) in under
                       half an hour from a 10 character/second terminal in Aberystwyth using a Xerox
                       Sigma 9 computer in Birmingham. The elapsed time includes my instruction in the
                       use of the system which was of a type I had not previously encountered. I am
                       grateful to Mrs Lucy Tedd for showing me this system. Dr John Johns of the
                       Herzberg Institute of Astrophysics was able to obtain useful eigensolutions from
                       the same algorithm within two hours of delivery of a Hewlett-Packard 9825
                       programmable calculator. He later discovered a small error in the prototype of
                       the algorithm.
                         The topics covered in this work are numerical linear algebra and function
                       minimisation. Why not differential equations? Quite simply because I have had
                       very little experience with the numerical solution of differential equations except
                       by techniques using linear algebra or function minimisation. Within the two broad
                       areas, several subjects are given prominence. Linear equations are treated in
                       considerable detail with separate methods given for a number of special situations.
                       The algorithms given here are quite similar to those used on larger machines. The
                       algebraic eigenvalue problem is also treated quite extensively, and in this edition, a
                       method for complex matrices is included. Computing the eigensolutions of a general
                       square matrix is a problem with many inherent difficulties, but we shall not dwell on
                       these at length.
                         Constrained optimisation is still a topic where I would be happier to offer more
                       material, but general methods of sufficient simplicity to include in a handbook of this
                       sort have eluded my research efforts. In particular, the mathematical programming
                       problem is not treated here.
                         Since the aim has been to give a problem-solving person some tools with which
                       to work, the mathematical detail in the pages that follow has been mostly confined
                       to that required for explanatory purposes. No claim is made to rigour in any
                       ‘proof’, though a sincere effort has been made to ensure that the statement of
                       theorems is correct and precise.


                                         1.2. MACHINE CHARACTERISTICS
                         In the first edition, a ‘small computer’ was taken to have about 6000 characters of
                       main memory to hold both programs and data. This logical machine, which might be
                       a part of a larger physical computer, reflected the reality facing a quite large group of
                       users in the mid- to late-1970s.
                         A more up-to-date definition of ‘small computer’ could be stated, but it is not
                       really necessary. Users of this book are likely to be those scientists, engineers, and
                       statisticians who must, for reasons of financial or administrative necessity or
                       convenience, carry out their computations in environments where the programs
   8   9   10   11   12   13   14   15   16   17   18