1 | initial version |
Here is a proposal, but not what you expect, I guess :
sage: A = algebras.Free(QQ,list('XYZ'),degrees=(1,1,1))
sage: Ahat = A.completion()
sage: A.inject_variables()
sage: x=Ahat(1+X)
sage: y=Ahat(1+Y)
sage: z=Ahat(1+Z)
At this stage, we have 3 invertible non-commutative elements.
sage: def mymap(vx,vy,vz):
....: return vx*vy*~vx, vx*vz*~vx, (vz*vy+1)*~vx
sage: mymap(x,y,z)
(1 + Y + (X*Y-Y*X) + (-X*Y*X+Y*X^2) + (X*Y*X^2-Y*X^3) + (-X*Y*X^3+Y*X^4) + (X*Y*X^4-Y*X^5) + O^7,
1 + Z + (X*Z-Z*X) + (-X*Z*X+Z*X^2) + (X*Z*X^2-Z*X^3) + (-X*Z*X^3+Z*X^4) + (X*Z*X^4-Z*X^5) + O^7,
2 + (-2*X+Y+Z) + (2*X^2-Y*X-Z*X+Z*Y) + (-2*X^3+Y*X^2+Z*X^2-Z*Y*X) + (2*X^4-Y*X^3-Z*X^3+Z*Y*X^2) + (-2*X^5+Y*X^4+Z*X^4-Z*Y*X^3) + (2*X^6-Y*X^5-Z*X^5+Z*Y*X^4) + O^7)
This requires a very recent version of sage.