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.

Reply via email to