Typing linear algebra: A biproduct-oriented approach

Abstract : Interested in formalizing the generation of fast running code for linear algebra applications, the authors show how an index-free, calculational approach to matrix algebra can be developed by regarding matrices as morphisms of a category with biproducts. This shifts the traditional view of matrices as indexed structures to a type-level perspective analogous to that of the pointfree algebra of programming. The derivation of fusion, cancellation and abide laws from the biproduct equations makes it easy to calculate algorithms implementing matrix multiplication, the central operation of matrix algebra, ranging from its divide-and-conquer version to its vectorization implementation. From errant attempts to learn how particular products and coproducts emerge from biproducts, not only blocked matrix algebra is rediscovered but also a way of extending other operations (e.g. Gaussian elimination) blockwise, in a calculational style, is found. The prospect of building biproduct-based type checkers for computer algebra systems such as MatlabTM is also considered.
Complete list of metadatas

Cited literature [39 references]  Display  Hide  Download

https://hal.inria.fr/hal-00919866
Contributor : Hugo Daniel Macedo <>
Submitted on : Tuesday, December 17, 2013 - 2:05:39 PM
Last modification on : Friday, May 25, 2018 - 12:02:06 PM
Long-term archiving on : Monday, March 17, 2014 - 11:16:09 PM

Files

scp11.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Hugo Macedo, José Oliveira. Typing linear algebra: A biproduct-oriented approach. Science of Computer Programming, Elsevier, 2013, 78 (11), pp.2160-2191. ⟨10.1016/j.scico.2012.07.012⟩. ⟨hal-00919866⟩

Share

Metrics

Record views

1020

Files downloads

1093