"Mike Hansen" <[EMAIL PROTECTED]> writes:

> I put my code species code that I've written so far based on your work up on
> the sage-combinat patch server.  I made a blog posting about it which you can
> find at http://blog.phasing.org .  I also put up syntax-highlighted versions
> of the relevant code that you can find here:
> http://blog.phasing.org/static/species/ , and there is a static demo page
> here:
> http://sage.math.washington.edu/home/mhansen/CombinatorialSpeciesDemo.html

Many thanks.  Is there a documented version available?  I tried to understand
what happens for isomorphismtypes of (usual) composition, but I failed...

I guess, the code in question is

    def _isomorphism_types(self, s):
        """
        EXAMPLES:
            sage: from sage.combinat.species.species import SetSpecies, 
CycleSpecies, PermutationSpecies
            sage: E = SetSpecies(); C = CycleSpecies()
            sage: L = E(C)
            sage: len(L.isomorphism_types([1,2,3]).list())
            3
        """
        return self._composition_aux("isomorphism_types", s)

    def _composition_aux(self, attr, s):
        structure_class = self._structure_class
        from sage.combinat.cartesian_product import CartesianProduct
        P = PartitionSpecies()
        for pi in getattr(P, attr)(s):
            gs = CartesianProduct(*[getattr(self._G,attr)(part) for part in pi])
            fs = getattr(self._F,attr)(pi)
            for res in CartesianProduct(fs, gs):
                yield structure_class(self, *res)

This looks deceptively simple.  Are you sure it's correct?

In particular, I couldn't find Knuth's multipartitions anywhere.  Were you able
to do without?  Help is much appreciated.

> I was wondering if you'd be willing to release Aldor-Combinat to me under GPL
> v2 or later since that is the license I'd like to release my code under to be
> compatible with the rest of Sage.

I cannot answer that one, but I guess it shouldn't be a problem.  It's not a
problem for me, at least.

> I'm going to be doing some work with Robert Miller in upcoming weeks on
> generating isomorphism class representatives for functorial composition.  He
> wrote a clean-room implementation of the algorithms in nauty for graph
> isomorphism testing and generating non-isomorphic simple graphs.  This summer
> he's working on generalizing that code to work with other types of
> combinatorial objects.

Wow.

> I'll probably be working on the multisort case later on.  Due to lack of
> funds, I can't make it out to RISC this summer, but I'd be more than happy to
> join in your discussions about multisort species.

I did most of the maths involved (i.e., how to generate isotypes of a
composition of multisort species), it's mainly a problem of representation.
The trouble is, so far I did not find a reasonable way to do composition such
that the output are *representatives* of isomorphismtypes -- the approach taken
in the trunk version of Ralf's code and mine.  But if your code above solves
this problem, then there is little left to do!

In iso-experiment, which is the branch implementing proper isotypes of
composition, the labels are replaced by all ones.  But obviously, that won't
work for functorial composition...

Martin


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Aldor-combinat-devel mailing list
Aldor-combinat-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aldor-combinat-devel

Reply via email to