Hi Martin, > Ralf, I suggest that you (or me, if you like) merge the docs I have written > for > Compose in iso-experiment, with trunk. THe outline of the algorithm for > isotypes in trunk is outdated.
You certainly refer to the outline I have given in ToDo33(rhx22). And your documentation for isomorphismTypes of Compose is the following? ------------------- It is very unlikely that there is a good algorithm to unrank a composition of two species in general. See the email of Nicolas Thiery, \url{http://www.mail-archive.com/aldor-combinat-devel%40lists.sourceforge.net/msg00133.html}. However, it is possible to generate efficiently all \adname{isomorphismTypes}: \begin{itemize} \item generate a multiset partition $\pi$ of the input set $U$, written as a multiset. \item for each block $p$ with multiplicity $n_p$ of $\pi$, generate a multiset $M_p$ of cardinality $n_p$ of isomorphismtypes of $G[p]$. Note that $G$-isomorphismtypes corresponding to different blocks are necessarily different. \begin{ToDo} \begin{mrx} 18-Mar-2007: is this really true? Is the wording correct? How about the cardinality species? \end{mrx} \end{ToDo} For this step it would be useful to be able to generate isomorphismtypes given a generator only. \item generate an isomorphismtype of $F[M_1,M_2,\dots]$ \end{itemize} ------------------- To be honest, I do not really understand why this is an algorithm to generate the isomorphism types of Compose. If you want to convince me, you have to be more precise. Anyway, we seem to be in total disagreement with respect to the representation of isomorphism types. Martin's approach: ------------------ Introduce a new type that represents the isomorphism types. Make all labels indistinguishable. Ralf's approach: ---------------- Consider isomorphism types of F as elements of F[n]/~ where ~ is the equivalence w.r.t the isomorphisms S[n]. Those elements are actually sets and one (canonical) representative is chosen. >>From a mathematical perspective, Partition L and MultiSet L are close > relatives, as you have noticed. However, I do not want to see > isomorphismTypes: Partition L -> Generator % > in trunk. Well, that is very constructive. :-( I don't claim that I have the best signature. Partition L just was what came to my mind and should work quite well. Multiset would probably be a better name and perhaps even fit better, but that would be Multisets in the sense of BLL. I don't want to remove the labels. So translating 'Partition L' to a multisort environment, I would (approximately) want to have isomorphismTypes: Multiset(SetSpecies L) -> Generator % for some (unisort) species F. So just replace 'Partition L' in the above signature. But all that is not well enough thought of. As it seems that my ideas of Multisort species maybe generic enough, but they also seem to introduce overhead for situations like Compose of unisort species. Sorry, that I have not opened up a multisort branch, but it is currently a total mess. Maybe I should send you the file privately. > If you like, we can duplicate (with svn cp) iso-experiment, and do > that there -- I think that would be very easy, in fact. Again, your documentation is not sufficiently understandable. So I wouldn't even know if your implementation is correct. > Much more sensible I think would be to express the same functionality with > MultiSort species. Do not forget: we won't be able to generate Isotypes of > FunctorialComposition, thus, to take them as an argument for the representing > isotypes by representatives :-) is unfortunate. What? "we won't be able to generate Isotypes of FunctorialComposition" If you take that as an argument to deviate from the clear mathematical analogue we have in AC now, then I simply don't agree. Just suppose next week comes some brilliant guy and tells you how to generate such iso types. > I think that Permutation, Cycles, etc. should be moved to an "examples" files, > as I have started it in iso-experiment. species.as.nw should only contain the > "natural transformations" and everything they depend on, don't you think? Oh, since some time I wanted to clean up our stuff. In fact, what I would like to have is a directories "species", "series", etc. and under each of them implement each species in a different file. Maybe there are some things that *have to be* in just one file (like CombinatorialSpecies and SetSpecies), but that is another problem. How we then include those file (basic species, basic constructors, example species) is a meta task. Should I split species.as.nw? 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