Dear Anne, Simon, 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. > 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. Cheers, Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ -- 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.