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

Reply via email to