# isSemistable -- determines if a subquiver is semistable with respect to a given weight

## Synopsis

• Usage:
isSemistable (L, Q)
isSemistable (sQ, Q)
• Inputs:
• L, a list, of the indices of arrows in Q that make up the subquiver in question
• Q, an instance of the type ToricQuiver,
• SQ, an instance of the type ToricQuiver, A subquiver of the quiver Q
• Outputs:

## Description

This function determines if a given subquiver is semi-stable with respect to the weight saved on Q. A subquiver SQ of the quiver Q is semistable if for every subset V of the vertices of Q that is also SQ-successor closed, the sum of the weights associated to V is nonnegative.

 i1 : isSemistable ({0, 1}, bipartiteQuiver(2, 3)) o1 = false
 i2 : Q = bipartiteQuiver(2, 3); i3 : S = first(subquivers(Q, Format=>"quiver", AsSubquiver=>true)) o3 = ToricQuiver{flow => {1, 0, 0, 0, 0, 0} } IncidenceMatrix => | -1 -1 -1 0 0 0 | | 0 0 0 -1 -1 -1 | | 1 0 0 1 0 0 | | 0 1 0 0 1 0 | | 0 0 1 0 0 1 | Q0 => {0, 1, 2, 3, 4} Q1 => {{0, 2}, {0, 3}, {0, 4}, {1, 2}, {1, 3}, {1, 4}} weights => {-1, 0, 1, 0, 0} o3 : ToricQuiver i4 : isSemistable (S, Q) o4 = false

## Ways to use isSemistable :

• "isSemistable(List,ToricQuiver)"
• "isSemistable(ToricQuiver,ToricQuiver)"

## For the programmer

The object isSemistable is .