Efficiency problems in the history of Maple

Michael Monagan, CECM Research Centre, Simon Fraser University

Tuesday July 8th at 10:00am-10:30am in RCB 7105

Abstract:

The Maple project began in 1980 at the University of Waterloo. The most important design goal was that Maple be powerful, that is, Maple was efficient so that it could handle large inputs and Maple could solve a wide range of algebraic problems. The early releases of Maple were not particularly efficient. This was not due to poor algebraic algorithms; rather, it had to do with the choice of the data representation for formulas, poor implementations of some systems algorithms, and design choices that resulted in a loss of efficiency. This talk presents six efficiency problems that arose over Maple's history and some lessons we learned about writing efficient code in practice. To assess whether today's Computer Algebra Systems are faster than those from the 1980s, we present a timing benchmark comparing the speed of Maxima with Maple, Magma and Singular on factoring determinants of matrices of polynomials.