next | previous | forward | backward | up | top | index | toc | Macaulay2 website
ThinSincereQuivers :: subquivers

subquivers -- return all possible subquivers of a given quiver

Synopsis

Description

this returns the subquivers of a given quiver. There are 3 main ways to represent a subquiver:

  • as a list of arrow indices,
  • as a subset of rows and columns of the original incidence matrix, and
  • as a copy of the original incidence matrix with certain rows and columns zeroed out.

i1 : Q = chainQuiver {2}

o1 = ToricQuiver{flow => {1, 1}              }
                 IncidenceMatrix => | -1 -1 |
                                    | 1  1  |
                 Q0 => {0, 1}
                 Q1 => {{0, 1}, {0, 1}}
                 weights => {-2, 2}

o1 : ToricQuiver
i2 : subquivers Q

o2 = {ToricQuiver{flow => {1}              }, ToricQuiver{flow => {1}       
                  IncidenceMatrix => | -1 |               IncidenceMatrix =>
                                     | 1  |                                 
                  Q0 => {0, 1}                            Q0 => {0, 1}
                  Q1 => {{0, 1}}                          Q1 => {{0, 1}}
                  weights => {-1, 1}                      weights => {-1, 1}
     ------------------------------------------------------------------------
           }}
     | -1 |
     | 1  |

o2 : List
i3 : subquivers(Q, Format=>"list")

o3 = {{0}, {1}}

o3 : List
i4 : subquivers bipartiteQuiver(2, 2)

o4 = {ToricQuiver{flow => {1}              }, ToricQuiver{flow => {1}       
                  IncidenceMatrix => | -1 |               IncidenceMatrix =>
                                     | 1  |                                 
                  Q0 => {0, 1}                            Q0 => {0, 1}      
                  Q1 => {{0, 1}}                          Q1 => {{0, 1}}    
                  weights => {-1, 1}                      weights => {-1, 1}
                                                                            
                                                                            
     ------------------------------------------------------------------------
           }, ToricQuiver{flow => {1}              },
     | -1 |               IncidenceMatrix => | -1 |  
     | 1  |                                  | 1  |  
                          Q0 => {0, 1}               
                          Q1 => {{0, 1}}             
                          weights => {-1, 1}         
                                                     
                                                     
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1}              }, ToricQuiver{flow => {1, 1}    
                 IncidenceMatrix => | -1 |               IncidenceMatrix =>
                                    | 1  |                                 
                 Q0 => {0, 1}                                              
                 Q1 => {{0, 1}}                          Q0 => {0, 1, 2}   
                 weights => {-1, 1}                      Q1 => {{0, 1}, {0,
                                                         weights => {-2, 1,
                                                                           
     ------------------------------------------------------------------------
              }, ToricQuiver{flow => {1, 1}              },
     | -1 -1 |               IncidenceMatrix => | -1 0  |  
     | 1  0  |                                  | 0  -1 |  
     | 0  1  |                                  | 1  1  |  
                             Q0 => {0, 1, 2}               
     2}}                     Q1 => {{0, 2}, {1, 2}}        
     1}                      weights => {-1, -1, 2}        
                                                           
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1}              },
                 IncidenceMatrix => | -1 0  |  
                                    | 0  -1 |  
                                    | 0  1  |  
                                    | 1  0  |  
                 Q0 => {0, 1, 2, 3}            
                 Q1 => {{0, 3}, {1, 2}}        
                 weights => {-1, -1, 1, 1}     
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1}              },
                 IncidenceMatrix => | -1 0  |  
                                    | 0  -1 |  
                                    | 1  0  |  
                                    | 0  1  |  
                 Q0 => {0, 1, 2, 3}            
                 Q1 => {{0, 2}, {1, 3}}        
                 weights => {-1, -1, 1, 1}     
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1}              },
                 IncidenceMatrix => | -1 0  |  
                                    | 0  -1 |  
                                    | 1  1  |  
                 Q0 => {0, 1, 2}               
                 Q1 => {{0, 2}, {1, 2}}        
                 weights => {-1, -1, 2}        
                                               
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1}              },
                 IncidenceMatrix => | -1 -1 |  
                                    | 1  0  |  
                                    | 0  1  |  
                 Q0 => {0, 1, 2}               
                 Q1 => {{0, 1}, {0, 2}}        
                 weights => {-2, 1, 1}         
                                               
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1, 1}              },
                 IncidenceMatrix => | -1 -1 0  |  
                                    | 0  0  -1 |  
                                    | 1  0  1  |  
                                    | 0  1  0  |  
                 Q0 => {0, 1, 2, 3}               
                 Q1 => {{0, 2}, {0, 3}, {1, 2}}   
                 weights => {-2, -1, 2, 1}        
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1, 1}              },
                 IncidenceMatrix => | -1 -1 0  |  
                                    | 0  0  -1 |  
                                    | 1  0  0  |  
                                    | 0  1  1  |  
                 Q0 => {0, 1, 2, 3}               
                 Q1 => {{0, 2}, {0, 3}, {1, 3}}   
                 weights => {-2, -1, 1, 2}        
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1, 1}              },
                 IncidenceMatrix => | -1 0  0  |  
                                    | 0  -1 -1 |  
                                    | 1  1  0  |  
                                    | 0  0  1  |  
                 Q0 => {0, 1, 2, 3}               
                 Q1 => {{0, 2}, {1, 2}, {1, 3}}   
                 weights => {-1, -2, 2, 1}        
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1, 1}              }}
                 IncidenceMatrix => | -1 0  0  |
                                    | 0  -1 -1 |
                                    | 0  1  0  |
                                    | 1  0  1  |
                 Q0 => {0, 1, 2, 3}
                 Q1 => {{0, 3}, {1, 2}, {1, 3}}
                 weights => {-1, -2, 1, 2}

