list_plot([[n,euler_phi(n)] for n in range(1,30)])
DN=posets.DivisorLattice(12)
DN.show()
IN = DN.incidence_algebra(QQ)
RE = IN.reduced_subalgebra()
A=RE.zeta().to_matrix()
A
B=A*A
B
C=RE.moebius().to_matrix()
C
A*C
p=3
R = range(1,p^2+1)
L = Graph([R, lambda i,j: j==i+1])
H = {'blue':[x for x in R if x % p == 0], 'red':[x for x in R if x % p != 0]}
mypos = {i:[i,(i+0) % 3] for i in R}
L.plot(vertex_colors=H,pos=mypos)
N=3000
eul = list_plot([euler_phi(n) for n in range(1,N+1)])
ep = list_plot([n-1 for n in range(1,N+1)],color='red')
eul+ep