If I define J(x) function as:
def J(x): sum = 0 print(int(log(x)/log(2))) for i in range(1, int(log(x)/log(2)) + 1): sum = sum + 1 / i * prime_pi(x**(1/i)) return(N(sum))
when I try to plot it using:
p = plot(J(x), (x, 1, 20)) show(p)
I get the message: "cannot convert log(x)/log(2) to int"
but if try J function acting on any float number I get a perfect value like:
sage: J(123.456789) 34.0333333333333
I have tried to replace int by floor but with the same result. Any help to solve the plotting problem will be welcome. Thank you.