SECOND TCHEBYCHEV FUNCTION

Pafnuty Tchebychev

\[\psi (x)\]

$$\psi ~~~~ psi $$

\[\psi (x)= \sum_{p^{k}\leqslant x}^{ }ln(p) \\ over \ all \ prime \ powers \ p^{k} \leqslant x\]


# Calcul de second Tchebyshev's function 
psi=4
sum([ log(prod([1 - exp(  2*pi*I*k/(i+2)  ) for k in range(i+2+1) if gcd(i+2,k) == 1])) for i in range(psi-1)]).numerical_approx();

# Calcul de exp( second Tchebyshev's function )  soit, écrit autrement, e^( psi())
exp(sum([ log(prod([1 - exp(  2*pi*I*k/(i+2)  ) for k in range(i+2+1) if gcd(i+2,k) == 1])) for i in range(psi-1)])).numerical_approx();

\[\psi (x)= \sum_{n \leqslant x}^{ }\Lambda(n)\]
\[e^{\psi (n)} = lcm(1,2,...,n) \\ = A003418(n) \]


 #Second Tchebyshev's function
numerical_approx(log(lcm(range(1, x+1)),exp(1)))
sum([numerical_approx(log(lcm(range(1, n+1))/lcm(range(1, n)),exp(1))) for n in range(1,x+1)])

numerical_approx(log(lcm(range(1, x+1)),exp(1))) == sum([numerical_approx(log(lcm(range(1, n+1))/lcm(range(1, n)),exp(1))) for n in range(1,x+1)])                       
         

A003418 Least common multiple (or LCM) of {1, 2, ..., n}.

1,1,2,6,12,60,60,420,840,2520,2520,27720,27720,360360,360360,360360
A003418    OEIS

# A003418
psi=10
exp(sum([ log(prod([1 - exp(  2*pi*I*k/(i+2)  ) for k in range(i+2+1) if gcd(i+2,k) == 1])) for i in range(psi-1)])).numerical_approx();
floorexact=exp(sum([ log(prod([1 - exp(  2*pi*I*k/(i+2)  ) for k in range(i+2+1) if gcd(i+2,k) == 1])) for i in range(psi-1)])).numerical_approx().real().exact_rational().floor();#.real().exact_rational().ceil();
floorexact

\[\pi (n)=\omega (e^{\psi (n)})\]


# choose a value for n
n=100
# exp ( Second Tchebyshev's function psi(n) )
exp_of_psi = exp( log(lcm(range(1, n+1)),exp(1)) )
exp_of_psi
Z = IntegerRing()
conversion = Z(exp_of_psi); conversion
factorization_exp_of_psi = factor(conversion); factorization_exp_of_psi

# omega(n) A001221(n)
len([p for p,e in factorization_exp_of_psi])
# pi(n) A00720(n)
pari(n).primepi()
prime_pi(n)  

v038566 = [1, 1, 1, 2, 1, 3, 1, 2, 3, 4, 1, 5, 1, 2, 3, 4, 5, 6, 1, 3, 5, 7, 1, 2, 4, 5, 7, 8, 1, 3, 7, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 5, 7, 11, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 3, 5, 9, 11, 13, 1, 2, 4, 7, 8, 11, 13, 14, 1, 3, 5, 7, 9, 11, 13, 15, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]

v038567 = [1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16]

v002088 = [0, 1, 2, 4, 6, 10, 12, 18, 22, 28, 32, 42, 46, 58, 64, 72, 80, 96, 102, 120, 128, 140, 150, 172, 180, 200, 212, 230, 242, 270, 278, 308, 324, 344, 360, 384, 396, 432, 450, 474, 490, 530, 542, 584, 604, 628, 650, 696, 712, 754, 774, 806, 830, 882, 900, 940, 964]



# A003418(n) = e^(psi(n)) = prod e^Mangoldt(n) for n<=4   where psi is second http://en.wikipedia.org/wiki/Chebyshev_function
n=4
prod( prod([1 - exp(  2*pi*I*k/j  ) for k in range(j+1) if gcd(j,k) == 1]) for j in range(2, n+1)  ).numerical_approx();

n=11
2*prod([1 - exp(  2*pi*I*v038566[k+1]/v038567[k]  ) for k in range(2, v002088[n]) ]).numerical_approx();

v000040 = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271]

v000720 = [0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 17, 17, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 21, 21, 21, 21, 21, 21]

v003418 = [1, 1, 2, 6, 12, 60, 60, 420, 840, 2520, 2520, 27720, 27720, 360360, 360360, 360360, 720720, 12252240, 12252240, 232792560, 232792560, 232792560, 232792560, 5354228880, 5354228880, 26771144400, 26771144400, 80313433200, 80313433200]


n=8

v000040[n]
v000720[n]
v003418[n]

prod( v000040[i]^floor(log(n,v000040[i]).numerical_approx()) for i in range(0, v000720[n-1])  )