#12140: Symmetric functions uses lrcalc in symmetrica and bug fix in skew Schur
function indexed by [[], []]
------------------------------------+---------------------------------------
       Reporter:  zabrocki          |         Owner:  sage-combinat  
           Type:  defect            |        Status:  positive_review
       Priority:  major             |     Milestone:  sage-5.3       
      Component:  combinatorics     |    Resolution:                 
       Keywords:  sf, days38, sd40  |   Work issues:                 
Report Upstream:  N/A               |     Reviewers:  Anne Schilling 
        Authors:  Mike Zabrocki     |     Merged in:                 
   Dependencies:  #11563            |      Stopgaps:                 
------------------------------------+---------------------------------------
Changes (by aschilling):

  * status:  needs_review => positive_review


Old description:

> This patch switches computations in symmetric functions from symmetric to
> lrcalc which is now standard package in Sage.
>
> The following code causes a segmentation fault:
> {{{
> sage: s = SFASchur(QQ)
> sage: s([[], []])
> }}}
> or
> {{{
> sage: s([]).skew_by(s([]))
> }}}
> which should be s[] but instead causes a segmentation fault.
>
> The calculation of an expansion of a skew Schur function in the Schur
> basis done with the symmetrica package.
>
> The bug comes from the calculation of a skew Schur function indexed
> by two empty partitions.  To fix this bug we change the computation from
> the
> symmetrica package to lrcalc which should be faster and more robust.
> lrcalc is a package that was integrated into sage in version 5.2.beta1.
>
> Timing tests for computing expansions of skew Schur functions indicate
> that for large partitions there are significant speed improvements
> by using lrcalc instead of symmetrica.
> example:
> Without this patch applied:
> {{{
> sage: timeit('s([[9,9,8,8,7,7,6,6,5,5,4,3,2,1],[6,5,4,3,2]])')
> 5 loops, best of 3: 5.06 s per loop
> }}}
> With this patch applied:
> {{{
> sage: timeit('s([[9,9,8,8,7,7,6,6,5,5,4,3,2,1],[6,5,4,3,2]])')
> 5 loops, best of 3: 978 ms per loop
> }}}
> - In classical.py the construction of a skew Schur function now calls
> lrcalc.skew instead of symmetrica.part_part_skewschur
>
> - doc tests were added to check base cases in sfa.py and classical.py

New description:

 This patch switches computations in symmetric functions from symmetric to
 lrcalc which is now standard package in Sage.

 The following code causes a segmentation fault:
 {{{
 sage: s = SFASchur(QQ)
 sage: s([[], []])
 }}}
 or
 {{{
 sage: s([]).skew_by(s([]))
 }}}
 which should be s[] but instead causes a segmentation fault.

 The calculation of an expansion of a skew Schur function in the Schur
 basis done with the symmetrica package.

 The bug comes from the calculation of a skew Schur function indexed
 by two empty partitions.  To fix this bug we change the computation from
 the
 symmetrica package to lrcalc which should be faster and more robust.
 lrcalc is a package that was integrated into sage in version 5.2.beta1.

 Timing tests for computing expansions of skew Schur functions indicate
 that for large partitions there are significant speed improvements
 by using lrcalc instead of symmetrica.
 example:
 Without this patch applied:
 {{{
 sage: timeit('s([[9,9,8,8,7,7,6,6,5,5,4,3,2,1],[6,5,4,3,2]])')
 5 loops, best of 3: 5.06 s per loop
 }}}
 With this patch applied:
 {{{
 sage: timeit('s([[9,9,8,8,7,7,6,6,5,5,4,3,2,1],[6,5,4,3,2]])')
 5 loops, best of 3: 978 ms per loop
 }}}
 - In classical.py the construction of a skew Schur function now calls
 lrcalc.skew instead of symmetrica.part_part_skewschur

 - doc tests were added to check base cases in sfa.py and classical.py

 __Apply__

  * [attachment:trac_12140-sf_schur_done_w_lrcalc-mz.patch]

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12140#comment:17>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to