axiom-developer
[Top][All Lists]

## Re: [Axiom-developer] CAS for the masses

 From: Ralf Hemmecke Subject: Re: [Axiom-developer] CAS for the masses Date: Wed, 28 Mar 2007 12:50:19 +0200 User-agent: Thunderbird 2.0b2 (X11/20070116)

```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

```