#15475: Reenable broken doctests in #15473 and #15476 when #10963 is merged
-------------------------------------+-------------------------------------
Reporter: darij | Owner:
Type: defect | Status: needs_work
Priority: minor | Milestone: sage-6.3
Component: categories | Resolution:
Keywords: 10963, | Merged in:
categories, c3, coercion, | Reviewers:
transitivity, descent algebras, | Work issues:
symmetric functions | Commit:
Authors: | 0763ba5f5bd82948a08ab519f93bbe490d8743c2
Report Upstream: N/A | Stopgaps:
Branch: |
public/categories/15475 |
Dependencies: #10963, #15473, |
#15476 |
-------------------------------------+-------------------------------------
Comment (by tscrim):
I've figured it out. The issue is that because we are not holding a strong
reference to `SGA4`, it is being garbage collected, but `DAB` has not
been. As such, the new coercion map does not get recreated, so the new
`SGA4` doesn't know about the (dynamically created) coercion:
{{{
sage: SGA4 = SymmetricGroupAlgebra(QQ, 4); DAB = DescentAlgebra(QQ, 4).B()
sage: del SGA4
sage: import gc
sage: gc.collect()
599 # Some number, not important
sage: SGA4 = SymmetricGroupAlgebra(QQ, 4) # Now recreate it
sage: x = DAB[4]; SGA4(x)
}}}
If you remove the `del SGA4`, it always works. I think the doctest runner
is much more liberal about garbage collection which is why the test we had
''almost'' always failed.
Therefore I've fixed this by making the descent algebra hold a ''strong''
reference to the SGA (which it probably should irregardless).
--
Ticket URL: <http://trac.sagemath.org/ticket/15475#comment:21>
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.