Opened 13 years ago

Last modified 9 years ago

#8878 needs_work defect

Use Dijkstra to discover shortest coercion path

Reported by: Nicolas M. Thiéry Owned by: Robert Bradshaw
Priority: major Milestone:
Component: coercion Keywords: coercion, morphism
Cc: Sage Combinat CC user Merged in:
Authors: Nicolas M. Thiéry Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Nicolas M. Thiéry)

In #7420, it was discussed that the current coercion model is using depth first search to find for coercion paths between different parents, and that it would be better to use breath-first / Dijkstra to get a shortest coercion path. For example, we obtained once a coercion path of length 20 among symmetric functions.

A preliminary patch lies on the Sage-Combinat server: but has not been touched in a long while and has most likely bit roten.

Note: the following issue is probably related:

A = CombinatorialFreeModule(QQ, ZZ, prefix = "A")
B = CombinatorialFreeModule(QQ, ZZ, prefix = "B")
C = CombinatorialFreeModule(QQ, ZZ, prefix = "C")
D = CombinatorialFreeModule(QQ, ZZ, prefix = "D")

def make_morph(X, Y):




d = D.monomial(1)


Change History (4)

comment:1 Changed 13 years ago by Nicolas M. Thiéry

Status: newneeds_work

comment:2 Changed 13 years ago by Nicolas M. Thiéry

Description: modified (diff)

comment:3 Changed 9 years ago by Darij Grinberg

The link to sage-combinat is dead.

(Posting this mainly to get a CC on this ticket.)

comment:4 Changed 9 years ago by Nicolas M. Thiéry

Description: modified (diff)
Note: See TracTickets for help on using tickets.