Which CAS use multiple representations for mathematical objects?

AI Thread Summary
Computer algebra systems (CAS) differ in their approach to representing mathematical objects, particularly polynomials. One design strategy involves using a single data structure, such as a list of coefficients, while allowing various construction methods, like inputting factors. This method simplifies data management but limits representation flexibility. Alternatively, some CAS maintain multiple representations of the same object, which requires algorithms to determine the most suitable representation for operations. The discussion highlights that while representing polynomials as lists of coefficients is common, the relationship between roots and factors complicates representation, especially for polynomials in multiple variables. The consensus suggests that maintaining multiple representations may not be beneficial, particularly for single-variable polynomials, as it can lead to redundancy and inefficiency.
Stephen Tashi
Science Advisor
Homework Helper
Education Advisor
Messages
7,864
Reaction score
1,602
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.
 
Computer science news on Phys.org
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
 
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:
pasmith said:
factoring it is the same as finding roots
I'm curious whether this is true for polynomials in several variables.
 
Stephen Tashi said:
I'm curious whether this is true for polynomials in several variables.

I don't think it is. But the fact that it holds in one variable is a reason not to represent a polynomial as either a list of roots or a list of factors.
 
This week, I saw a documentary done by the French called Les sacrifiés de l'IA, which was presented by a Canadian show Enquête. If you understand French I recommend it. Very eye-opening. I found a similar documentary in English called The Human Cost of AI: Data workers in the Global South. There is also an interview with Milagros Miceli (appearing in both documentaries) on Youtube: I also found a powerpoint presentation by the economist Uma Rani (appearing in the French documentary), AI...
Back
Top