GYutsis

The GYutsis package contains a text-mode program CycleCostAlgorithm and a graphical front end GYutsis. The GYutsis program has 2 modes: normal mode and advanced mode. When it initially starts it is always in normal mode.

GYutsis: normal mode

In normal mode the generated formula, and thus the number of Wigner 6j-symbols and summations over dummy variables, is only shown when the graph is completely reduced, i.e. equal to a triangular delta.

Defining a problem and generating the summation variable

In the input field, indicated by the label "YutsisGraph:", one can enter a general recoupling coefficient in its mathematical standard format or specify a filename in the current directory (i.e. the directory where GYutsis is started) or the last directory used to open a problem. By pressing the "Browse"-button a standard file-open dialog opens to select a problem from file. Once a problem is succesfully defined the braket notation of the problem appears in the "Braket"-field and the "Reduce"- and "Save Braket"-buttons become active. By pressing the "Reduce"-button a summation formula is generated and presented in the output field labeled "Summation formula:", together with the number of Wigner 6j-symbols and the number of summations over dummy variables in the corresponding fields.

All features described above can also be selected from the menu's.

GYutsis: advanced mode

When GYutsis is in advanced mode the formula corresponding with the current state of the graph is shown, and the window has an additional advanced panel at the bottom and a slider in the middle, allowing the user to redistribute the space between the upper and lower part of the window.

The advanced panel has a tabbed pane with three panels (left) and a row of buttons with user operations (right). The "User"-pane contains all the ouput generated by the user. In the "Operations"-pane all graph operations are logged. These operations can be compound operations: removing/formatting a triangle, removing/formatting a bubble or formatting the graph as a triangular delta; or elementary operations: removing nodes, inverting node signs or inverting edge directions. By formatting we mean the process of locally inverting node signs and edge directions in order to get the subgraph in the correct form for applying a rule. In the "Rules"-pane all applied rules are logged from an algorithmic point of view: if we apply an interchange to reduce a square to a triangle, the square is shown as "Best Cycle" and the edge wich is interchanged out of the square as "best edge". From the graph operations point of view this will be an interchange on the "best edge".

The user operations are:

Print Graph
Outputs the graph in the following format (same example):
3
-0 | j1:-3 j2:-4 j5:+2 
-1 | j3:-3 j4:-4 j6:+2 
-2 | j5:-0 j6:-1 j7:+5 
+3 | j1:+0 j3:+1 j8:-5 
+4 | j2:+0 j4:+1 j9:-5 
+5 | j8:+3 j9:+4 j7:-2 
The first line contains the size of the problem n, for a general recoupling coefficient with n+1 leaves, corresponding with a cubic graph of 2n nodes and 3n edges. The next 2n lines contain the couplings of the graph:
<nodesign><node>| <edge> <edge> <edge>
with <edge>: <label>:<direction><endpoint>, where direction is '+' for an incoming edge and '-' for a leaving edge.
Cycles
Prints all the girth cycles of the graph.
Best Cycle
Prints the cycle the heuristic marks as the best cycle, with its best edge (if the cycle is bigger than a triangle).
Step
Performs one step in the reduction process, i.e. applies one rule.

Each of the panes can be cleared by pressing the "clear"-button and the contence of the pane can be saved to a file by pressing the "Save to file"-button.

When the "Hide Advanced Panel"-button is pressed the program returns to normal mode without changing the state of the graph. All features present in normal mode are off course available in "advanced mode". Again all operations can be selected from the menus.

GYutsisApplet

There is also an applet version of the program wich has roughly the same features, but without all "file"-operations. It can be found at
http://caagt.rug.ac.be/gyutsis/gyutsis.html

CycleCostAlgorithm

The GYutsis program is in fact a graphical front end to the CycleCostAlgorithm program for generating a summation formula. The CycleCostAlgorithm program works in text-mode and has the following syntax:
 Usage: java [-options] CycleCostAlgorithm <YutsisGraph> 
  <YutsisGraph>:= "<Bra|Ket>" | <filename>
  <filename> must be in BRAKET of YTS format
  options:  v: verbose output (same as "-or") 
            o: output graph operations 
            r: output rule selection
Running the program without arguments print the usage above.

The last argument can be a general recoupling coefficient in its mathematical standard format or a filename defining a general recoupling coefficient in BRAKET or YTS format.

The options define the output level of the program:

v
Verbose output: maximum output level; same as combination of both other options (or)
o
Output all operations performed on the graph. These operations can be compound operations: removing/formatting a triangle, removing/formatting a bubble or formatting the graph as a triangular delta; or elementary operations: removing nodes, inverting node signs or inverting edge directions. By formatting we mean the process of locally inverting node signs and edge directions in order to get the subgraph in the correct form for applying a rule.
r
Output the rules applied, from an algorithmic point of view: if we apply an interchange to reduce a square to a triangle, the square is shown as "Best Cycle" and the edge wich is interchanged out of the square as "best edge". From the graph operations point of view this will be an interchange on the "best edge".

For cycles bigger than triangles all girth cycles are shown with the cost on the edges, e.g. 3-1->5 is an edge directed from 3 to 5 with cost 1, followed by the cycle the heuristic marked as the best.

Mathematical and File Formats

Mathematical Standard Format

The mathematical standard format, e.g.
<((j1,j2)j5,(j3,j4)j6)j7|((j1,j3)j8,(j2,j4)j9)j7>
is the most known format for general recoupling coefficients.

We will use the example above for describing all formats.

BRAKET Format

The braket file format is simply a file containing a general recoupling coefficient in its mathematical standard format on the first line, e.g.:
<((j1,j2)j5,(j3,j4)j6)j7|((j1,j3)j8,(j2,j4)j9)j7><EOF>

YTS Format

This format is in fact a coupling list, i.e. a list of all couplings when the trees are iterated in postorder (right child, left child, parent), with the left tree first:
<Header>
j1  j2  j5
j3  j4  j6
j5  j6  j7
j1  j3  j8
j2  j4  j9
j8  j9  j7<EOF>
The first line is a header defining the size of the general recoupling coefficient. There are two valid formats:
  1. n
  2. 3n n 1
with n+1 the number of initial angular momenta, corresponding with a cubic graph of 2n nodes and 3n edges. The second format is allowed for compatibility with the format used by the older program NEWGRAPH. The last token (1) is ignored and not mandatory.

The two valid headers for our example would be:

  1. 3
  2. 9 3 1

Additional line breaks at the end of the file are tolerated by both file formats.