axiom-math
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

## [Axiom-math] Again on symbolic computation

 From: Fabio Stumbo Subject: [Axiom-math] Again on symbolic computation Date: Tue, 4 Apr 2006 10:34:23 +0200 (CEST)

```
I said that symbolic computation was ok, but making more and more examples
I found some problem.

I refer to

http://wiki.axiom-developer.org/SandBoxNoncommutativePolynomials

with notations

Q=FRAC INT
K=Q(a,b)
H=K[x,y]

Now I use relations of degree 3 for x and y, namely:

yxy=xyx
x^3=ax^2+bx+c
y^3=ax^2+by+c

Accordingly, I modified the core function subs to

subs(w:M):H ==
-- y*x*y=x*y*x
n:=div(w,(y::V*x::V*y::V)\$M)\$M
n case ok => monom(n.ok.lm,1)\$H * (x::V*y::V*x::V)\$H * monom(n.ok.rm,1)\$H
-- x*x*x=a*x*x+b*x+c
n:=div(w,(x::V^3)\$M)\$M
n case ok => monom(n.ok.lm,1)\$H * (a::K*(x::V)^2+b::K*x::V+c::K)\$H *
monom(n.ok.rm,1)\$H
-- y*y*y=a*y*y+b*y+c
n:=div(w,(y::V^3)\$M)\$M
n case ok => monom(n.ok.lm,1)\$H * (a::K*y::V*y::V+b::K*y::V+c::K)\$H *
monom(n.ok.rm,1)\$H
-- no change
monom(w,1)\$H

and I use the auxilliary function

reduce(p:H):H ==
p2 := newpoly(p)
p3 := newpoly(p2)
while p3 ~= p2 repeat
p2 := p3
p3 := newpoly(p2)
p3

The problem is that not every monomial gets reduced to its "lowest degree"
form. Take, for example,
w=xxyxxyx

you get

reduce(w)=w

and this happens because it doesn't contain any yxy,xxx,yyy. On the other
hand, it DOES reduce:

xxyxxyx
---
xxyxyxy
---
xxxyxxy

and so now a x^3 appears, which can be reduced.

Adding the relation for xyx=yxy doesn't help: you go in loop in many
cases. So, how to handle this kind of problem?

Thanks again

Fabio

```
PS: I tried to add this to the relative sandbox page, but I have not been able: I added the "reduce" function, but it complains that H is not a valid type. That is, it doesn't load automatically all the previous definition. How do I get this?
```

```

reply via email to

 [Prev in Thread] Current Thread [Next in Thread]
• [Axiom-math] Again on symbolic computation, Fabio Stumbo <=