Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
POLY: a new polynomial data structure for Maple 17
Monagan M., Pearce R. ACM Communications in Computer Algebra46 (3/4):164-167,2012.Type:Article
Date Reviewed: Mar 17 2014

The title of this paper describes the content exactly. Maple did not previously have a dedicated data structure for polynomials; it stored them as general expressions, which were stored in a sum of products (SoP) representation. Since there was no guarantee that terms would be stored in order, operations like degree involved traversing the entire data structure: n+1 vectors for a sum of n products. The process was, therefore, very cache unfriendly.

The new data structure only applies to polynomials for which bit-packing techniques--which reminded me of the algebra systems of the 1960s, allowing an entire monomial to be packed in a 64-bit integer--apply. Otherwise, the traditional Maple data structure is used, invisible to the programmer. Indeed, though the authors do not make the point explicitly, the destructuring command op, applied to these new structures, returns the same results it would have on the equivalent old structures. Indeed, the only way I know how to tell the difference is via the little documented (and not described in this paper) dismantle command.

The authors present some fairly impressive benchmarks, both for basic operations like degree and coefficient, and for polynomial multiplication and factorization. There are very substantial improvements in time over the old (Maple 13) system. Compared to Maple 16--which used similar algorithms internally, but converted to/from the traditional structure--multiplication and division are very similar on one core, but the new system is faster on four cores. For factorization, the new system is distinctly faster than Maple 16, and again shows better parallelism.

The paper states: “We are working to have the new data representation ready for Maple 17.” The authors succeeded; it is in Maple 17. I have to report that I do not seem to be seeing, in my applications, the same sort of speedup, but this is under investigation.

Reviewer:  J. H. Davenport Review #: CR142088 (1406-0451)
Bookmark and Share
  Featured Reviewer  
 
Mathematical Software (G.4 )
 
 
Maple (I.1.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Mathematical Software": Date
Mathematical applications of electronic spreadsheets
Arganbright D., McGraw-Hill, Inc., New York, NY, 1984. Type: Book (9789780070024298)
May 1 1985
The NAG Library: a beginners guide
Phillips J., Oxford University Press, Inc., New York, NY, 1987. Type: Book (9789780198532637)
May 1 1988
Numerical software tools in C
Kempf J., Prentice-Hall, Inc., Upper Saddle River, NJ, 1987. Type: Book (9789780136272748)
Apr 1 1988
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy