#18050: Implement dual equivalence graphs
-------------------------------------+-------------------------------------
       Reporter:  tscrim             |        Owner:  sage-combinat
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.6
      Component:  combinatorics      |   Resolution:
       Keywords:  dual equivalence   |    Merged in:
  graphs                             |    Reviewers:
        Authors:  Travis Scrimshaw   |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  65ddba1c9e657a5315b815418d6d336acb07caff
  public/crystals/dual_equivalence-18050|     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by darij):

 Replying to [comment:18 tscrim]:
 > > My question is still standing: Where are the `= 0 or 1` conditions in
 Assaf's (4.1) reflected in your code and doc? Or are they redundant, or
 wrong, or your notion of dual equivalence graphs different?
 >
 > It's in the code, see this line:
 > {{{
 > if x.epsilon(i) == 1 and x.epsilon(im) == 0:
 > }}}

 But what about the doc? Without this condition it sounds like your graph
 has a lot more (isolated) vertices than it should have.

 > Note that because I considered the directed, I make it slightly more
 specific than Assaf's definition by saying `\varepsilon_j(b) = 1`. A
 similar statement appears in the doc.
 >
 > > Also, I had to change the meaning of "head" (of a directed edge) in
 the partitions.py method; please check whether it is correctly used in the
 other file.
 >
 > It looks okay. I think instead of writing `a - b` we should do `a \to b`
 in both files for directed edges (especially since it's in latex).

 I think it's fine the way it is. The edge is undirected a priori; we
 direct it by assigning it a head. You'd have to reword my definition if
 you want to put an arrow there.

 > I also feel this statement is too verbose:
 > {{{
 > - In the one-line notation of the permutation `p`, the letter
 >   `i` appears either to the left of both `i-1` and `i+1`, or
 >   to the right of both `i-1` and `i+1` (but not between the
 >   two).
 > }}}
 > and we should just say `i` does not appear between `i-1` and `i+1`. Does
 this sound okay?

 That's fine; feel free to change it (I won't return to this until
 tomorrow).

 > > In regular_crystals.py, what is required of X ? Should it be closed
 under e_i and f_i?
 >
 > No, I wanted it to be as general as possible (at least this is what I
 needed for my research; I didn't necessarily know if my set of elements
 was the full dual equivalence class).

 OK, but it seems (from a brief glance) that if you don't have a union of
 equivalence classes, then your code can leak some non-X vertices into the
 graph by constructing edges one of whose endpoints is not in X. Is that OK
 to you?

--
Ticket URL: <http://trac.sagemath.org/ticket/18050#comment:19>
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.

Reply via email to