Compiling matrix operations

  • Authors:
  • Bernard A. Galler;Alan J. Perlis

  • Affiliations:
  • Univ. of Michigan, Ann Arbor;Carnegie Institute of Technology, Pittsburgh, PA

  • Venue:
  • Communications of the ACM
  • Year:
  • 1962

Quantified Score

Hi-index 48.28

Visualization

Abstract

It is unfortunate that almost all of the presently used algebraic languages do not provide the capability of linear algebra. Operations such as the inner product of vectors, the product of two matrices, and the multiplication of a matrix by a scaler must inevitably be written out in detail in terms of the individual components. The reasons usually given for avoiding linear algebra in these languages are (1) the difficulties which would arise in scanning linear algebraic expressions, and (2) the uncertainty involved as to the amount of temporary storage needed during the evaluation of linear algebraic expressions when the program is executed. The purpose of this paper is to show how these two types of difficulties can be overcome. Although suggestions have been made for even further increasing the general capability of ALGOL such as including the ability to form a matrix from a collection of vectors, we shall be content here to consider the ordinary operations of linear algebra. Even if this much becomes available in algebraic languages, considerable progress will have been made. The following remarks constitute a suggestion for the addition to ALGOL of linear algebraic expressions.