Dear Hellen, dear Nils,

On Fri, Mar 15, 2024 at 11:51 PM Nils Bruin <nbr...@sfu.ca> wrote:

> On Friday 15 March 2024 at 15:08:34 UTC-7 Hellen Colman wrote:
>
> Let me just clarify the main point of his question just in case we can
> still obtain a helpful answer. Essentially the question is: Why is Sage
> calling "antisymmetric" to a property that is not the standard
> antisymmetric property?
>
>
> I agree that a relation gives rise to a graph, but I wouldn't presume that
> the standard notion of "antisymmetric" for relations would agree with that
> on graphs (or even that there would be a property of graphs that is called
> "antisymmetric).  So if there is something transferable to be learned for
> for students here it is perhaps that terminology is not perfectly aligned
> between different areas in mathematics. Given that the word "antisymmetric"
> is now taken to mean something specific for graphs (I assume whoever did
> that consulted some graph-theory books), it will have considerable inertia
> because changing it to something else would break backward compatibility.
>

I went to look for some references for "antisymmetric graph", and indeed
Sage's definition
doesn't agree with what I found:
<https://www.sciencedirect.com/science/article/pii/0012365X75900928> and
<https://arxiv.org/pdf/2208.10727.pdf>

I dug up the original vintage commit where this function was introduced:
(fortunately, with git it's just
   git log -S "def antisymmetric(self)"
)
commit 0e4f3807f2a18b3a03f47ad35d0aae1c06058fc0
Author: Jason Grout <jason-s...@creativetrax.com>
Date:   Tue Sep 25 18:46:29 2007 -0500

    graphs: added transitive_closure() and antisymmetric().
[...]
+    def transitive_closure(self):
+        r"""
+        Modifies a graph to be its transitive closure and returns the
+        modified graph.
[...]
+    def antisymmetric(self):
+        r"""
+        Returns True if the relation given by the graph is
+        antisymmetric and False otherwise.
+
+        A graph represents an antisymmetric relation if there being a
+        path from a vertex x to a vertex y implies that there is not a
+        path from y to x unless x=y.
[...]

That is, "antisymmetric" was just a sloppy naming for a different to
"antisymmetric graph".

I propose the following course of action:

1) copy antisymmetric() to antisymmetric_relation(); deprecate
antisymmetric();
introduce  antisymmetric_graph(), to mean the standard definition as Hellen
points at.
2) after the deprecation period, make antisymmetric() a copy of
antisymmetric_graph(),
and deprecate the latter
3) after the (2nd) deprecation period, remove antisymmetric_graph()
So in the end, in about 2 years, there will be antisymmetric() - conforming
to the standard - and antisymmetric_relation()
- the original code for old antisymmetric()

Cheers
Dima


> If you feel strongly that a change in terminology would be beneficial, you
> could collect some references corroborating your proposed meaning. If
> someone else feels strongly enough about preserving the present meaning,
> they would likely counter with their own set of references. At that point
> hopefully a consensus would grow, with a (slight) preference for the status
> quo. If both notions have support, we'd likely look into a way of
> supporting both; probably by dangling the appropriate adjectives in front
> of "antisymmetric", like "edge_antisymmetric" and "path_antisymmetric" or
> something like that.
>
> For your research, you might be interested in an
> is_homotopically_equivalent method.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-support+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-support/8b537b0f-d1bb-41eb-95f6-33c8a2c4c3d6n%40googlegroups.com
> <https://groups.google.com/d/msgid/sage-support/8b537b0f-d1bb-41eb-95f6-33c8a2c4c3d6n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-support/CAAWYfq37mWomXYd2eRS3MB4oqisaJLskgrZhrSqKP%3DjTHNazrA%40mail.gmail.com.

Reply via email to