Typing linear algebra : a biproduct-oriented approach
Autor(a) principal: | |
---|---|
Data de Publicação: | 2013 |
Outros Autores: | |
Tipo de documento: | Artigo |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/1822/24649 |
Resumo: | 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. |
id |
RCAP_e227bd7aff304a7cac1b11d633c3a5a7 |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/24649 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Typing linear algebra : a biproduct-oriented approachLinear algebraCategories of matricesAlgebra of programmingScience & TechnologyInterested 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.Fundação para a Ciência e a Tecnologia (FCT)ElsevierUniversidade do MinhoMacedo, Hugo DanielOliveira, José Nuno Fonseca20132013-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdfhttp://hdl.handle.net/1822/24649engMO120167-6423DOI:10.1016/j.scico.2012.07.01210.1016/j.scico.2012.07.012"http://www.sciencedirect.com/science/article/pii/S0167642312001402info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:02:41Zoai:repositorium.sdum.uminho.pt:1822/24649Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T18:52:43.749043Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Typing linear algebra : a biproduct-oriented approach |
title |
Typing linear algebra : a biproduct-oriented approach |
spellingShingle |
Typing linear algebra : a biproduct-oriented approach Macedo, Hugo Daniel Linear algebra Categories of matrices Algebra of programming Science & Technology |
title_short |
Typing linear algebra : a biproduct-oriented approach |
title_full |
Typing linear algebra : a biproduct-oriented approach |
title_fullStr |
Typing linear algebra : a biproduct-oriented approach |
title_full_unstemmed |
Typing linear algebra : a biproduct-oriented approach |
title_sort |
Typing linear algebra : a biproduct-oriented approach |
author |
Macedo, Hugo Daniel |
author_facet |
Macedo, Hugo Daniel Oliveira, José Nuno Fonseca |
author_role |
author |
author2 |
Oliveira, José Nuno Fonseca |
author2_role |
author |
dc.contributor.none.fl_str_mv |
Universidade do Minho |
dc.contributor.author.fl_str_mv |
Macedo, Hugo Daniel Oliveira, José Nuno Fonseca |
dc.subject.por.fl_str_mv |
Linear algebra Categories of matrices Algebra of programming Science & Technology |
topic |
Linear algebra Categories of matrices Algebra of programming Science & Technology |
description |
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. |
publishDate |
2013 |
dc.date.none.fl_str_mv |
2013 2013-01-01T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/article |
format |
article |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/1822/24649 |
url |
http://hdl.handle.net/1822/24649 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
MO12 0167-6423 DOI:10.1016/j.scico.2012.07.012 10.1016/j.scico.2012.07.012 "http://www.sciencedirect.com/science/article/pii/S0167642312001402 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Elsevier |
publisher.none.fl_str_mv |
Elsevier |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799132304502685696 |