#18194: Speedup of calculation of Macdonald H and Ht bases
-------------------------------------+-------------------------------------
       Reporter:  zabrocki           |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  minor              |    Milestone:  sage-6.7
      Component:  combinatorics      |   Resolution:
       Keywords:  sf, days67, sage-  |    Merged in:
  combinat                           |    Reviewers:  Travis Scrimshaw
        Authors:  Mike Zabrocki      |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  23dea68c64c8fb1e5957d6396bb0f98c4fa850d1
  public/combinat/mac_speedup-18194  |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------
Description changed by zabrocki:

Old description:

> A formula of F. Bergeron, A. Garsia and M. Haiman gives a Pieri rule for
> `h_r^\perp {\tilde H}_\mu` and this formula can be used to compute the
> `H` and `Ht` bases much quicker than previous implementations.  The
> current implementation computes the `H` and `Ht` basis through the `J`
> basis and this basis is implemented through creation operators.
>
> For instance a command that takes a relatively long time to compute is
> {{{
> sage: %time H([3,2]).nabla(q=H.q,t=1/H.t)
> CPU times: user 2.75 s, sys: 86.6 ms, total: 2.83 s
> Wall time: 2.95 s
> q^4/t^2*McdH[3, 2]
> }}}
> and with the new implementation the same command has the timing
> {{{
> CPU times: user 184 ms, sys: 18.7 ms, total: 203 ms
> Wall time: 196 ms
> }}}
>
> One reason that some of the computations in the `H` and `Ht` bases take a
> long time is that the entire basis a given degree is cached and so
> subsequent computations will be faster.  However it seems that the new
> implementation is cached more efficiently and is faster.

New description:

 A formula of F. Bergeron and M. Haiman gives a Pieri rule for `h_r^\perp
 {\tilde H}_\mu` and this formula can be used to compute the `H` and `Ht`
 bases much quicker than previous implementations.  The current
 implementation computes the `H` and `Ht` basis through the `J` basis and
 this basis is implemented through creation operators.

 For instance a command that takes a relatively long time to compute is
 {{{
 sage: %time H([3,2]).nabla(q=H.q,t=1/H.t)
 CPU times: user 2.75 s, sys: 86.6 ms, total: 2.83 s
 Wall time: 2.95 s
 q^4/t^2*McdH[3, 2]
 }}}
 and with the new implementation the same command has the timing
 {{{
 CPU times: user 184 ms, sys: 18.7 ms, total: 203 ms
 Wall time: 196 ms
 }}}

 One reason that some of the computations in the `H` and `Ht` bases take a
 long time is that the entire basis a given degree is cached and so
 subsequent computations will be faster.  However it seems that the new
 implementation is cached more efficiently and is faster.

 This ticket also catches an problem in `sage.combinat.nscf_qsym.qsym`
 where `to_symmetric_function` constructs an element with support in
 compositions.

--

--
Ticket URL: <http://trac.sagemath.org/ticket/18194#comment:69>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

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

Reply via email to