> 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".
>
>
I don't understand, are you talking about maps or statistics? There are two
different things, unless you consider  statistics to be a map from the
object to the integers but I'd say we want to keep two problems separated.

Right now, the combinatorial_map decorator offers already some kind of
semantic information, the fact it flags the methods is in itself semantics.
I agree that there should be more. Right now, you can do:

sage: p = Permutation([1,2,3])
sage: from sage.combinat.combinatorial_map import
combinatorial_maps_in_class
sage: combinatorial_maps_in_class(p)
[Combinatorial map: reverse,
 Combinatorial map: complement,
 Combinatorial map: permutation poset,
 Combinatorial map: Robinson-Schensted insertion tableau,
 Combinatorial map: inverse,
 Combinatorial map: Robinson-Schensted recording tableau,
 Combinatorial map: foata_bijection,
 Combinatorial map: descent composition,
 Combinatorial map: Increasing tree,
 Combinatorial map: Binary search tree (left to right),
 Combinatorial map: Robinson-Schensted tableau shape,
 Combinatorial map: to alternating sign matrix,
 Combinatorial map: Simion-Schmidt map]

The way it works: the decorator replaces the tagged methods by instances of
combinatorial map class, the functions only checks which methods are indeed
instances of this class.

It is partly the information you need even so I'm not sure it's a good way
to have it. And also, this function is hidden somewhere and not accessible
from the object or the parent itself.

About Nathan's suggestion to have a flag, I don't know if it's such a good
idea. The idea is to provide this semantic information to any user of Sage
not machines.

Also, there is no need to bring Findstat into the debate. We have our own
sage branch for the website. Git has made it quite easy for us to maintain
it and do whatever we want in it, the concern here is indeed Sage.

The way I see this, *because* of the FindStat use case, the
combinatorial_map decorator has been introduced and many Sage developers
have been devoted time into adding semantic information into sage methods.
Of course, we could remove this all together, but this would be a great
loss for Sage as this semantic information is useful for users. And Here, I
speak as a combinatorist person working with these objects every day.

So, our concern should be: how to make this information easily available to
users and how could we store this without impacting efficiency of the
program.

-- 
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