On this page you can find a repository of programs written in C/C++ as well as compressed data that generates these programs.
The source programs in C/C++ are written in standard C, without using additional data structure, with a understandable style.
The main idea is can compile and run programs using a standar personal computer.
- Connected graphs. The script
Cnt_Graphs_1_9.cppgenerate connected graphs of 1, 2, ..., 9 vertices. The files generated are
CG_num.zipeach num represents a graph, that can changed in a adjacency matrix throught
Ch_num_to_CF_AM_1_9.cppchange each num to the canonical form of the adjacency matrix. Here are the first 400 geometrical representations of connected graphs in
- The script
CanonicalForm.cpptakes a graph from the file
graph.txtand return its canonical form. Both
CanonicalForm.cppare using a fast technique called Canonical Labeling, written exclusively to solve the problem of isomorphism of small graphs.
- Contractible graphs. Is an interesting family of graphs, because its characteristics in the homology calculation. The script
graph.txtbelongs or not to this family. There is another family called collapsible graphics. The script
G_coll.cppperforms the corresponding work.
CG_to_G_Ivach_Coll_AM.cpptakes each graph from
CG_num.zipand filter which are contractible, in the Ivashchenko sense; at the same time verify the conjecture that they are also collapsible graphs. The ouput are files with adjacency matrix. While
CG_to_G_Ivach_n_G_coll.cppshow the number of graphs.
- A graph belong to the contractible graphs family if can be reduced to K(1) using contractible transformations, in particular deleting vertices. A many graph dont belong to this family, but can be reduced throught this operations. This helps to reduce graphs and facilities homology calculation. See other main link.
Many graphs are not in the family contractible graphs; however, it is desirable to determine how far it is possible to eliminate vertices from the graph. The script
Ivach.Red.cpp uses the algorithm
contractible.graph to eliminate vertices when possible. The following two videos represent a filtration of graphs (actually we can think as the Vietoris-Rips filtration) and the sequence of reduced graphs, with the same persistent homology groups: