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. _______________________________________________ Axiom-math mailing list Axiom-math@nongnu.org http://lists.nongnu.org/mailman/listinfo/axiom-math