Macaulay2 » Documentation
Packages » CotangentSchubert :: doublePuzzle
next | previous | forward | backward | up | index | toc

doublePuzzle -- Produces a rhombus puzzle

Synopsis

Description

Given 4 strings, computes the number of pairs of puzzles glued together to form a rhombus with boundaries a,b,c,d in clockwise order.

In WebApp mode, the output is interactive and allows to test associativity of puzzles.

i1 : doublePuzzle("0101","0101","0101","0101",Equivariant=>false)

o1 = {                   /\                   ,
                        /  \                   
                       1    0                  
                      /      \                 
                      ---10---                 
                    /\        /\               
                   /  \      /  \              
                  0    0    1    1             
                 /      \  /      \            
                 ---0----  ---1----            
               /\        /\        /\          
              /  \      /  \      /  \         
             1    1    10   1    1    0        
            /      \  /      \  /      \       
            ---1----  ---0----  ---10---       
          /\        /\        /\        /\     
         /  \      /  \      /  \      /  \    
        0   10    0    0    0    0    1    1   
       /      \  /      \  /      \  /      \  
       ---1----  ---0----  ---0----  ---1----  
       \      /  \      /  \      /  \      /  
        1    1    0    0    0    0    10   0   
         \  /      \  /      \  /      \  /    
          \/        \/        \/        \/     
            ---10---  ---0----  ---1----       
            \      /  \      /  \      /       
             0    1    1   10    1    1        
              \  /      \  /      \  /         
               \/        \/        \/          
                 ---1----  ---0----            
                 \      /  \      /            
                  1    1    0    0             
                   \  /      \  /              
                    \/        \/               
                      ---10---                 
                      \      /                 
                       0    1                  
                        \  /                   
                         \/                    
     ------------------------------------------------------------------------
                       /\                   }
                      /  \  
                     1    0  
                    /      \ 
                    ---10--- 
                  /\        /\    
                 /  \      /  \  
                0    0    1    1  
               /      \  /      \ 
               ---0----  ---1---- 
             /\        /\        /\    
            /  \      /  \      /  \  
           1    0    0   10    0    0  
          /      \  /      \  /      \ 
          ---10---  ---1----  ---0---- 
        /\        /\        /\        /\    
       /  \      /  \      /  \      /  \  
      0    0    1    1    1    1    10   1  
     /      \  /      \  /      \  /      \ 
     ---0----  ---1----  ---1----  ---0---- 
     \      /  \      /  \      /  \      / 
      1   10    1    1    1    1    0    0  
       \  /      \  /      \  /      \  /  
        \/        \/        \/        \/    
          ---0----  ---1----  ---10--- 
          \      /  \      /  \      / 
           0    0    10   0    0    1  
            \  /      \  /      \  /  
             \/        \/        \/    
               ---1----  ---0---- 
               \      /  \      / 
                1    1    0    0  
                 \  /      \  /  
                  \/        \/    
                    ---10--- 
                    \      / 
                     0    1  
                      \  /  
                       \/    

o1 : List

Caveat

At the moment, the interactive part only works on nonequivariant puzzles.

For the programmer

The object doublePuzzle is a function closure.