Macaulay2 » Documentation
Packages » ThinSincereQuivers > subquivers
next | previous | forward | backward | up | index | toc

subquivers -- return all possible subquivers of a given quiver

Synopsis

Description

A subquiver is a subgraph of a quiver. Specifically, it is formed by selecting a subset of the arrows from the original quiver, ensuring that the tails and heads of the chosen arrows correspond to the selected vertices. There are several ways to represent a subquiver:

  • Using a list of arrow indices to indicate the selected arrows.
  • Selecting a subset of rows and columns from the original incidence matrix. Here, we leverage the fact that columns in the incidence matrix correspond to arrows in the quiver.

subquivers Q list all possible subquivers of Q.

i1 : Q = chainQuiver {2}

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

o1 : ToricQuiver
i2 : subquivers Q

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

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

o3 = {{0}, {1}}

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

o4 = {ToricQuiver{flow => {1}              },
                  IncidenceMatrix => | -1 |  
                                     | 1  |  
                  Q0 => {0, 1}               
                  Q1 => {{0, 1}}             
                  synonym => toric quiver    
                  weights => {-1, 1}         
                                             
                                             
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1}              },
                 IncidenceMatrix => | -1 |  
                                    | 1  |  
                 Q0 => {0, 1}               
                 Q1 => {{0, 1}}             
                 synonym => toric quiver    
                 weights => {-1, 1}         
                                            
                                            
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1}              },
                 IncidenceMatrix => | -1 |  
                                    | 1  |  
                 Q0 => {0, 1}               
                 Q1 => {{0, 1}}             
                 synonym => toric quiver    
                 weights => {-1, 1}         
                                            
                                            
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1}              },
                 IncidenceMatrix => | -1 |  
                                    | 1  |  
                 Q0 => {0, 1}               
                 Q1 => {{0, 1}}             
                 synonym => toric quiver    
                 weights => {-1, 1}         
                                            
                                            
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1}              },
                 IncidenceMatrix => | -1 -1 |  
                                    | 1  0  |  
                                    | 0  1  |  
                 Q0 => {0, 1, 2}               
                 Q1 => {{0, 1}, {0, 2}}        
                 synonym => toric quiver       
                 weights => {-2, 1, 1}         
                                               
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1}              },
                 IncidenceMatrix => | -1 0  |  
                                    | 0  -1 |  
                                    | 1  1  |  
                 Q0 => {0, 1, 2}               
                 Q1 => {{0, 2}, {1, 2}}        
                 synonym => toric quiver       
                 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}}        
                 synonym => toric quiver       
                 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}}        
                 synonym => toric quiver       
                 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}}        
                 synonym => toric quiver       
                 weights => {-1, -1, 2}        
                                               
     ------------------------------------------------------------------------
     ToricQuiver{flow => {1, 1}              },
                 IncidenceMatrix => | -1 -1 |  
                                    | 1  0  |  
                                    | 0  1  |  
                 Q0 => {0, 1, 2}               
                 Q1 => {{0, 1}, {0, 2}}        
                 synonym => toric quiver       
                 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}}   
                 synonym => toric quiver          
                 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}}   
                 synonym => toric quiver          
                 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}}   
                 synonym => toric quiver          
                 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}}
                 synonym => toric quiver
                 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}}  
                  synonym => toric quiver                 
                  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}}  
                 synonym => toric quiver                 
                 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}}  
                 synonym => toric quiver                 
                 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}}  
                 synonym => toric quiver                 
                 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}}  
                 synonym => toric quiver                 
                 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}}  
                 synonym => toric quiver                 
                 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}}  
                 synonym => toric quiver                 
                 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}}  
                 synonym => toric quiver                 
                 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}}  
                 synonym => toric quiver                 
                 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}}  
                 synonym => toric quiver                 
                 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}}  
                 synonym => toric quiver                 
                 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}}  
                 synonym => toric quiver                 
                 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}}  
                 synonym => toric quiver                 
                 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}}
                 synonym => toric quiver
                 weights => {-1, -2, 1, 2}

o6 : List

See also

Ways to use subquivers :

For the programmer

The object subquivers is a method function with options.