Hello everyone, I like what statistics try to do but I do not like the way it works. Please tell me where I am wrong and where I am right. I can provide some proof of concepts as soon as most of you agreed on the design. Please: critics are welcome.
I think that there are two disjoint tasks: - add semantic to Map and Morphism - gather the list of meaningful maps First of all, I think that most of us agree that it would be nice to have more semantics at the level of maps (especially injectivity/surjectivity/bijectivity, commutation relations with other maps, etc). Note that Morphism is already a way of providing semantics as it tells that the map preserves some structure. It will not hurt me too much to have an alias satistics for maps from a countable set to the non-negative integers or combinatorial_maps for maps between two countable sets but the work has to be done at the level of maps. Let me notice that right now, combinatoral_map is just an empty class whose purpose is to tag some methods as being of the good kind. The only semantic added here is "that method is actually a map". Secondly, there is the thing at what the current FindStat is good: gathering the set of meaningful maps from Parent A to Parent B. The set of maps from/to somebody might be registered somewhere else in the same way that conversion/coercions are handled. I think that such thing must be flexible enough to be tuned by users (especially by the FindStat project). The function to do the job might looks like {{{ build_map_from_method(domain, range, category=X, method_name='toto', injective=True, register=True) }}} In some places, a decorator might be a way to proceed. Once that done, we can add some generic stuff at the level of parents like {{{ sage: Partitions().known_maps_to(Permutations()) sage: Graphs().known_maps_from(Posets()) }}} and start playing with compositions of such maps as it is done in FindStat. That being said we do not want to register all computable maps on startup. So we have to find the good balance between interesting maps as "the number of descents in a permutation" and uninteresting maps as "the polynomial map 57*n^2 - 18*n +3 from {-12, 1, 42, 2243} to the integers". Vincent -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.