list_plot([[n,euler_phi(n)] for n in range(1,30)])
eec132b7c338bf28fddfea6ec0238fd154197cd1.png
DN=posets.DivisorLattice(12)
DN.show()

f23f2c41ea39457fc3c9bf916511610731f1daf2.png
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)
3de4085389dcddfbf10a5a83509b5920afc0c3ce.png
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
1118cc771effff59b550fa536c0cfb54e17ab5d2.png