#17408: Faster transitive_reduction (=> faster Poset creation)
-------------------------+-------------------------------------------------
Reporter: | Owner:
ncohen | Status: needs_review
Type: | Milestone: sage-6.5
enhancement | Resolution:
Priority: major | Merged in:
Component: graph | Reviewers:
theory | Work issues:
Keywords: poset | Commit:
Authors: | ce577a909e3ac2835f975cc9515b54459174e8ca
Nathann Cohen | Stopgaps:
Report Upstream: N/A |
Branch: |
u/ncohen/17408 |
Dependencies: |
-------------------------+-------------------------------------------------
Comment (by nbruin):
Replying to [comment:12 ncohen]:
> What we would need as you say is a class exactly like Poset without the
parent infrastructure, but how could we implement that with the smallest
amount of copy/paste ?
It would require some thought and some major refactoring. The natural
structure to me would seem to have a base class that does not inherit from
UniqueRepresentation that implements all the basic stuff and then
(hopefully) use multiple inheritance to equip this with the requisite
parent stuff for the "full Parent POSet". If there are things that are
incompatible between a usable "fast POSet" and a "full parent POSet" then
the useful thing should probably inherit separately from the common base
class.
The "full parent poset" __init__ would probably require some trickery to
allow instantiation of a full parent from a fast poset (if that's
required). Quite possibly, you'd be better off with a !UniqueFactory
there, so that you have better control over what the construction is keyed
under.
--
Ticket URL: <http://trac.sagemath.org/ticket/17408#comment:14>
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/d/optout.