unlisted
ubuntu1804Tableau and toggle dynamics
Computation and visualization
Jessica Striker
If you're already using the computer to discover things, why not also use it to explain things!
Tableau Dynamics
A tableau is numbers in boxes with rules.
A standard Young tableaux is the numbers 1, 2, 3, ... in a partition shape of boxes, increasing along rows and columns, with each number used exactly once.

Now act on the tableau with promotion.

What just happened?
Let's write some code to help us visualize it.
Use the function 'animate' to see the visualizations compactly.
How did we write the code?
Look for code to modify.
Generalize the tableaux.
An increasing tableau is numbers in a partition shape of boxes, increasing in rows and columns.
(No rule about using numbers exactly once)

Act on an increasing tableau by K-Promotion.

Again, what just happened?
Let's write some code to help us visualize it.
Toggle Dynamics
(The Hasse diagram of) a poset is numbers (elements) with arrows (covering relations) that are directed weakly upward.
Let's make a random poset.
An order ideal is a subset of poset elements that is closed downward.
Let's make a random order ideal.
Let's use different colors.
(This should be an option. Who wrote this code anyway?)
Act on an order ideal by rowmotion.
Should try to make our functions a little less persnickety...
The rowmotion function should be able to accept a list as input and then change it to a set.
For a third time, what just happened?
Code and animations to the rescue!
Sidebar: You can define your own poset.
Make a list of the elements of your poset, then a list of the covering relations between poset element.
Here are some of my favorite posets
The triangle
Some other ways to plot posets
The pretty way

