On Sat, Mar 26, 2011 at 03:28:49AM -0700, Simon King wrote:
> I guess that F.basis() should have some index set. Here, it seems
> natural to me to choose M=FreeMonoid(3,['x','y','z']): If m is in M
> then F.basis()[m] returns the corresponding element of F.
> 
> Is that the only requirement to F.basis()?

And it should model the basis of F; in particular here, we might want
to do things like:

        for b in F.basis(): ...

The best is to implement ``basis`` using a Family, as is done in
CombinatorialFreeModule. In fact, we should probably lift this
definition to ModulesWithBasis, possibly adding a method
F.basis_keys() to encapsulate the current ``_basis_keys`` attribute of
CombinatorialFreeModule.

> Concerning compatibility: Rather than indexing the basis with the
> elements of M, one could index it by the words in the alphabet
> 'x','y','z'.

Or better: the elements of the FreeMonoid should really be words!

> Is there a protocol for doing conversion by changing the index set,
> yet?

Not yet.

> Such conversions could indeed facilitate consistency between
> different implementations of "the same" algebra.

Indeed!

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.

Reply via email to