- Hide Description
- Hide Description- Show Description The authors of this carefully structured guide are the principal developers of LINPACK, a unique package of Fortran subroutines for analyzing and solving various systems of simultaneous linear algebraic equations and linear least squares problems.
This guide supports both the casual user of LINPACK who simply requires a library subroutine, and the specialist who wishes to modify or extend the code to handle special problems. It is also recommended for classroom work.
In June of 1974 Jim Pool, then director of the research section of the Applied Mathematics Division of Argonne National Laboratory, initiated a series of informal meetings to consider the possibility of producing a package of quality programs for the solution of linear systems and related problems. The participants included members of the Laboratory staff, visiting scientists, and various consultants and speakers at the AMD colloquium series. It was decided that there was a need for a LINPACK and that there was a secure technological basis for its production. Accordingly, a proposal was submitted to the National Science Foundation, which agreed to fund the project for three years beginning January 1976;, the Department of Energy also provided support at Argonne.
The LINPACK project had a number of objectives. In the first place, it represented research into the mechanics of software production; to our knowledge no package has been produced in quite the way we have done it, and some of the many things we have learned from the effort will appear in subsequent publications. Secondly, we hope that we have provided a yardstick against which future mathematical software projects can be measured. Third, we hoped to produce a package that would be used, both as library subroutines and by people who wish to modify or extend the code to handle special problems (however, to protect the innocent, we request that anyone who modifies a LINPACK code also change the name of the subroutine and comment the modifications). Finally, we hope that LINPACK and this guide will be of value in the classroom.
These goals have imposed constraints on the code and its documentation. We have tried to make the code both machine independent and efficient. Although these two objectives are often at odds, we feel that in LINPACK we have gone far toward achieving both. The code itself has to be in Fortran, which is the language of scientific programming in the United States. We have tried to mitigate the unclarity of Fortran codes by carefully structuring our programs and adopting indentation conventions that reflect the structure. In addition the programs share a common nomenclature and uniform typing and commenting conventions. In documenting LINPACK we have tried to serve both the casual user and the person who must know the technical details of our programs. We have done this by segregating user oriented material for any particular set of programs into the first three sections of each chapter of the documentation, leaving the technical material for later.