For putting in your paper
\begin{tikzpicture}[>=latex,line join=bevel,]
%%
\node (node_26) at (128.5bp,251.5bp) [draw,draw=none] {$62$};
\node (node_27) at (110.5bp,300.5bp) [draw,draw=none] {$71$};
\node (node_24) at (146.5bp,202.5bp) [draw,draw=none] {$53$};
\node (node_25) at (93.5bp,251.5bp) [draw,draw=none] {$61$};
\node (node_22) at (76.5bp,202.5bp) [draw,draw=none] {$51$};
\node (node_23) at (111.5bp,202.5bp) [draw,draw=none] {$52$};
\node (node_20) at (129.5bp,153.5bp) [draw,draw=none] {$43$};
\node (node_21) at (164.5bp,153.5bp) [draw,draw=none] {$44$};
\node (node_9) at (95.5bp,55.5bp) [draw,draw=none] {$23$};
\node (node_8) at (60.5bp,55.5bp) [draw,draw=none] {$22$};
\node (node_7) at (25.5bp,55.5bp) [draw,draw=none] {$21$};
\node (node_6) at (218.5bp,6.5bp) [draw,draw=none] {$17$};
\node (node_5) at (183.5bp,6.5bp) [draw,draw=none] {$16$};
\node (node_4) at (148.5bp,6.5bp) [draw,draw=none] {$15$};
\node (node_3) at (113.5bp,6.5bp) [draw,draw=none] {$14$};
\node (node_2) at (78.5bp,6.5bp) [draw,draw=none] {$13$};
\node (node_1) at (43.5bp,6.5bp) [draw,draw=none] {$12$};
\node (node_0) at (8.5bp,6.5bp) [draw,draw=none] {$11$};
\node (node_19) at (94.5bp,153.5bp) [draw,draw=none] {$42$};
\node (node_18) at (59.5bp,153.5bp) [draw,draw=none] {$41$};
\node (node_17) at (182.5bp,104.5bp) [draw,draw=none] {$35$};
\node (node_16) at (147.5bp,104.5bp) [draw,draw=none] {$34$};
\node (node_15) at (112.5bp,104.5bp) [draw,draw=none] {$33$};
\node (node_14) at (77.5bp,104.5bp) [draw,draw=none] {$32$};
\node (node_13) at (42.5bp,104.5bp) [draw,draw=none] {$31$};
\node (node_12) at (200.5bp,55.5bp) [draw,draw=none] {$26$};
\node (node_11) at (165.5bp,55.5bp) [draw,draw=none] {$25$};
\node (node_10) at (130.5bp,55.5bp) [draw,draw=none] {$24$};
\draw [black,->] (node_18) ..controls (64.173bp,166.97bp) and (67.775bp,177.35bp) .. (node_22);
\draw [black,->] (node_6) ..controls (213.55bp,19.969bp) and (209.74bp,30.353bp) .. (node_12);
\draw [black,->] (node_3) ..controls (118.17bp,19.969bp) and (121.78bp,30.353bp) .. (node_10);
\draw [black,->] (node_23) ..controls (116.17bp,215.97bp) and (119.78bp,226.35bp) .. (node_26);
\draw [black,->] (node_7) ..controls (30.173bp,68.969bp) and (33.775bp,79.353bp) .. (node_13);
\draw [black,->] (node_16) ..controls (142.55bp,117.97bp) and (138.74bp,128.35bp) .. (node_20);
\draw [black,->] (node_9) ..controls (100.17bp,68.969bp) and (103.78bp,79.353bp) .. (node_15);
\draw [black,->] (node_10) ..controls (125.55bp,68.969bp) and (121.74bp,79.353bp) .. (node_15);
\draw [black,->] (node_5) ..controls (178.55bp,19.969bp) and (174.74bp,30.353bp) .. (node_11);
\draw [black,->] (node_0) ..controls (13.173bp,19.969bp) and (16.775bp,30.353bp) .. (node_7);
\draw [black,->] (node_12) ..controls (195.55bp,68.969bp) and (191.74bp,79.353bp) .. (node_17);
\draw [black,->] (node_4) ..controls (143.55bp,19.969bp) and (139.74bp,30.353bp) .. (node_10);
\draw [black,->] (node_15) ..controls (117.17bp,117.97bp) and (120.78bp,128.35bp) .. (node_20);
\draw [black,->] (node_26) ..controls (123.55bp,264.97bp) and (119.74bp,275.35bp) .. (node_27);
\draw [black,->] (node_9) ..controls (90.552bp,68.969bp) and (86.738bp,79.353bp) .. (node_14);
\draw [black,->] (node_3) ..controls (108.55bp,19.969bp) and (104.74bp,30.353bp) .. (node_9);
\draw [black,->] (node_24) ..controls (141.55bp,215.97bp) and (137.74bp,226.35bp) .. (node_26);
\draw [black,->] (node_2) ..controls (73.552bp,19.969bp) and (69.738bp,30.353bp) .. (node_8);
\draw [black,->] (node_4) ..controls (153.17bp,19.969bp) and (156.78bp,30.353bp) .. (node_11);
\draw [black,->] (node_10) ..controls (135.17bp,68.969bp) and (138.78bp,79.353bp) .. (node_16);
\draw [black,->] (node_11) ..controls (170.17bp,68.969bp) and (173.78bp,79.353bp) .. (node_17);
\draw [black,->] (node_20) ..controls (124.55bp,166.97bp) and (120.74bp,177.35bp) .. (node_23);
\draw [black,->] (node_23) ..controls (106.55bp,215.97bp) and (102.74bp,226.35bp) .. (node_25);
\draw [black,->] (node_15) ..controls (107.55bp,117.97bp) and (103.74bp,128.35bp) .. (node_19);
\draw [black,->] (node_13) ..controls (47.173bp,117.97bp) and (50.775bp,128.35bp) .. (node_18);
\draw [black,->] (node_25) ..controls (98.173bp,264.97bp) and (101.78bp,275.35bp) .. (node_27);
\draw [black,->] (node_16) ..controls (152.17bp,117.97bp) and (155.78bp,128.35bp) .. (node_21);
\draw [black,->] (node_2) ..controls (83.173bp,19.969bp) and (86.775bp,30.353bp) .. (node_9);
\draw [black,->] (node_19) ..controls (89.552bp,166.97bp) and (85.738bp,177.35bp) .. (node_22);
\draw [black,->] (node_22) ..controls (81.173bp,215.97bp) and (84.775bp,226.35bp) .. (node_25);
\draw [black,->] (node_11) ..controls (160.55bp,68.969bp) and (156.74bp,79.353bp) .. (node_16);
\draw [black,->] (node_14) ..controls (72.552bp,117.97bp) and (68.738bp,128.35bp) .. (node_18);
\draw [black,->] (node_17) ..controls (177.55bp,117.97bp) and (173.74bp,128.35bp) .. (node_21);
\draw [black,->] (node_8) ..controls (55.552bp,68.969bp) and (51.738bp,79.353bp) .. (node_13);
\draw [black,->] (node_5) ..controls (188.17bp,19.969bp) and (191.78bp,30.353bp) .. (node_12);
\draw [black,->] (node_1) ..controls (48.173bp,19.969bp) and (51.775bp,30.353bp) .. (node_8);
\draw [black,->] (node_19) ..controls (99.173bp,166.97bp) and (102.78bp,177.35bp) .. (node_23);
\draw [black,->] (node_20) ..controls (134.17bp,166.97bp) and (137.78bp,177.35bp) .. (node_24);
\draw [black,->] (node_21) ..controls (159.55bp,166.97bp) and (155.74bp,177.35bp) .. (node_24);
\draw [black,->] (node_8) ..controls (65.173bp,68.969bp) and (68.775bp,79.353bp) .. (node_14);
\draw [black,->] (node_1) ..controls (38.552bp,19.969bp) and (34.738bp,30.353bp) .. (node_7);
\draw [black,->] (node_14) ..controls (82.173bp,117.97bp) and (85.775bp,128.35bp) .. (node_19);
%
\end{tikzpicture}
The boingy way
d3-based renderer not yet implemented
The sticky way
d3-based renderer not yet implemented
Order ideals in the triangle are Dyck paths!
Here's another way to make this poset via algebra.
The triangle poset Type positive root poset

