- #1

Stephen Tashi

Science Advisor

- 7,781

- 1,540

- TL;DR Summary
- How do various computer algebra systems compare with respect to keeping multiple representations of the same mathematical object?

How do various computer algebra systems (CAS) compare with respect to keeping multiple representations of the same mathematical object?

For example, a polynomial could be represented by a list of coefficients, or a list of roots, or a list of factors with some factors non-linear. One design for a CAS would be to allow different ways to construct a mathematical object but only use a single data structure for it. For example, a CAS might allow polynomials to be constructed by a function that took factors as the input, but the only data kept for the polynomial might be the list of coefficients. An alternative method would be to keep multiple representations of the same mathematical object in the data for that object. Then algorithms on mathematical objects would need procedures to decide which representations to use.

For example, a polynomial could be represented by a list of coefficients, or a list of roots, or a list of factors with some factors non-linear. One design for a CAS would be to allow different ways to construct a mathematical object but only use a single data structure for it. For example, a CAS might allow polynomials to be constructed by a function that took factors as the input, but the only data kept for the polynomial might be the list of coefficients. An alternative method would be to keep multiple representations of the same mathematical object in the data for that object. Then algorithms on mathematical objects would need procedures to decide which representations to use.