Hi Nicolas,

On Tue, Mar 22, 2011 at 12:54:44AM -0700, Anne Schilling wrote:
Looking around the code recently, it seems to me that currently there are
several ways to access/implement free algebras. One option is

sage: F = FreeAlgebra(ZZ,3,'x')
sage: F
Free Algebra on 3 generators (x0, x1, x2) over Integer Ring

On the other hand, there is an example in

sage: A = AlgebrasWithBasis(ZZ).example()
sage: A
An example of an algebra with basis: the free algebra on the generators ('a', 
'b', 'c') over Integer Ring

Which should be used in the long run?

FreeAlgebra. But it should be refactored to use categories and to
accept any index set for the generators, as does the example. And it
would be best implemented as the algebra of the free monoid:

        sage: FreeMonoid(3,['a','b','c']).algebra(QQ) # does not work ...

Then, it would in particular benefit from the features you
mentioned. There was a discussion about this in March 2010, but alas
nothing happened yet.

This would be slightly different from the current implementation of the free 
algebra
as an example of AlgebrasWithBasis, right?

Is it already possible or would it be easy to implement a quotient
of the free algebra by specifying relations between the generators?

Unless Singular can provide something (but I guess that would be more
for skew-commutative algebras; Simon: can you confirm?), the proper
way to do this would be to use gap's KBMAG package. It should be
fairly straightforward, but not instantaneous either.

What about in monoids or the word code? Is it already possible there to
work in a quotient specifying certain relations?

Cheers,

Anne

--
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.

Reply via email to