Open cd38fdd3-72ba-48dd-ac57-d8359c63fec8 opened 6 years ago
Attachment: relations.patch.gz
Patch for Sage "develop" branch
Changed branch from develop to none
Changed commit from a178204
to none
Branch: public/relations
Changed branch from public/relations to develop
Commit: a178204
Changed branch from develop to public/relations
Changed commit from a178204
to none
Commit: bdf7549
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
0ff39ae | to_graph() -> to_digraph() |
fc900dc | methods made properties |
73e5c98 | transitive_closure |
ef76125 | removed a @property |
72628f5 | binary relations to/from (di)graphs |
f5a9be2 | (pre)order tests |
bcd24cd | TODO comment |
43d743a | added cartesian product and identity relation |
7714732 | integration of posets with binary relations |
bdf7549 | doc comments changes |
Author: Victor Porton
Description changed:
---
+++
@@ -1,3 +1 @@
I have implemented binary relations (including composition of relations, set theoretic operations, conversion back/forth to graphs and to posets, etc.)
-
-The patch is attached.
This could be quite useful. It looks like you need quite a bit of documentation/examples for the many methods involved. Especially the back/forth with posets, if robust, would be great - see e.g. this stack overflow question.
Branch pushed to git repo; I updated commit sha1. New commits:
5fc5429 | added FiniteBinaryRelation.{image,reverse_image} |
Branch pushed to git repo; I updated commit sha1. New commits:
aa1564c | added FiniteBinaryRelation.enumerate_all() |
I'm surprised something like this isn't already in Sage though that's not something I'm really qualified to comment on. I suspect there's also probably a better place to put this than starting a new top-level package.
I can make some minor nitpicks on the code itself if you think that would be helpful.
@embray I don't know if your nitpicks are good. After all, I know nothing about you. You decide if you do the work.
I am going to add yet one feature: Converting a function into a binary relation. However I will be busy today. I have not yet dived into details of this feature.
Replying to @embray:
I suspect there's also probably a better place to put this than starting a new top-level package.
I agree. A top-level package is supposed to contain many modules and/or packages.
I suggest to put this module into sage.combinat.relations
.
On the other hand, sage.sets.relations
would be a bad choice as sage.sets
is concerned with generic sets.
I have implemented binary relations (including composition of relations, set theoretic operations, conversion back/forth to graphs and to posets, etc.)
Component: packages: standard
Author: Victor Porton
Branch/Commit: public/relations @
aa1564c
Issue created by migration from https://trac.sagemath.org/ticket/24542