Polynomial convolution algorithm for matrix multiplication with application for optical computing.
First, we describe an algorithm (the polynomial convolution algorithm) for the multiplication of two rectangular matrices A and B. The algorithm codes the matrix elements of A and B into two polynomials in a common indeterminate; the degree of the polynomial characterizing A depends on the size of both A and B, while the degree of the polynomial characterizing B only involves the size of B. The matrix elements of the product C = AB are obtainable from the convolution of the two polynomials. Although the resultant analysis is quite complex, its implementation in optical computing can be carried out in straightforward fashion (see Sec. III). The algorithm is at least as fast as the outer product and Kronecker product algorithms advocated by Athale- Collins and Barakat, respectively, in the assumed conditions of equally accessible matrix elements. Second, we consider the situation where the matrices are so large that they cannot be stored simultaneously on optical masks. It is shown that the speed advantages of the outer product and Kronecker product algorithms are now lost in this situation, whereas the polynomial convolution algorithm, because of its modular structure, is robust with respect to the storage problem. Finally, we consider some partitioning strategies in the light of the storage problem.
Duke Scholars
Published In
DOI
EISSN
ISSN
Publication Date
Volume
Issue
Start / End Page
Related Subject Headings
- Optics
- 5102 Atomic, molecular and optical physics
- 4008 Electrical engineering
- 0913 Mechanical Engineering
- 0906 Electrical and Electronic Engineering
- 0205 Optical Physics
Citation
Published In
DOI
EISSN
ISSN
Publication Date
Volume
Issue
Start / End Page
Related Subject Headings
- Optics
- 5102 Atomic, molecular and optical physics
- 4008 Electrical engineering
- 0913 Mechanical Engineering
- 0906 Electrical and Electronic Engineering
- 0205 Optical Physics