Hi Dan!

On Fri, Oct 05, 2012 at 04:15:03PM -0700, Daniel Bump wrote:
> Not in principle, but anyway I think the immediate request
> can be satisfied in the context of #13461 (see my previous
> in this thread).

Great; then there is no urgency!

> Sure, but it is a single key algorithm that needs to be made
> fast, not something I see in the context of a more general
> problem. So I'm not sure that syncronizing it with Matthieu's
> work would benefit the problem of making the Lie code fast.

Ok, #13461 is indeed more independent than I had understood from its
description. The only thing is that dense free modules could possibly
help rewriting the new algorithm with more concise/conceptual notation
without loss of speed.

> > structure for free modules over ZZ. Once your patch is in Sage, we
> > should think about generalizing it:
> 
> Maybe it should be coded in C?

The data structure for dense free modules should certainly be in
Cython. And then it might possibly be worth rewriting some of the
fundamental low level operations on the weight ring (divided
differences / demazure / ...) in Cython.

> I hope that #13461 can get merged into sage-5.5. As it stands
> it's a big speedup. I don't understand yet why the patchbot
> doesn't think it applies to 5.4.rc0 ...

Cheers,
                                Nicolas

PS: by the way: the methods ``scale`` and ``shift`` would be best
reimplemented using map_support:

    sage: f = CombinatorialFreeModule(ZZ,ZZ).an_element()
    sage: f
    3*B[-1] + B[0] + 3*B[1]
    sage: f.map_support(lambda x: 2*x)
    3*B[-2] + B[0] + 3*B[2]

In case the lambda calls would be slow, there probably is a Cython
equivalent that we could use instead.

In general, calls to ``monomial_coefficients`` are often good
indications that one could use some more specific method.


--
Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net>
http://Nicolas.Thiery.name/

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.

Reply via email to