skip to main content
article
Free Access

Design and implementation of a very small linear algebra program package

Published:02 January 1985Publication History
Skip Abstract Section

Abstract

Microcomputers, when properly programmed, have sufficient memory and speed to successfully perform serious calculations of modest size--linear equations, least squares, matrix inverse or generalized inverse, and the symmetric matrix eigenproblem.

References

  1. 1 Adler. A. Matrix inversion. Interface Age 4, 11 (Nov. 1979). 30-36. A discussion of matrix methods sadly dated even when published.Google ScholarGoogle Scholar
  2. 2 Bates. D.M. and Watts. D.G. A relative offset orthogonality convergence criterion for nonlinear least squares. Technometrics 23. 2 (May 1981). 179-163. A discussion of the difficulties that arise in deciding when an iterative nonlinear least squares algorithm can no longer make meaningful progress toward a solution. A test criterion that can be computed with comparatively simple program code is suggested.Google ScholarGoogle Scholar
  3. 3 Dongarra, J.J., Bunch, J.R. Moler. C.B., and Stewart, G.W. LINPACK User's Guide. Society for Industrial and Applied Mathematics, Philadelphia, Pa. 1979. Documenation and exam&s of the use of the LINPACK collection of linear algebra prog&s. which are written in FORTRAN.Google ScholarGoogle Scholar
  4. 4 Draper. N. and Smith, H. Applied regression analysis. 2nd ed. Wiley-Interscience. New York, 1981. A classic textbook and reference on regression analysis.Google ScholarGoogle Scholar
  5. 5 Forsythe, G.E., Malcolm, M.A. and Moler. C.B. Computer Methods for Mathematical Computations. Prentice-Hall. Englewood Cliffs, N.J. 1977. A textbook on the solution of mathematical problems by numerical techniques. FORTRAN programs and subroutines are included. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Garbow. B.S. et al. Matrix Eigensystems Routines-EISPACK Guide E.rtu~sio~~. Springer-Verlag. New York. 1977. Documentation of the FORTRAN programs for matrix eigenvalue problems in the EISPACK collection.Google ScholarGoogle Scholar
  7. 7 Golub. G.H. and Van Loan, CF. Matrix Compulations. Johns Hopkins Univ. Press. Baltimore, Md. 1963. An up-to-date and detailed survey of numerical methods for linear algebra. Extensive literature coverage is one of the virtues of this important book.Google ScholarGoogle Scholar
  8. 8 Marquardt. D.W. An algorithm for least squares estimation of nonlinear parameters. J. Sot. Ind. Appl. Math. II (19633, 431-441. Probably the most successful simple approach to nonlinear least squares in described in this paper. Many papers have been published suggesting "improvements." but some of these reflect poor programming practice in implementing Marquardt's ideas. Reference 9 discusses some of these misdirected criticisms of Marquardt's algorithm.Google ScholarGoogle ScholarCross RefCross Ref
  9. 9 Nash, J.C. Compacr Numerical Methods for Compurers: Linear Algebra and Function Minimization. John Wiley, New York, 1979. A discussion of problem types arising in the natural and social sciences that can be solved by linear algebra and function minimization methods. Step-and-description algorithms suitable for rapid implementation are included.Google ScholarGoogle Scholar
  10. 10 Nash J.C. Generalized inverse matrices: A practical tool for matrix methods on microcomputers. Interface Age 5, 9 (Sept. 1960). 32-37. A description of the first version of the package descfibed in this paper, mainly directed at unsophisticated users. Listings are included but so photoreduced that readers have had difficulties implementing the code from a keyboard.Google ScholarGoogle Scholar
  11. 11 Nash, J.C. and Shlien, S. Simple algorithms for the partial singular value decomposition. Work. Paper 83-27. Faculty of Administration, Univ. of Ottawa, Ontario. This paper, submitted for more general publication, includes a step-and-description algorithm of the streamlined singular value decomposition used in the package described in this paper.Google ScholarGoogle Scholar
  12. 12 Nash, J.C. LEQBO5 Documenfafion. Nash Information Services, Inc., Ottawa, Ontario, 1984. Documentation and source code of the package described in this paper.Google ScholarGoogle Scholar
  13. 13 Rosenbrock, H.H. An automatic method for finding the greatest or least value of a function. Comput. 1. 3. 3 (1960). 175-164. One of the earliest direct search methods for automatic function minimization.Google ScholarGoogle Scholar
  14. 14 Strang, G. Linear Algebra and its Applications. 2nd ed. Academic Press, New York, A modern textbook on linear algebra.Google ScholarGoogle Scholar
  15. 15 Wilkinson, J.H., and Reinsch. C., Eds. Handbookfor Automatic Conrpufation. Vol. 2. Linear Algebra. Springer-Verlag. New York, 1971. The "New Testament" of numerical linear algebra. incorporating ALGOL versions of many important methods for matrix computations.Google ScholarGoogle Scholar

Index Terms

  1. Design and implementation of a very small linear algebra program package

                Recommendations

                Reviews

                Ian Gladwell

                This paper describes an attempt to provide a linear algebra package suitable for small microcomputers. Those linear algebra facilities which are implemented are a set of the most popular currently used on mainframes; that is, the solution of linear systems, linear least squares, and the symmetric eigenvalue problem. Memory is at a premium on small microcomputers, and so to provide all these facilities simultaneously an SVD algorithm is implemented as the underlying code for each requirement, exploiting features of BASIC to keep the code compact. By these means, the user's own time and the microcomputer's memory are used economically, whereas the (usually) less important microcomputer's actual computing time is lengthened to some extent, in comparison with the most efficient possible codes for each requirement. A nonlinear least squares algorithm, based on the repeated use of the linear least squares code, is also implemented.

                Access critical reviews of Computing literature here

                Become a reviewer for Computing Reviews.

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                • Published in

                  cover image Communications of the ACM
                  Communications of the ACM  Volume 28, Issue 1
                  Special section on computer architecture
                  Jan. 1985
                  99 pages
                  ISSN:0001-0782
                  EISSN:1557-7317
                  DOI:10.1145/2465
                  Issue’s Table of Contents

                  Copyright © 1985 ACM

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 2 January 1985

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • article

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader