Il post di ieri contiene un errore logico clamoroso!
Calcola 0^ε con ε sempre più piccolo. Ma non era quello che dovevo fare, ecco un esempio:
0^5 = 0 * 0 * 0 * 0 * 0 = 0
Ovvio! basta vedere che il primo termine dell'espressione è 0 e il risultato sarà 0. Senza bisogno di procedere con altri calcoli. Questo è quello che fanno gli interpreti di Python e calc (presumo, in realtà non lo so).
Se fossi stato più accorto visto che il risultato non era quello atteso, non avrei pubblicato, ci avrei pensato su --prima. Invece... --OK, vediamo se posso rimediare.
Modifico lo script Python in modo da fargli eseguire ε^ε e --magia!:
1 2 3 4 5 6 7 8 9 | #!/usr/bin/python #zero alla zero [float] for e in range(21): # e = esponente den = 10**e # denominatore eps = 1.0 / den # numero piccolissimo z = eps**eps # eps a eps print e, eps, z |
* 0^0 $ python qz.py
0 1.0 1.0
1 0.1 0.794328234724
2 0.01 0.954992586021
3 0.001 0.993116048421
4 0.0001 0.999079389984
5 1e-05 0.999884877372
6 1e-06 0.999986184585
7 1e-07 0.999998388192
8 1e-08 0.999999815793
9 1e-09 0.999999979277
10 1e-10 0.999999997697
11 1e-11 0.999999999747
12 1e-12 0.999999999972
13 1e-13 0.999999999997
14 1e-14 1.0
15 1e-15 1.0
16 1e-16 1.0
17 1e-17 1.0
18 1e-18 1.0
19 1e-19 1.0
20 1e-20 1.0
* 0^0 $
Non dimentichiamo però che il risultato di 1 vale solo per i 'puters; per i matematici il valore è indeterminato.
Avevo scritto un commento che è andato perso... Ci riprovo: così informatici e matematici vanno d'accordo, anche per un matematico epsilon alla epsilon fa 1 (ovvero: il limite per x che tende a zero+ di x^x è 1). Puoi però divertirti a modificare i due infinitesimi e vedere quello che succede. Per esempio, un radice di epsilon alla epsilon, o epsilon elevato a 1/ln(epsilon)...
RispondiEliminaSfida informatica: ce la fanno i programmi a scoprire il comportamento asintotico di una roba del tipo x^1000 / 1.1^x? Puoi ingrandire 1000 quanto vuoi, e rendere 1.1 vicino a 1 quanto vuoi...
Ci sono programmi e pacchetti per precisione arbitraria. Da parlarne in futuro.
Eliminaprecisione arbitraria non intera? sono curioso di sapere quale programma ce la fa a calcolare quell'asintoto...
EliminaVale come soluzione informatica 2.0?
RispondiEliminahttp://www.wolframalpha.com/input/?i=lim%28x-%3E0%29+%28x^1000%2F1.1^x%29
http://www.wolframalpha.com/input/?i=lim%28x-%3Einf%29+%28x^1000%2F1.1^x%29
:)