Ask Your Question

Noncommuting variables

asked 2010-12-06 21:53:32 +0200

Eric A Bunch gravatar image

updated 2015-01-14 10:23:40 +0200

FrédéricC gravatar image

I am extremely new to Sage, and even newer to this site, so I apologize if anything is not up to standards.

I am dealing with a multivariable polynomial ring over $\mathbb{Z}$ with noncommuting variables. Is there a way to implement this with Sage? The closest thing I have found is FreeAlgebra, where the variables are noncommutative, but I have not found any way to impose relations that I want.

As stated before, I am extremely new to all of this so don't assume that I know anything, and don't hesitate to give any and all suggestions.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2010-12-06 22:30:47 +0200

niles gravatar image

Perhaps FreeAlgebraQuotient will be useful? Here's the first part of the docstring:

sage: FreeAlgebraQuotient?
Type:           type
Base Class:     <type 'type'>
String Form:    <class 'sage.algebras.free_algebra_quotient.FreeAlgebraQuotient'>
Namespace:      Interactive
File:           /Applications/sage/local/lib/python2.6/site-packages/sage/algebras/
Definition:     FreeAlgebraQuotient(self, x)

   Returns a quotient algebra defined via the action of a free algebra
   A on a (finitely generated) free module. The input for the quotient
   algebra is a list of monomials (in the underlying monoid for A)
   which form a free basis for the module of A, and a list of
   matrices, which give the action of the free generators of A on this
   monomial basis.


   Quaternion algebra defined in terms of three generators:

      sage: n = 3
      sage: A = FreeAlgebra(QQ,n,'i')
      sage: F = A.monoid()
      sage: i, j, k = F.gens()
      sage: mons = [ F(1), i, j, k ]
      sage: M = MatrixSpace(QQ,4)
      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]),  M([0,0,0,1, 0,0,-1,0, 0,1,0,0, -1,0,0,0]) ]
      sage: H3.<i,j,k> = FreeAlgebraQuotient(A,mons,mats)
      sage: x = 1 + i + j + k
      sage: x
      1 + i + j + k
      sage: x**128
      -170141183460469231731687303715884105728 + 170141183460469231731687303715884105728*i + 170141183460469231731687303715884105728*j + 170141183460469231731687303715884105728*k
edit flag offensive delete link more


Thanks! This is just the thing

Eric A Bunch gravatar imageEric A Bunch ( 2010-12-07 21:34:22 +0200 )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: 2010-12-06 21:53:32 +0200

Seen: 1,215 times

Last updated: Dec 06 '10