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.
 
In my discussions elsewhere, I've noticed a lot of disagreement regarding AI. A question that comes up is, "Is AI hype?" Unfortunately, when this question is asked, the one asking, as far as I can tell, may mean one of three things which can lead to lots of confusion. I'll list them out now for clarity. 1. Can AI do everything a human can do and how close are we to that? 2. Are corporations and governments using the promise of AI to gain more power for themselves? 3. Are AI and transhumans...
Thread 'ChatGPT Examples, Good and Bad'
I've been experimenting with ChatGPT. Some results are good, some very very bad. I think examples can help expose the properties of this AI. Maybe you can post some of your favorite examples and tell us what they reveal about the properties of this AI. (I had problems with copy/paste of text and formatting, so I'm posting my examples as screen shots. That is a promising start. :smile: But then I provided values V=1, R1=1, R2=2, R3=3 and asked for the value of I. At first, it said...
Back
Top