Implementing a computer algebra system in Haskell.

Detalhes bibliográficos
Autor(a) principal: Malaquias, José Romildo
Data de Publicação: 2007
Outros Autores: Lopes, Carlos Roberto
Tipo de documento: Artigo
Idioma: eng
Título da fonte: Repositório Institucional da UFOP
dARK ID: ark:/61566/001300000dqh7
Texto Completo: http://www.repositorio.ufop.br/handle/123456789/4361
https://doi.org/10.1016/j.amc.2007.02.126
Resumo: There are basically two kinds of mathematical computation, numerical and symbolic. Numerical algorithms are usually implemented in strongly typed languages, and compiled with a view to efficiency. Symbolic algorithms are mostly written for interpreters in untyped languages. Therefore, symbolic mathematics is usually slow, and bug ridden. Since symbolic algorithms are usually more difficult to implement, there are also very few computer algebra systems. This paper presents a computer algebra system that is both fast, and implemented in a strongly typed language, and designed to accept compiled extensions. The authors describe a scheme to achieve these goals without creating difficulties for the end-user. The reason for creating this new computer algebra system is to make feasible mixed computation, i.e., programming software that needs both numerical computation and computer algebra. For instance, Finite Element Methods require a lot of number crunching as well as computer algebra to perform triangularization, manipulating shape functions, etc. Mixed computation requires speed and safety that interpreted computer algebra cannot provide.
id UFOP_d0734924a705dcad1877a7c596cec0c8
oai_identifier_str oai:repositorio.ufop.br:123456789/4361
network_acronym_str UFOP
network_name_str Repositório Institucional da UFOP
repository_id_str 3233
spelling Implementing a computer algebra system in Haskell.Computer algebraMixed computationFunctional programmingHaskellThere are basically two kinds of mathematical computation, numerical and symbolic. Numerical algorithms are usually implemented in strongly typed languages, and compiled with a view to efficiency. Symbolic algorithms are mostly written for interpreters in untyped languages. Therefore, symbolic mathematics is usually slow, and bug ridden. Since symbolic algorithms are usually more difficult to implement, there are also very few computer algebra systems. This paper presents a computer algebra system that is both fast, and implemented in a strongly typed language, and designed to accept compiled extensions. The authors describe a scheme to achieve these goals without creating difficulties for the end-user. The reason for creating this new computer algebra system is to make feasible mixed computation, i.e., programming software that needs both numerical computation and computer algebra. For instance, Finite Element Methods require a lot of number crunching as well as computer algebra to perform triangularization, manipulating shape functions, etc. Mixed computation requires speed and safety that interpreted computer algebra cannot provide.2015-01-26T11:13:30Z2015-01-26T11:13:30Z2007info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdfMALAQUIAS, J. R.; LOPES, C. R. Implementing a computer algebra system in Haskell. Applied Mathematics and Computation, v. 192, p. 120-134, 2007. Disponível em: <http://www.sciencedirect.com/science/article/pii/S0096300307003013#>. Acesso em: 22 jan. 2015.0096-3003http://www.repositorio.ufop.br/handle/123456789/4361https://doi.org/10.1016/j.amc.2007.02.126ark:/61566/001300000dqh7O periódico Applied Mathematics and Computation concede permissão para depósito do artigo no Repositório Institucional da UFOP. Número da licença: 3552530048141.info:eu-repo/semantics/openAccessMalaquias, José RomildoLopes, Carlos Robertoengreponame:Repositório Institucional da UFOPinstname:Universidade Federal de Ouro Preto (UFOP)instacron:UFOP2024-11-11T01:46:37Zoai:repositorio.ufop.br:123456789/4361Repositório InstitucionalPUBhttp://www.repositorio.ufop.br/oai/requestrepositorio@ufop.edu.bropendoar:32332024-11-11T01:46:37Repositório Institucional da UFOP - Universidade Federal de Ouro Preto (UFOP)false
dc.title.none.fl_str_mv Implementing a computer algebra system in Haskell.
title Implementing a computer algebra system in Haskell.
spellingShingle Implementing a computer algebra system in Haskell.
Malaquias, José Romildo
Computer algebra
Mixed computation
Functional programming
Haskell
title_short Implementing a computer algebra system in Haskell.
title_full Implementing a computer algebra system in Haskell.
title_fullStr Implementing a computer algebra system in Haskell.
title_full_unstemmed Implementing a computer algebra system in Haskell.
title_sort Implementing a computer algebra system in Haskell.
author Malaquias, José Romildo
author_facet Malaquias, José Romildo
Lopes, Carlos Roberto
author_role author
author2 Lopes, Carlos Roberto
author2_role author
dc.contributor.author.fl_str_mv Malaquias, José Romildo
Lopes, Carlos Roberto
dc.subject.por.fl_str_mv Computer algebra
Mixed computation
Functional programming
Haskell
topic Computer algebra
Mixed computation
Functional programming
Haskell
description There are basically two kinds of mathematical computation, numerical and symbolic. Numerical algorithms are usually implemented in strongly typed languages, and compiled with a view to efficiency. Symbolic algorithms are mostly written for interpreters in untyped languages. Therefore, symbolic mathematics is usually slow, and bug ridden. Since symbolic algorithms are usually more difficult to implement, there are also very few computer algebra systems. This paper presents a computer algebra system that is both fast, and implemented in a strongly typed language, and designed to accept compiled extensions. The authors describe a scheme to achieve these goals without creating difficulties for the end-user. The reason for creating this new computer algebra system is to make feasible mixed computation, i.e., programming software that needs both numerical computation and computer algebra. For instance, Finite Element Methods require a lot of number crunching as well as computer algebra to perform triangularization, manipulating shape functions, etc. Mixed computation requires speed and safety that interpreted computer algebra cannot provide.
publishDate 2007
dc.date.none.fl_str_mv 2007
2015-01-26T11:13:30Z
2015-01-26T11:13:30Z
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 MALAQUIAS, J. R.; LOPES, C. R. Implementing a computer algebra system in Haskell. Applied Mathematics and Computation, v. 192, p. 120-134, 2007. Disponível em: <http://www.sciencedirect.com/science/article/pii/S0096300307003013#>. Acesso em: 22 jan. 2015.
0096-3003
http://www.repositorio.ufop.br/handle/123456789/4361
https://doi.org/10.1016/j.amc.2007.02.126
dc.identifier.dark.fl_str_mv ark:/61566/001300000dqh7
identifier_str_mv MALAQUIAS, J. R.; LOPES, C. R. Implementing a computer algebra system in Haskell. Applied Mathematics and Computation, v. 192, p. 120-134, 2007. Disponível em: <http://www.sciencedirect.com/science/article/pii/S0096300307003013#>. Acesso em: 22 jan. 2015.
0096-3003
ark:/61566/001300000dqh7
url http://www.repositorio.ufop.br/handle/123456789/4361
https://doi.org/10.1016/j.amc.2007.02.126
dc.language.iso.fl_str_mv eng
language eng
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.source.none.fl_str_mv reponame:Repositório Institucional da UFOP
instname:Universidade Federal de Ouro Preto (UFOP)
instacron:UFOP
instname_str Universidade Federal de Ouro Preto (UFOP)
instacron_str UFOP
institution UFOP
reponame_str Repositório Institucional da UFOP
collection Repositório Institucional da UFOP
repository.name.fl_str_mv Repositório Institucional da UFOP - Universidade Federal de Ouro Preto (UFOP)
repository.mail.fl_str_mv repositorio@ufop.edu.br
_version_ 1846632452704960512