axiom-math
[Top][All Lists]
Advanced

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

RE: [Axiom-math] How to make symbolic computations?


From: Page, Bill
Subject: RE: [Axiom-math] How to make symbolic computations?
Date: Fri, 3 Mar 2006 05:20:54 -0500

On Tuesday, February 28, 2006 6:54 AM Fabio S. writes:
> I am facing a problem that I can't solve and I can't find
> any help on the book.
> 
> The problem is the following: assume you have a field k 
> (let's say k=Q, but I would like to more general if possible)
> and take two variable x and y which do not commute.

I am interested in similar problems. There is are some domains
in Axiom for doing computations with non-commuting variables
developed by Michel Petitot. You can find some examples in the
Axiom book under the title XPolynomial but unfortunately the
explanations are a little terse. If you are up to it, you can
also check for documentation in the source files:

http://wiki.axiom-developer.org/axiom--test--1/src/input/XpolyInput
http://wiki.axiom-developer.org/axiom--test--1/src/algebra/XpolySpad
http://wiki.axiom-developer.org/axiom--test--1/src/input/LpolyInput
http://wiki.axiom-developer.org/axiom--test--1/src/algebra/XLpolySpad

> 
> I would like to build the non-commutative algebra h=k[x,y] and
> then I would like to make computations in h using some predefined 
> rules for x and y. As an example, take the three equations
> 
> x*y*x=y*x*y
> x*x=a*x+b
> y*y=a*y+b
> 
> where a and b are (generic, if possible) elements of k.
> 
> Then, I would like to be able to reduce polynomials in x and 
> y according to the previous rules. For example,
> 
> (x+y)^2 (=x^2+x*y+y*x+y^2)
> 
> should reduce to
> 
> a*(x+y)+2*b+x*y+y*x
> 
> and
> 
> (x+y)^3
> 
> (
> =(x+y)(x+y)^2
> =(x+y)(a(x+y)+2b+xy+yx)
> =axx+axy+ayx+ayy+2bx+2by+xxy+xyx+yxy+yyx
> =a^2x+ab+axy+ayx+a^2y+ab+2bx+2by+(ax+b)y+xyx+yxy+(ay+b)x
> =a^2x+ab+axy+ayx+a^2y+ab+2bx+2by+axy+by+xyx+yxy+ayx+bx
> =xyx+yxy+axy+axy+ayx+ayx+a^2x+2bx+bx+a^2y+2by+by+ab+ab
> )
> 
> should reduce to
> 
> 2*x*y*x+2*a*x*y+2*a*y*x+(a^2+3*b)*x+(a^2+3*b)*y+2*a*b
>

Look at the example at:

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

Please check the result for '(x+y)^3'. I get the same result
for '(x+y)^2' but I get a slightly different answer then above.
 
> Is this possible? I think it should, but I couldn't find
> how... :-((
> 

Yes, it is possible. I have been working on a related problem
for a while and your email motivated me to complete the work.
I am not too surprised that you did not immediately find the
solution to your problem since the XPOLY documentation is
minimal and there was a bug in the implementation of OFMONOID,
the missing 'div' function, which is needed to solve your
problem.

Ideally it would be nice to implement full pattern matching
in the XPOLY domains similar to what is possible with other
polynomials and expressions in Axiom, but this would probably
be a lot more work...

I hope this example helps.

Regards,
Bill Page.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]