Let me respond to my own posting... I've now read the section on multi-sort species again, and begin to understand that these "structure types inbetween" (which come from multiset input) are, in fact, ordinary isomorphism types of multi-sort species. For that reason there is another "con" which actually has nothing to do with the order on L.
It rather says that introducing multisets in a unisort species context I consider not my _favourite_ design. 1) Multisort species come with different generating series (having as many variables as the number of sorts). 2) Although the generation of structures might be more efficient if done in the way Martin does it in branches/iso-experiment, having unisort and multisort concepts in one context, is not what I would prefer. 3) It seem a bit cumbersome to require the user to call structures([l11,l12],[l21]) $ BinaryTree(L1,L2) for generating, for example, isomorphism types of trees with 3 nodes where two of them are indistinguishable and structures([l11,l12],[l21],[l31,l32,l33]) $ BinaryTree(L1,L2,L3) for an analogous thing. That sounds like introducing lots and lots of domains and making it hard to work with AC. 4) However, if I consider functorial composition (BLL right after Example 2.4.9) then having MULTISORTSPECIES ==> (L: Tuple(LabelType)) -> CombinatorialSpecies(L) (note the "Tuple") would not be such a bad idea. BTW, I am not saying that I am completely against structures: MultiSet L -> Generator % because it would perhaps mean that we switch to implement multi-sort species, but what bothers me are the generating series. They are then simply not "multi-sort". So if someone tells me how that can be resolved, I'd be more happy. Ralf On 02/27/2007 04:41 PM, Ralf Hemmecke wrote: > Hello to all who care... > > I would like to take up the diskussion started at > > http://thread.gmane.org/gmane.comp.mathematics.aldor-combinat.devel/537 > > In particular I'd like to discuss the design of the generation of > structures and isomorphism types. > > Actually, Martin made me aware of the fact that there are not only > labelled and unlabelled structures but also things inbetween. So > > structures: MultiSet L -> Generator % > > would be a good candidate for a new design. > > If all elements have multiplicity 1, then it would be like > > structures: SetSpecies L -> Generator % > > And if there is only one element with multiplicity n, then it would be like > > isomorphismTypes: SetSpecies -> Generator %. > > In fact, I believe that for a cleaner interface both of the functions > involving "SetSpecies" should not be exported but rather only used > internally. > > Currently, I see a MultiSet(L) as something like a polynomial domain > (that has no multiplication, and all elements are of "degree" 1) where > the "variables" are from L and the (non-negative integer) coefficients > denote the multiplicity of the "variable". > > Now, since there is a domain "SparseAdditiveArray" in AC that basically > is such a "polynomial domain of degree 1", it costs not much to > implement MultiSet. > > What bothers me a bit is whether L should be ordered or not. > There are pros and cons. > > con 1) A multiset is by nature unordered. > > con 2) We deal with species that work over sets. > > con 3) I don't yet have an idea whether ordering the "variables" would > cost a lot in the generation of species. > > > pro 1) SparseAdditiveArray works only with ordered "variables". > > pro 2) I believe that introducing some order on the input is necessary > for (un)ranking anyway. > > pro 3) Since species are endofunctors of the finite sets category, > ordering (of a finite set) is not a big deal. > > > I think the code that Martin has in branches/iso-experiments could serve > as a start for the idea of having only > > structures: MultiSet L -> Generator % > > Does somebody see any problem in that design? > > Ralf ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Aldor-combinat-devel mailing list Aldor-combinat-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aldor-combinat-devel