#12140: Symmetric functions uses lrcalc in symmetrica and bug fix in skew Schur
function indexed by [[], []]
------------------------------------+---------------------------------------
Reporter: zabrocki | Owner: sage-combinat
Type: defect | Status: needs_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):
* milestone: sage-5.2 => sage-5.3
Old description:
> This patch switches computations in symmetric functions from symmetric to
> lrcalc which is now standard package in Sage.
>
> In addition, this patch fixes the following bug which causes a
> segmentation fault:
>
> {{{
> sage: s = SFASchur(QQ)
> sage: s([[], []])
> }}}
>
> I found this error because I was computing a sum with the skew_by
> operation
>
> {{{
> sage: s([]).skew_by(s([]))
> }}}
>
> which should be s[] but instead causes the segmentation fault.
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
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12140#comment:16>
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.