6 .Nd Visualize quivers with SDL
14 is a graphical program to interact with quivers. It is similar to
15 Keller's Java applet, which is published at
16 https://webusers.imj-prg.fr/~bernhard.keller/quivermutation/ , though
18 handles extensions such as half-weight edges and fat vertices.
22 Be verbose: print a message to stdout whenever a quiver is altered.
23 This is the closest you'll get to an undo/redo feature.
28 starts, it shows a sample quiver, which does not have many interesting
29 properties. Hovering over a vertex or an edge will display relevant
30 information in the top right corner.
32 For convenience, edges are classified by color into three types, depending
33 on the specific edge weights they represent.
37 A black edge from vertex
42 .Dl ε_{ij} = ± d_{j} / GCD(d_{i}, d_{j})
43 .Dl ε_{ji} = ∓ d_{i} / GCD(d_{i}, d_{j})
44 where the signs are determined by the arrow's direction.
46 A gray edge has half the edge weights that it would have if it were black.
48 A red edge has any other weights. In general, red edges are rare during
53 The following controls are available. To cancel an action when input is
58 Clicking and dragging a vertex will reposition it onscreen. Clicking
59 and dragging empty space will reposition the entire quiver.
65 .Pc at a vertex, press
67 then click on the vertex.
69 To create a new vertex, press
71 then click where it should be placed. You will probably want to rename
75 To delete an edge or a vertex, press
77 then click the edge or vertex which should be deleted.
80 .Pq create a black edge if no edge is present, or add to an edge if one is present
81 between two vertices, press
83 then click the start and end vertices.
89 To increase the fatness of a vertex, press
91 then click the vertex. This may change how edges of that vertex are
92 calculated. The maximum fatness is system-dependent but
94 things tend to happen with low fatness.
98 but the vertex's fatness is decreased. The minimum fatness is 1.
100 To rename a vertex, press
102 then click the vertex to be renamed. The new name will be prompted
103 for. If the system has a unicode-compatible IME, entering unicode
104 characters should work without issue.
106 To change the color of a vertex, press
108 then click the vertex. The color will then be prompted for. The following graphical color choosers are known and proped for
122 If none is found, the user may enter a color, in the form
128 are hexadecimal digits.
129 .It Shift+m/v/d/e/h/f/g/r
130 Holding shift while pressing one of the above buttons causes the
131 action to loop until explicitly terminated. For example, pressing
133 then clicking a sequence of 9 vertices will mutate at that sequence
134 more conveniently than pressing
138 To save the current quiver, press
140 Depending on which packages are installed on the system, the filename
141 will be prompted for in one of a few ways. The following graphical file
142 choosers are known and probed for
156 If none is found, the filename will be prompted for onscreen. This prompt
157 is rather primitive, however.
160 .Pq and to discard the current quiver ,
163 A file will be prompted for in the same manner as the save dialog.
166 Example quivers may have been installed along with this program,
168 .Pa /usr/share/clav/ .
173 Edge weights are, for performance reasons
175 .Xr clav-mutation-find 1
176 .Pc , stored as fractions with
177 numerator and denominator in system-dependent ranges. While it probably
178 will not be an issue for
180 usage, causing edge weights to increase arbitrarily will eventually cause
182 to compute an unrepresentable edge weight
183 .Pq for example, 1/257 might be unrepresentable .
186 will not perform the mutation, rather than display incorrect
189 .An S. Gilles Aq Mt sgilles@math.umd.edu