## Matrix Algebra and Applicative Programming (1987)

### Cached

### Download Links

- [www.cs.indiana.edu]
- [ftp.cs.indiana.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | Functional Programming Languages and Computer Architecture (Proceedings |

Citations: | 12 - 1 self |

### BibTeX

@INPROCEEDINGS{Wise87matrixalgebra,

author = {David S. Wise},

title = {Matrix Algebra and Applicative Programming},

booktitle = {Functional Programming Languages and Computer Architecture (Proceedings},

year = {1987},

pages = {134--153},

publisher = {Springer}

}

### OpenURL

### Abstract

General Term: Algorithms. The broad problem of matrix algebra is taken up from the perspective of functional program-ming. Akey question is how arrays should be represented in order to admit good implementations of well-known e cient algorithms, and whether functional architecture sheds any new light on these or other solutions. It relates directly to disarming the \aggregate update " problem. The major thesis is that 2 d-ary trees should be used to represent d-dimensional arrays � ex-amples are matrix operations (d = 2), and a particularly interesting vector (d = 1) algorithm. Sparse and dense matrices are represented homogeneously, but at some overhead that appears tolerable � encouraging results are reviewed and extended. A Pivot Step algorithm is described which o ers optimal stability at no extra cost for searching. The new results include proposed sparseness measures for matrices, improved performance of stable matrix inversion through re-peated pivoting while deep within a matrix-tree (extendible to solving linear systems), and a clean matrix derivation of the vector algorithm for the fast Fourier transform. Running code is o ered in the appendices.

### Citations

500 | Computer Solution of Large Sparse Positive Definite Systems - George, Liu - 1981 |

373 |
Gaussian elimination is not optimal
- Strassen
- 1969
(Show Context)
Citation Context ...rix multiplication decomposes two ways (again treating the product as two halves), four ways (the four quadrants of the answer), and eightways (the eight quadrant products in Strassen's decomposition =-=[17]-=- of Gaussian matrix multiplication.) Whenever a factor is either NIL or 1, the product is directly available, either as NIL, oras a shared reference to the other factor. The former case occurs particu... |

180 |
The Art of Computer Programming: Fundamental Algorithms, volume 1. Addison-Wesley, 3rd edition
- Knuth
- 1997
(Show Context)
Citation Context ...recursion not only of quadrant multiplication, but also of the addition of quadrant-products that follows.sSolutions to linear systems and matrix inversion have been reduced to a Pivot Step algorithm =-=[10]-=-, where the \independent" problem of a stable choice for the pivot element folds naturally onto the tree [20]. Each nonterminal node in the quadtree is decorated with a nonnegative number and two bits... |

70 |
An adaptation of the fast Fourier transform for parallel processing
- Pease
- 1968
(Show Context)
Citation Context ...ition representation of matrices recalls several results from the literature. Binary decomposition of vectors is implicit in the fast Fourier transform, and shows up explicitly in Pease's development =-=[15]-=- of a quadtree decomposition of the discrete Fourier transform matrix. The second originates with McKellar and Co man [11], who study the storage of submatrices in a demand-paging environment in order... |

50 |
Computer Solution of Large Sparse Positive De nite Systems, Prentice-Hall, Englewood Cli s
- George, Liu
- 1981
(Show Context)
Citation Context ...-block decomposition, extended to block-speci c algorithms by Fischer and Probert [4]. The third is George's nested dissection method [3] for matrix problems. A description is given by George and Liu =-=[6]-=-. The last, a recent problem impacted by this representation, is that of updating an aggregate structure in a functional language. Hudak [7] proposes speci c primitives for sequentially storedsaggrega... |

48 |
Synthesis of Digital Designs from Recursion Equations
- Johnson
- 1984
(Show Context)
Citation Context ...vot. The Pivot Step algorithm is described elsewhere [20]� the code treats each quadrant of each nontrivial, decorated matrix in one of four ways, two of which are presented in Appendix B. That Daisy =-=[5, 9]-=- program speci es data dependencies, which implies some order of evaluation, not entirely apparent at coding time. Because Daisy is entirely lazy, it is di cult to foresee the order of creation for re... |

26 |
Organizing matrices and matrix operations for paged memory systems
- McKellar, Coffman
- 1969
(Show Context)
Citation Context ...in the fast Fourier transform, and shows up explicitly in Pease's development [15] of a quadtree decomposition of the discrete Fourier transform matrix. The second originates with McKellar and Co man =-=[11]-=-, who study the storage of submatrices in a demand-paging environment in order to reduce page faults. They arrive atthe square-block decomposition, extended to block-speci c algorithms by Fischer and ... |

21 |
Contention is no Obstacle to Shared-Memory Multiprocessing
- Rettberg, Thomas
- 1986
(Show Context)
Citation Context ...s su ciently large and important enough to justify parallel computation also exhibit sparseness. Therefore, these results are of great interest in designing parallel algorithms and parallel computers =-=[2, 16]-=-. Section 4. Arithmetic Algorithms The recursive de nition of quaternary trees molds the recursive structure of programs that manipulate them. Moreover, the bifurcation of tree composition leads natur... |

20 | A survey of sparse matrix research - Duff - 1977 |

16 |
Representing matrices as quadtrees for parallel processors (extended abstract
- Wise
- 1984
(Show Context)
Citation Context ... a test of the \applicative thesis" (that functional languages and architectures are necessary to accomplish highly parallel performance), a familiar class of problems, matrix algebra, is under study =-=[18, 20, 21]-=-, with the goal of developing pure, functional algorithms to mimic the parallel performance of this class of well-studied programs [22]. The salient feature of this work is the use of recursive block ... |

14 | Aspects of applicative programming for parallel processing
- Friedman, Wise
- 1978
(Show Context)
Citation Context ...vot. The Pivot Step algorithm is described elsewhere [20]� the code treats each quadrant of each nontrivial, decorated matrix in one of four ways, two of which are presented in Appendix B. That Daisy =-=[5, 9]-=- program speci es data dependencies, which implies some order of evaluation, not entirely apparent at coding time. Because Daisy is entirely lazy, it is di cult to foresee the order of creation for re... |

10 |
Design for a multiprocessing heap with on-board reference counting
- Wise
- 1985
(Show Context)
Citation Context ...ared references) in time and space logarithmic, rather than linear, in the order of the structure. The cost in space becomes irrelevant, however, when storage management on acyclic structures is free =-=[19]-=-. Moreover, as we shall see, many of the necessary algorithms distribute naturally across the tree so that any reconstruction is local to a substructure, rather than global over the aggregate. Section... |

10 |
Parallel decomposition of matrix inversion using quadtrees
- Wise
(Show Context)
Citation Context ... a test of the \applicative thesis" (that functional languages and architectures are necessary to accomplish highly parallel performance), a familiar class of problems, matrix algebra, is under study =-=[18, 20, 21]-=-, with the goal of developing pure, functional algorithms to mimic the parallel performance of this class of well-studied programs [22]. The salient feature of this work is the use of recursive block ... |

9 |
Storage reorganization techniques for matrix computation in a paging environment
- Fischer
- 1979
(Show Context)
Citation Context ...udy the storage of submatrices in a demand-paging environment in order to reduce page faults. They arrive atthe square-block decomposition, extended to block-speci c algorithms by Fischer and Probert =-=[4]-=-. The third is George's nested dissection method [3] for matrix problems. A description is given by George and Liu [6]. The last, a recent problem impacted by this representation, is that of updating ... |

5 |
Parallel pivoting algorithms for sparse symmetric matrices
- Peters
- 1984
(Show Context)
Citation Context ...vorable results from purely local testing of decorations, it is possible to repeat local pivots with con dence of maintaining stability. The suggestions in this section are similar to those of Peters =-=[14]-=-, who is concerned with identifying multiple pivotings that do not generate mutual processing con icts. His method is not necessarily stable. This section, rather, locally reveals multiple, stable piv... |

4 |
Transitive closure and related semiring properties via eliminants, Theoret
- Abdali, Saunders
(Show Context)
Citation Context ... padding to the north and west. Padding with NIL minimizes the space consumed in padding. The matrix is justi ed to the southeast, rather than the northwest, so to help with computation of eliminants =-=[1]-=-. This prescribes a normal form for quadtrees: no scalar entry is ever 0, four quadrants cannot all be NIL, and if the southwest and northeast are NIL then the northwest and southeast cannotsbe the sa... |

3 | parallelism: A functional perspective (extended abstract - Arrays - 1986 |

3 | An Architecture that Efficiently Updates Associative Aggregates in Applicative Programming Languages - O'Donnell - 1985 |

2 |
non-determinism, side-e ects, and parallelism: a functional perspective (extended abstract
- Arrays
- 1987
(Show Context)
Citation Context ...r matrix problems. A description is given by George and Liu [6]. The last, a recent problem impacted by this representation, is that of updating an aggregate structure in a functional language. Hudak =-=[7]-=- proposes speci c primitives for sequentially storedsaggregates, which are avoided by O'Donnell in his tree-like machine [13]. Block decomposition moots sequential storage, by providing access and rec... |

2 |
Storage allocation for list multiprocessing
- Johnson
- 1985
(Show Context)
Citation Context ...s to regularly allocated arrays, even from regular o sets within di erent matrices, is likely to become an ever increasing problem with more processors. Randomization available from this kind of heap =-=[8]-=- would not prevent the rst contention between two algorithms, but it would certainly help prevent a rst from being immediately followed by more. Thus, the treesstructure would allow many coprocessors ... |

1 |
Denning Parallel computing and its evolution
- J
- 1986
(Show Context)
Citation Context ...s su ciently large and important enough to justify parallel computation also exhibit sparseness. Therefore, these results are of great interest in designing parallel algorithms and parallel computers =-=[2, 16]-=-. Section 4. Arithmetic Algorithms The recursive de nition of quaternary trees molds the recursive structure of programs that manipulate them. Moreover, the bifurcation of tree composition leads natur... |

1 |
A survey of sparse matrix research
- Du
- 1977
(Show Context)
Citation Context ...vironment in order to reduce page faults. They arrive atthe square-block decomposition, extended to block-speci c algorithms by Fischer and Probert [4]. The third is George's nested dissection method =-=[3]-=- for matrix problems. A description is given by George and Liu [6]. The last, a recent problem impacted by this representation, is that of updating an aggregate structure in a functional language. Hud... |

1 |
Fast Fourier Transforms and Convolution Algorithms
- Nussbaumber
- 1982
(Show Context)
Citation Context ...ng quadrant decomposition. Pease [15] derives the Fast Fourier Transform (FFT) in this way from the ordinary Discrete Fourier Transform. His derivation, as well as the ordinary \butter y" explication =-=[12]-=- of this important algorithm, however, is characterized by separation of necessary permutations from the FFT, itself. After the derivation is presented, the signi cance of retaining the permutations i... |

1 |
An architecture that e ciently updates associative aggregates in applicative programming languages
- O'Donnell
- 1985
(Show Context)
Citation Context ... is that of updating an aggregate structure in a functional language. Hudak [7] proposes speci c primitives for sequentially storedsaggregates, which are avoided by O'Donnell in his tree-like machine =-=[13]-=-. Block decomposition moots sequential storage, by providing access and reconstruction (recopying using shared references) in time and space logarithmic, rather than linear, in the order of the struct... |

1 | Costs of quadtree representation of sparsely patterned matrices (in preparation - Wise |

1 |
A functional language and modular arithmetic for scientific computing
- Young
- 1985
(Show Context)
Citation Context ...miliar class of problems, matrix algebra, is under study [18, 20, 21], with the goal of developing pure, functional algorithms to mimic the parallel performance of this class of well-studied programs =-=[22]-=-. The salient feature of this work is the use of recursive block decomposition to represent all arrays, forcing a rigorously recursive (functional) decomposition of the usual algorithms along the boun... |