# Which CAS use multiple representations for mathematical objects?

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.

Mentor
I'm not sure what you're looking for exactly but did find this article about syntax trees for holding math expressions in a nominal CAS:

https://www.math.wpi.edu/IQP/BVCalcHist/calc5.html

Homework Helper
2022 Award
I think you would only ever store a polynomial as a list of coefficients; factoring it is the same as finding roots, and for degree >= 5 that is analytically impossible.

I think the trick comes in knowing that $p \in \mathbb{R}[x]$ and $(\mathbb{C} \to \mathbb{R} : t \mapsto p(t))$ are in some sense the same object.

Last edited: