#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.