#15303: Coercion discovery fails to be transitive
-------------------------------------+-------------------------------------
Reporter: nbruin | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: sage-5.13
Component: coercion | Resolution:
Keywords: | Merged in:
Authors: Simon King | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/SimonKing/ticket/15303 | f837cbee8f81c4946a92193c73e86449c53515d9
Dependencies: #14711 | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by nbruin):
> - '''Important:''' Get timings for examples that should be most
sensitive against slow-downs in coercion.
Looking at what happens for number fields, I have the impression that
`QQ._populate_coercion_lists_` is most frequently used to supply
embeddings (I'm not getting many hits on direct calls to
!register_embedding, see below)
The only two classes I have been able to identify that actually install
embeddings are numberfields (and not all of them) and
!AbelianGroupWithValues_class
So, assuming that the version check itself is lightning-fast (and why
shouldn't it be?) I expect that negatively affected examples would have to
do a lot of number field or !AbelianGroupWithValues creations interleaved
with complicated coercion discovery that benefits a lot from knowing
certain coercions do NOT exist.
There's !AdditiveAbelianGroupWrapper which does an `_unset_coercions_used`
together with a `register_embedding` (registering an "embedding" of the
wrapper into the wrapped)
There's also !UniversalCyclotomicField which registers an embedding into
QQbar upon init, so that shouldn't really affect versioning.
--
Ticket URL: <http://trac.sagemath.org/ticket/15303#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 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.