The box poset
Cartesian product of chains
d3-based renderer not yet implemented
Order ideals in the 3D box are plane partitions!
Plane partitions are stacks of cubes in a corner.

Symmetry classes of plane partitions are coming! See trac ticket #28244.
A tetrahedral poset
d3-based renderer not yet implemented
What's so special about this poset?
It's order ideals are in bijection with alternating sign matrices!
[ 0 0 0 0 1 0 0]
[ 0 0 1 0 0 0 0]
[ 0 1 -1 0 0 0 1]
[ 1 -1 1 0 -1 1 0]
[ 0 0 0 0 1 0 0]
[ 0 1 0 0 0 0 0]
[ 0 0 0 1 0 0 0]
20 x 20 dense matrix over Integer Ring
Back to rowmotion
There's another definition of rowmotion, in terms of:
Toggles
Let's analyze this action.
How many elements are in each orbit? What is the order of the action?
[2, 4, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]
The order of this action is 16. Looks like a rotation, but why?!
[2, 4, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]
Rowmotion on the Type root poset
Toggling left-to-right on the Type root poset
Promotion on standard Young tableaux
Rotation of the noncrossing matching
(first joint work with Nathan Williams)
(second is clear from the standard bijection)
(third is due to Dennis White)
There is a similar story for increasing tableaux and order ideals of the box poset.
Rowmotion on the poset
K-Promotion on increasing tableaux with entries at most
(joint work with Kevin Dilks and Oliver Pechenik)
And let's look at alternating sign matrices
Gyration on fully-packed loops (alternating sign matrices)
Rowmotion on the tetrahedral poset
(joint work with Nathan Williams)
Gyration rotates the associated link pattern
(due to Ben Wieland)