> thanks for the fast reply -- but I need statistics, not maps.  I..e, I'd like 
> to have a list of all methods applying to permutations that return a number...

sorry for not properly reading your request! We had, similar to the
@combinatorial_maps decorator, an @combinatorial_statistic decorator
at some point.
But I don't think this semantic information is currently available
since we stopped the use case in FindStat and then also stopped
implementing it in sage.

> Is it correct that findstat implements more statistics and more maps?  Is it 
> possible to use findstat from within sage?

That's correct for maps.

But it is not correct for statistics. Indeed, there is no statistic at
all implemented in FindStat, we only store statistics as their values
(though in a human readable field, there is the option to put (any
sort of) code (most often Sage, but we also have Mathematica code) to
generate that data, see www.findstat.org/St000193/ for a statistic
with code that is not directly in Sage). The reason is that we cannot
generate the data on the fly since that's much too slow (even for
simple statistics) to be usable in FindStat.

So you are very welcome to suggest a way of using the fairly flexible
"code" field of a statistic to make it machine readable (only if this
is desired for a given statistic), we will then find a way of making
that info available in Sage.

A first naive example could be:

The code field for the above statistic is
{{{
for i in [1..5]:
    for a in AlternatingSignMatrices(i):
        print [list(row) for row in
a.to_matrix()],"=>",a.transpose().to_monotone_triangle()[-1][0]
}}}
so we have no chance to actually turn that *automatically* into a
statistic. But if we would introduce a convention like "use a
decorator to tell that sth. is code to generate a statistic", we could
have that code starting with "@combinatorial_statistic" is taken to be
a statistic like
{{{
@combinatorial_statistic
def my_stat(ASM):
    return a.to_matrix()],"=>",a.transpose().to_monotone_triangle()[-1][0]

for i in [1..5]:
    for a in AlternatingSignMatrices(i):
        print [list(row) for row in a.to_matrix()],"=>",my_stat(a)
}}}
can be parsed and the statistic would be stored semantically as a statistic.

Finally, we could have a Sage interface that allows to check for all
stats for a combinatorial collection (say Permutations), or to get a
particular statistic to use it in sage.

But that's a lot of work and we would need some volunteer to actually do it.

Cheers,

    Christian

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-combinat-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to