Re: [Axiom-developer] CAS for the masses
Ralf Hemmecke <[email protected]>
| Newsgroups | gmane.comp.mathematics.axiom.general,gmane.comp.mathematics.axiom.devel |
|---|---|
| Message-ID | <[email protected]> |
On 03/28/2007 12:29 PM, Ondrej Certik wrote: >> The usual example is: >> >> (1/2)*x^2 + (1/3)*x + 3 >> Type: Polynomial Fraction Integer >> >> %::Fraction(Polynomial(Integer)) >> >> 2 >> 3x + 2x + 18 >> ------------- >> 6 >> Type: Fraction Polynomial Integer >> >> >> When you read a maths book most of the equations are actually just >> "icons". The real meaning of the equation is in the surrounding text >> and context. Axiom carries that surrounding information in the type >> whereas other systems focus on the "icons" and syntactic manipulations. > > > I have this question: > > The above expressions can be assembled just from these 4 types (or > classes in SymPy): Add, Mul, Pow, Integer > > what is the advantage to introduce more classes, like Polynomial > Fraction Integer or Fraction Polynomial Integer? > > Because having the expression in the form of the 4 basic classes (Add, > Mul, Pow, Integer), everything else can be easily inferred from this. Even mathematically Fraction Polynomial Integer ---- QQ(Z[x,y,z,...]) and Polynomial Fraction Integer ---- Q[x,y,z,...] are not the same. 1/x lies in the first, but not in the second domain. (By QQ I mean the operator to form the field of fractions.) But there is something else with that example. Some people prefer the first and some the second form. There is simply not THE simplest form. Suppose you have the equations 3*x*p-1=0 and you want to solve it for p. Clearly, the solution in QQ(Z[x]) is 1/(3*x). The solution in Q[x] is... *no solution*. Do you see that there is a difference. Ralf