o4 : List
i5 : subquivers(bipartiteQuiver(2, 2), Format=>"list")

o5 = {{0}, {1}, {2}, {3}, {0, 1}, {0, 2}, {1, 2}, {0, 3}, {1, 3}, {2, 3}, {0,
     ------------------------------------------------------------------------
     1, 2}, {0, 1, 3}, {0, 2, 3}, {1, 2, 3}}

o5 : List
i6 : subquivers(bipartiteQuiver(2, 2), Format=>"quiver", AsSubquiver=>true)

o6 = {ToricQuiver{flow => {1, 0, 0, 0}                  },
                  IncidenceMatrix => | -1 -1 0  0  |      
                                     | 0  0  -1 -1 |      
                                     | 1  0  1  0  |      
                                     | 0  1  0  1  |      
                  Q0 => {0, 1, 2, 3}                      
                  Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                  weights => {-1, 0, 1, 0}                
     ------------------------------------------------------------------------
     ToricQuiver{flow => {0, 1, 0, 0}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {-1, 0, 0, 1}                
     ------------------------------------------------------------------------
     ToricQuiver{flow => {0, 0, 1, 0}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {0, -1, 1, 0}                
     ------------------------------------------------------------------------
     ToricQuiver{flow => {0, 0, 0, 1}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {0, -1, 0, 1}                
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1, 0, 0}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {-2, 0, 1, 1}                
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 0, 1, 0}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {-1, -1, 2, 0}               
     ------------------------------------------------------------------------
     ToricQuiver{flow => {0, 1, 1, 0}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {-1, -1, 1, 1}               
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 0, 0, 1}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {-1, -1, 1, 1}               
     ------------------------------------------------------------------------
     ToricQuiver{flow => {0, 1, 0, 1}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {-1, -1, 0, 2}               
     ------------------------------------------------------------------------
     ToricQuiver{flow => {0, 0, 1, 1}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {0, -2, 1, 1}                
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1, 1, 0}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {-2, -1, 2, 1}               
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1, 0, 1}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {-2, -1, 1, 2}               
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 0, 1, 1}                  },
                 IncidenceMatrix => | -1 -1 0  0  |      
                                    | 0  0  -1 -1 |      
                                    | 1  0  1  0  |      
                                    | 0  1  0  1  |      
                 Q0 => {0, 1, 2, 3}                      
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}  
                 weights => {-1, -2, 2, 1}               
     ------------------------------------------------------------------------
     ToricQuiver{flow => {0, 1, 1, 1}                  }}
                 IncidenceMatrix => | -1 -1 0  0  |
                                    | 0  0  -1 -1 |
                                    | 1  0  1  0  |
                                    | 0  1  0  1  |
                 Q0 => {0, 1, 2, 3}
                 Q1 => {{0, 2}, {0, 3}, {1, 2}, {1, 3}}
                 weights => {-1, -2, 1, 2}

o6 : List

Ways to use subquivers :

For the programmer

The object subquivers is a method function with options.