#14711: Weak references in the coercion graph
-------------------------------------+-------------------------------------
Reporter: jpflori | Owner: davidloeffler
Type: defect | Status: needs_review
Priority: critical | Milestone: sage-6.1
Component: number fields | Resolution:
Keywords: memleak, number | Merged in:
field, QuadraticField | Reviewers: Jean-Pierre Flori
Authors: Simon King | Work issues:
Report Upstream: N/A | Commit:
Branch: | 0af59ea93689cb6abb9d3fae0f1cf11f2aee5cca
u/jpflori/ticket/14711 | Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by tscrim):
Okay, I've done the initial stuff and called the new method
`_internal_coerce_map_from()`. I've pushed it into the branch
{{{
public/structure/unique_repr_homsets-14793-internal_test
}}}
However I get the following doctest failing in `parent.pyx`:
{{{
The following was fixed in :trac:`4740`::
sage: F = GF(13)
sage: F.coerce_map_from(F) is F.coerce_map_from(F)
True
}}}
It's returning `False` which I think is okay, but I'd need someone more
experienced in the finite fields code to verify that it's okay...well it
might just need to be changed to the new internal method (see below).
I'm also getting a strange `<BLANKLINE>` in a doctest in `coerce.pyx`,
which is causing a doctest failure. My guess is it's somehow coming from
the warning message... Anyways, I'm running all doctests now.
Now here's the list of files in the new branch which use
`coerce_map_from`:
{{{
categories/pushout.py
combinat/sf/new_kschur.py
combinat/root_system/weight_lattice_realizations.py
geometry/polyhedron/parent.py
rings/real_mpfr.pyx
rings/real_double.pyx
rings/finite_rings/finite_field_base.pyx
rings/finite_rings/integer_mod_ring.py
rings/finite_rings/finite_field_prime_modn.py
rings/number_field/number_field.py
rings/number_field/number_field_rel.py
rings/polynomial/polynomial_modn_dense_ntl.pyx
rings/polynomial/polynomial_ring.py
rings/polynomial/laurent_polynomial_ring.py
rings/complex_field.py
rings/complex_double.pyx
rings/rational_field.py
rings/residue_field.pyx
}}}
I've also started doing some of the swaps to the internal maps in:
{{{
src/sage/categories/homset.py
src/sage/categories/map.pyx
src/sage/combinat/free_module.py
src/sage/structure/parent_old.pyx
schemes/projective/projective_point.py
schemes/projective/projective_morphism.py
schemes/generic/morphism.py
structure/formal_sum.py
}}}
I'd like to know if we're okay just swapping the old `coerce_map_from()`
to the `_internal_coerce_map_from()`? I think we'd want to do this anytime
the user will not have access to the maps, and I think they are safe to do
so, but could someone else double-check this for me? Thanks.
--
Ticket URL: <http://trac.sagemath.org/ticket/14711#comment:180>
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/groups/opt_out.