February 1984 - Vol. 27 No. 2

February 1984 issue cover image

Features

Research and Advances

Predicative programming Part II

Part I of this two-part paper presented a new semantics of programs. Each program is considered to be a predicate, in a restricted notation, that specifies the observable behavior of a computer executing the program. We considered a variety of notations, including assignment, composition (semicolon), deterministic choice (if), nondeterministic choice, definition (nonrecursive and recursive), and variable declaration. We did not consider any input or output notations, or concurrency; that is the subject of Part II. We assume the reader is familiar with Part I, so that we can build on ideas presented there.
Research and Advances

Chain mulitplication of matrices of approximately or exactly the same size

We present a different approach to finding an optimal computation order; it exploits both the difference between the size of the matrices and the difference between the number of nonzero elements in the matrices. Therefore, this technique can be usefully applied where the matrices are almost or exactly the same size. We show that using the proposed technique, an optimal computation order can be determined in time O(n) if the matrices have the same size, and in time O(n3) otherwise.

Recent Issues

  1. October 2024 CACM cover
    October 2024 Vol. 67 No. 10
  2. September 2024 CACM cover
    September 2024 Vol. 67 No. 9
  3. August 2024 CACM cover
    August 2024 Vol. 67 No. 8
  4. July 2024 CACM cover
    July 2024 Vol. 67 No. 7