On Euclid's Algorithm and the Computation of Polynomial Greatest Common Divisors
Journal of the ACM (JACM)
Symbolic derivatives without list processing, subroutines, or recursion
Communications of the ACM
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Computational Analysis with the HP-25 Pocket Calculator
Computational Analysis with the HP-25 Pocket Calculator
Probabilistic algorithms for sparse polynomials
EUROSAM '79 Proceedings of the International Symposiumon on Symbolic and Algebraic Computation
Capabilities of the MUMATH-78 computer algebra system for the INTEL-8080 microprocessor (invited)
EUROSAM '79 Proceedings of the International Symposiumon on Symbolic and Algebraic Computation
The design of maple: A compact, portable and powerful computer algebra system
EUROCAL '83 Proceedings of the European Computer Algebra Conference on Computer Algebra
Hashing LEMMAs on time complexities with applications to formula manipulation
SYMSAC '76 Proceedings of the third ACM symposium on Symbolic and algebraic computation
Using minicomputers for algebraic computations
ACM SIGSAM Bulletin
Is a linked list the best storage structure for an algebra system?
ACM SIGSAM Bulletin
PICOMATH-80™: an even smaller computer algebra package
ACM SIGSAM Bulletin
Finite Precision Rational Arithmetic: Slash Number Systems
IEEE Transactions on Computers
Ten commandments for good default expression simplification
Journal of Symbolic Computation
Hi-index | 0.00 |
Computer algebra had to be implemented compactly to fit on early personal computers and hand-held calculators. Compact implementation is still important for portable hand-held devices. Also, compact implementation increases comprehensibility while decreasing development and maintenance time and cost, regardless of the platform. This article describes several ways to achieve compact implementations, including: Exploit evaluation followed by interpolation to avoid implementing a parser, such as in PicoMath™. Use contiguous storage as an expression stack to avoid garbage collection and pointerspace overhead, such as in Calculus Demontm and TI-Math-Engine. Use various techniques for saving code space for linked-storage representation of expressions and functions, such as in muMathtm and Derive®.