SetOptions[Plot, AspectRatio -> Automatic]; rucat
tf := TableForm; tx := TeXForm; hh := Hold; 
  ss := Simplify; 
tt[x_] :=TraditionalForm[x]; 
  mf := MatrixForm;

ru1:={"a"->"a","c"->"d","b"->"c","d"->"a","e"->"d","f"->"e","g"->"b","h"->"d","i"->"h","j"->"e"}

ru1

GraphPlot[ru1,VertexLabeling->True, DirectedEdges->True,EdgeRenderingFunction->(Arrow[#1,0.1]&),PlotStyle->Directive[Arrowheads[0.03]],VertexRenderingFunction->(Text[#2,#1]&)]

ff["a"]:="a";ff["c"]:="d";ff["b"]:="c";ff["d"]:="a";ff["e"]:="d";ff["f"]:="e";ff["g"]:="b";ff["h"]:="d";ff["i"]:="h";ff["j"]:="e";

graph1:=GraphPlot[ru1,VertexLabeling->True, DirectedEdges->True,EdgeRenderingFunction->(Arrow[#1,0.1]&),PlotStyle->Directive[Arrowheads[0.03]],VertexRenderingFunction->(Text[#2,#1]&)]

Remove[graphname]

Export["C:\\Documents and Settings\\All Users\\Documents\\Data\\New Ab Math\\AbMath in TeX\\AbMath Mathematica\\graph1.pdf",graph1]

graphname:="C:\\Documents and Settings\\All Users\\Documents\\Data\\New Ab Math\\AbMath in TeX\\AbMath Mathematica\\graph101.pdf"

Export[graphname,"graph1.pdf"]

ru2:=#->ff[#]&/@{"a","b","c","d","e","f","g","h","i","j"}

GraphPlot[ru2,VertexLabeling->True, DirectedEdges->True,EdgeRenderingFunction->(Arrow[#1,0.1]&),PlotStyle->Directive[Arrowheads[0.03]],VertexRenderingFunction->(Text[#2,#1]&)]

ru3:=#->ff[ff[#]]&/@{"a","b","c","d","e","f","g","h","i","j"}

GraphPlot[ru3,VertexLabeling->True, DirectedEdges->True,EdgeRenderingFunction->(Arrow[#1,0.1]&),PlotStyle->Directive[Arrowheads[0.02]],VertexRenderingFunction->(Text[#2,#1]&)]

GraphPlot[#->ff[ff[ff[#]]]&/@{"a","b","c","d","e","f","g","h","i","j"},VertexLabeling->True, DirectedEdges->True,EdgeRenderingFunction->(Arrow[#1,0.1]&),PlotStyle->Directive[Arrowheads[0.02]],VertexRenderingFunction->(Text[#2,#1]&)]

GraphPlot[#->ff[ff[ff[ff[#]]]]&/@{"a","b","c","d","e","f","g","h","i","j"},VertexLabeling->True, DirectedEdges->True,EdgeRenderingFunction->(Arrow[#1,0.1]&),PlotStyle->Directive[Arrowheads[0.02]],VertexRenderingFunction->(Text[#2,#1]&)]

FunctionGraph[r_]:=GraphPlot[r,VertexLabeling->True, DirectedEdges->True,EdgeRenderingFunction->(Arrow[#1,0.1]&),PlotStyle->Directive[Arrowheads[0.03]],VertexRenderingFunction->(Text[#2,#1]&)]

FunctionGraph[ru1]

MakeRule[f_,l_]:=#->f[#]&/@l

g[n_]:=Mod[n^2+1,11]

Remove[f]

MakeFunctionRule[f_,n_]:=#->f[#]&/@ Table[k,{k,0,n-1}]

MakeFunctionRule[g,13]

FunctionGraph[MakeFunctionRule[g,13]]

h[n_]:=Mod[n^9,11]

MakeFunctionRule[h,11]

FunctionGraph[MakeFunctionRule[h,11]]

Remove[fg]

fg[x_,n_]:=FunctionGraph[MakeFunctionRule[x,n]]

k[n_]:=Mod[n^9+n^7+5n,11]

fg[k,11]

s[n_]:=Mod[(n+1)^9+n^7+5n,11]

fg[s,11]

aaa[n_]:=Mod[(n+1)^9+(n^+2)^7+5n,11]

fg[aaa,11]

bbb[n_]:=Mod[n^2+5,11]

fg[bbb.11]

ccc[n_]:=Mod[n^3+5,11]

fg[ccc,11]

ddd[n_]:=Mod[n^3+n^2,11]

fg[ddd,11]

Remove[g]

g[n_]:=Mod[n^2+1,11]

fg[g,11]

gg[x_]:=g[g[x]]

fg[gg,11]

ggg[x_]:=g[g[g[x]]]

fg[ggg,11]

ht[n_]:=Mod[n^(11),13]

fg[ht,13]

htx[n_]:=Mod[n^(11)+n^9+n^7+1,13]

htx[11]

fg[htx,13]

Table[{n,htx[n]},{n,0,12}]//tf

fbig[0]:=5;fbig[1]:=2;fbig[2]:=13;fbig[3]:=4;fbig[4]=14;fbig[5]:=6;fbig[6]:=7;fbig[7]:=8;fbig[8]:=9;fbig[9]:=10;fbig[10]:=5;fbig[11]:=2;fbig[12]:=2;fbig[13]:=14;fbig[14]:=7;

fg[fbig,15]

fgc[x_,y_,n_]:=Show[fg[x,n],fg[y,n]]

hdem[n_]:=Mod[n^2+5,15]

fg[hdem,15]

fgc[fbig,hdem,15]