#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: Implement
Branch: | backtracking properly
u/SimonKing/ticket/15303 | Commit:
Dependencies: #14711 | 74821fe5409c3104b5d6eb7407a8287d54170df9
| Stopgaps:
-------------------------------------+-------------------------------------
Comment (by nbruin):
Replying to [comment:53 SimonKing]:
> I think the following is both reasonable and reasonably close to the
status quo:
> - if `_coerce_map_from_` returns a map, then we trust that it is a good
choice.
> - if `_coerce_map_from_` returns True, then we do not necessarily trust
that `self._generic_convert_map(S)` is the best choice. So, we test if
backtracking yields anything better.
Can we explain these rules purely in terms of the coercion graph? Does
`_coerce_map_from_(..)==True` somehow indicate an edge with a property
(colour?) that should be avoided or an edge with the cost modified
(increased)? If the graph version is increased, do we invalidate paths
with a bad colour as well, because now there might be one with a better
colour? (OK, we can't call this property colour, obviously. That's just
going to be too politically incorrect).
My hunch is that the undesirability of a certain edge can simply be
expressed in its cost and that we only need a 1-dimensional cost parameter
to capture all that we need [we'd have to think about calibration,
though].
Above, you also talk about "forbidden" and "temporarily forbidden" paths.
Are those part of the depth-first path discovery? That would be an even
better reason to see if we can get a "cheapest first" search in, since
that naturally avoids cycles.
--
Ticket URL: <http://trac.sagemath.org/ticket/15303#comment:54>
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.