@inbook {MO10a , title = {Matrices As Arrows! A Biproduct Approach to Typed Linear Algebra}, booktitle = {10th International Conference Mathematics of Program Construction}, series = {LNCS}, volume = {6120}, year = {2010}, pages = {271{\textendash}287}, publisher = {Springer}, organization = {Springer}, address = {Qu{\'e}bec, Canada}, abstract = {

Motivated by the need to formalize generation of fast running code for linear algebra applications, we 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 matrixmultiplication, the kernel operation of matrix algebra, ranging from its divide-and-conquer version to the conventional, iterative one. From errant attempts to learn how particular products and coproducts emerge from biproducts, we not only rediscovered block-wise matrix combinators but also found a way of addressing other operations calculationally such as e.g. Gaussian elimination. A strategy for addressing vectorization along the same lines is also given.

}, doi = {10.1007/978-3-642-13321-3_16}, author = {H. Macedo and Jos{\'e} Nuno Oliveira} }