Ask Your Question

Confused about FreeAlgebra quotients

asked 2016-01-12 17:03:58 -0500

qw gravatar image

I think I'm misunderstanding how quotients of free algebras work. I tried to make a free algebra on two generators x, y and mod out by xy = yx, so you get a polynomial algebra -- but that's not what happened.

sage: R.<x,y> = FreeAlgebra(QQ)
sage: I = R*[x*y-y*x]*R
sage: Q.<a,b> = R.quo(I)
sage: a*b is b*a
sage: Q.is_commutative()

Relatedly, the documentation for free_module_quotient gives an example (constructing the quaternions as a free quotient):

sage: n = 2
sage: A = FreeAlgebra(QQ,n,'x')
sage: F = A.monoid()
sage: i, j = F.gens()
sage: mons = [ F(1), i, j, i*j ]
sage: r = len(mons)
sage: M = MatrixSpace(QQ,r)
sage: mats = [M([0,1,0,0, -1,0,0,0, 0,0,0,-1, 0,0,1,0]), M([0,0,1,0, 0,0,0,1, -1,0,0,0, 0,-1,0,0]) ]
sage: H2.<i,j> = A.quotient(mons,mats)

but I'm confused exactly how the matrices in the penultimate line describe the (multiplication) action? I.e. if I have some relation, say x^2 = 0, that I want to mod out by, how do I accomplish that using matrices?

edit retag flag offensive close merge delete


small remark: you should not use "is" for testing equality as it does something else

sage: (3*2) is (3*2)
vdelecroix gravatar imagevdelecroix ( 2016-01-12 19:30:13 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2016-01-12 19:32:07 -0500

vdelecroix gravatar image

updated 2016-01-13 10:57:29 -0500

It looks like a bug to me. However it seems to work as follows (the example in the documentation uses it)

sage:  R.<x,y> = FreeAlgebra(QQ, implementation='letterplace')
sage: I = R*[x*y-y*x]*R
sage: Q.<a,b> = R.quo(I)
sage: a*b
sage: a*a*b == a*b*a == b*a*a
sage: Q.is_commutative()
edit flag offensive delete link more


letterplace is a completely different implementation of FreeAlgebras which emulates noncommutative homogeneous polynomials as commutative polynomials using Singular. It sure works well, but it has some limitations, for instance the elements of the FreeAlgebra aren't callable and hence substitutions won't work. On the other hand, if the described behaviour of the non letterplace implementation is not a bug, then one might ast what are such quotients good for? In any case, it is desirable that both implementations maintained a good compatibility level with each other.

Waldeck gravatar imageWaldeck ( 2016-05-06 22:37:12 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2016-01-12 17:03:58 -0500

Seen: 50 times

Last updated: Jan 13 '16