Please Login to access more options.
Problem 78 (Exercise - Solution provided) (Practice With Identification Graphs On An Abelian Group)
Let $G = U(15)$. Consider the subgroups $A=\left<4\right> = \{1,4\}$ and $B= \left<14\right> = \{1,14\}$. We'll use the set $S=\{7,11\}$ to draw the Cayley graph of $G$.
- Start by drawing the Cayley graph of $G$ with generators in $S$. You can check your answer with the Sage code at the end of this problem.
- For each $g\in G$, compute the right cosets $Ag$ of $A$. Draw the identification graph of $G$ using right cosets of $A$. You should get a graph with 4 vertices (each vertex should have two numbers in it). The graph should look like the Cayley graph of $U(8)$ using the generating set $S=\{3,5\}$, shown in the sage code below.
- For each $g\in G$, compute the left cosets $gA$ of $A$. Draw the identification graph of $G$ using left cosets of $A$.
- For each $g\in G$, compute the right cosets $Bg$ of $B$. Draw the identification graph of $G$ using right cosets of $B$. Again you should get a graph with 4 vertices, however your graph should not be the same as that in part 2. You should obtain something similar to the graph of $U(10)$ using the generating set $S=\{3,9\}$, shown in the sage code below. Click "Evaluate" a few times as the way the computer displays this graph can change.
- For each $g\in G$, compute the left cosets $gB$ of $B$. Draw the identification graph of $G$ using left cosets of $B$.
- Why are the answer to 2 and 3 the same? Why are the answers to 4 and 5 the same?
n=15 S=[7,11] Zn = Integers(n) Un = [int(x) for x in Zn if gcd(ZZ(x), n) == 1] #This creates Un CG=DiGraph([Un,lambda i,j:False]) for k in S: CGk=DiGraph([Un,lambda i,j: mod(j*inverse_mod(i,n),n)==k]) for u,v,l in CGk.edges(): CGk.set_edge_label(u,v,k) CG.add_edges(CGk.edge_iterator()) print("Here is a graph of U("+str(n)+") using the generating set "+str(S)) CG.graphplot(color_by_label=True,edge_labels=True).show() n=8 S=[3,5] Zn = Integers(n) Un = [int(x) for x in Zn if gcd(ZZ(x), n) == 1] #This creates Un CG=DiGraph([Un,lambda i,j:False]) for k in S: CGk=DiGraph([Un,lambda i,j: mod(j*inverse_mod(i,n),n)==k]) for u,v,l in CGk.edges(): CGk.set_edge_label(u,v,k) CG.add_edges(CGk.edge_iterator()) print("Here is a graph of U("+str(n)+") using the generating set "+str(S)) CG.graphplot(color_by_label=True,edge_labels=True).show() n=10 S=[3,9] Zn = Integers(n) Un = [int(x) for x in Zn if gcd(ZZ(x), n) == 1] #This creates Un CG=DiGraph([Un,lambda i,j:False]) for k in S: CGk=DiGraph([Un,lambda i,j: mod(j*inverse_mod(i,n),n)==k]) for u,v,l in CGk.edges(): CGk.set_edge_label(u,v,k) CG.add_edges(CGk.edge_iterator()) print("Here is a graph of U("+str(n)+") using the generating set "+str(S)) CG.graphplot(color_by_label=True,edge_labels=True).show()
The following pages link to this page.