I am having a little trouble understanding some results from a program i wrote. I think i have the correct results but i need to understand the theory behind it a little more (i am a programmer, not mathematician).
My program generates symmetric k-regular graphs (single undirected edges). It generates an adjacency matrix and i take that adjacency matrix and find it's canonical isomorph. I compare the canonical isomorph to the list of all previous ones i have found to determine it if's a new k-regular graph.
So here is an example and i think it is correct but i just need to understand the result a little more.
n = 6
k = 2
Adjacency Matrix 1:
0 1 1 0 0 0
1 0 1 0 0 0
1 1 0 0 0 0
0 0 0 0 1 1
0 0 0 1 0 1
0 0 0 1 1 0
Canonical Isomorph:
0 1 1 0 0 0
1 0 1 0 0 0
1 1 0 0 0 0
0 0 0 0 1 1
0 0 0 1 0 1
0 0 0 1 1 0
The relabeling Label:
0 1 2 3 4 5
(which is the identity)
Adjacency Matrix 2:
0 1 1 0 0 0
1 0 0 1 0 0
1 0 0 0 1 0
0 1 0 0 0 1
0 0 1 0 0 1
0 0 0 1 1 0
Canonical Isomorph:
Relabeling:
0 1 1 0 0 0
1 0 0 0 1 0
1 0 0 0 0 1
0 0 0 0 1 1
0 1 0 1 0 0
0 0 1 1 0 0
0 1 2 5 3 4
Does this look correct? Labeling means each vertex is labeled from 0-5.