Running the file MinimalIW.nb:


Part I:

Generates the list of all possible non-negative multigraphs.

Part II:

Produces the list of determinants of the matrices defined in Section 4 of [GS]. Note that, when the multigraph has more than one connected component, it yields the sum of the squares of these determinants (since this sum is zero if and only if all the determinants are zero).

These determinants should then be inserted in the corresponding C++ files which then determine the partitions that annihilate them, according to Algorithms 1 (B) and 2 (B) in Section 6 of [GS]. The general C++ files can be found in the link C++ above. Running the C++ files produces the partition files OutputPart#.txt.

Part III:

Imports the partition files OutputPartitions#.txt and sorts their contents according to the rank of the matrices, dividing them into two sets: those that originate matrices with maximal rank, and those that originate matrices of lower rank. In the first case, Part III also selects those partitions that originate matrices with null spaces with elements with positive components. It saves the first type of partitions in the files Part#toprk.txt and the second in the files Part#smallrk.txt.

Part IV:

Considers the first type of partitions producing a list of the corresponding isotropy weights, checking if they satisfy the polynomial equations in (1.1) of [GS].

Part V:

Considers the second type of partitions. Then,
1. selects those that originate matrices whose null spaces contain elements with positive entries;
2. produces the list of the corresponding isotropy weights;
3. - 10. selects the isotropy weights that possibly satisfy the properties listed in the beginning of Section 8 of [GS], as well as Lemmas 8.1 and 8.2; at each step, the resulting lists of isotropy weights are saved in different files so that it is easy to verify which isotropy weights are discarded at each test performed.

Part VI:

Lists all possible isotropy weights obtained.