## Archive for Settembre 13th, 2021

### Scarabocchio…

lunedì, Settembre 13th, 2021

### A spiral of first 10k prime numbers…

lunedì, Settembre 13th, 2021

A prime number is a natural number greater than 1 that is not a product of two smaller natural numbers.

Euclid proved the infinity of primes by contradiction.

• Assume there are a finite number, n , of primes , the largest being $$p_n$$;
• Consider the number that is the product of these, plus one: $$N = \prod\limits_{i = 1}^n {{p_i}} + 1$$
• By construction, $$N$$ is not divisible by any of the $$p_i$$.
• Hence it is either prime itself, or divisible by another prime greater than $$p_n$$, contradicting the assumption.

Euclid’s proof is the easiest to understand, especially if you’re not well-versed in mathematics, but now I am going to introduce another proof of the infinitude of primes, which is shorter and I also find it to be the most appealing, at least in my eyes.

In mathematics, the prime-counting function is the function counting the number of prime numbers less than or equal to some real number $$x$$. E.g. for $$x=10.124$$, we have that 4 number of prime number: 2, 3, 5, 7.

Let $$\pi(x)$$ be a prime-counting function.

The Prime Number Theorem suggests that:

$$\mathop {\lim }\limits_{x \to \infty } \frac{{\pi \left( x \right)}}{{x/\ln (x)}} = 1$$

In other words, we can say that $$\pi(x)$$ “behaves” like $$x/\ln (x)$$ when $$x$$ is approaching infinity — there’s an asymptotic ‘equality’.

So, there are infinite primes.

For Python code, we use SymPy – a Python library for symbolic mathematics. In particular, we’ll use primerange(a, b) for generate all prime numbers in the range [a, b).

The code:

import sympy
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as ani
#plt.style.use('dark_background')
plt.style.use('default')

def convert_to_polar_coordinates(num):
return num*np.cos(num), num*np.sin(num)

lim = 10000

fig, ax = plt.subplots(figsize = (8, 8))
primes_numbers = sympy.primerange(0, lim)
primes_numbers = np.array(list(primes_numbers))
x, y = convert_to_polar_coordinates(primes_numbers)

def init():
ax.cla()
ax.plot([], [])

def plot_in_polar(i):
ax.cla()
ax.plot(x[:i], y[:i], linestyle='', marker='o', markersize=0.75, c='#FC0000')
ax.set_xlim(-lim, lim)
ax.set_ylim(-lim, lim)
ax.axis("off")

plt.savefig('prime.png')

animator = ani.FuncAnimation(fig=fig, func=plot_in_polar, interval=1, frames=len(primes_numbers))

animator.save("prime.gif")

plt.show()

lunedì, Settembre 13th, 2021

Sia $$d$$ un numero e $$n \in {\mathbb{N}^ + }$$ tale che:

$${n^2} < d < {\left( {n + 1} \right)^2}$$

ovvero:

$$n < \sqrt d < \left( {n + 1} \right)$$

e quindi:

$$0< \sqrt{d}-n<1$$

Per assurdo, sia

$$\sqrt d = \frac{p}{q}{\text{ con }}p,q \in {\mathbb{N}^ + }$$

Più precisamente, assumeremo che $$q$$ sia il minimo dei possibili denominatori per queste espressioni razionali di $$\sqrt d$$ e quindi assumiamo che sia il minimo $$q$$ tale che $$q \sqrt{d}=p \in \mathbb{N}^{+}$$.

Quindi:

$$\left( {\sqrt d – n} \right)q\sqrt d = qd – nq\sqrt d \in {\mathbb{N}^ + }$$

e pertanto, essendo $$\sqrt{d}-n<1$$ dev’essere:

$$\left( {\sqrt d – n} \right)q < q$$

contro il fatto che, per ipotesi, $$q$$ è il minimo dei possibili denominatori per la rappresentazione razionale di $$\sqrt d$$.

### Per principio…

lunedì, Settembre 13th, 2021

Sei uno che per principio non s’aspetta più niente da niente. Ci sono tanti, più giovani di te o meno giovani, che vivono in attesa d’esperienze straordinarie; dai libri, dalle persone, dai viaggi, dagli avvenimenti, da quello che il domani tiene in serbo. Tu no. Tu sai che il meglio che ci si può aspettare è di evitare il peggio.

– Italo Calvino, da Se una notte d’inverno un viaggiatore