#15303: Coercion discovery fails to be transitive
-------------------------------------+-------------------------------------
       Reporter:  nbruin             |        Owner:
           Type:  defect             |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-5.13
      Component:  coercion           |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Simon King         |    Reviewers:
Report Upstream:  N/A                |  Work issues:  Analyse recursion
         Branch:                     |  error
  u/SimonKing/ticket/15303           |       Commit:
   Dependencies:  #14711             |  74821fe5409c3104b5d6eb7407a8287d54170df9
                                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by SimonKing):

 I observe that the example sometimes works and sometimes fails. This seems
 to indicate that one "randomness" in my code is problematic.

 Namely, with the current commits, the coercions that are used by the
 backtracking algorithm are stored in a `MonoDict`
 (`codomain._coerce_from_backtracking`). The hash depends on the id of the
 keys and is thus susceptible to change between different runs of Sage, and
 therefore the order in which the arrows of the coerce digraph are
 considered in the backtracking algorithm also changes between different
 runs of Sage.

 I am not sure what I shall think of it. My first impulse: It does not
 matter ''what'' map is returned as result of backtracking, but in any case
 it must be a ''valid'' map. In the example of comment:32, it seems that
 some arrows in the coerce graph make assumptions on other arrows of the
 coerce graph (therefore the recursion), which is a bug.

--
Ticket URL: <http://trac.sagemath.org/ticket/15303#comment:35>
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.

Reply via email to