Scusate l’ OT, ma sono decisamente contento …
Tornato a casa una sorpresa …
Sono finalmente arrivati i libri che avevo ordinato.
- The Art Of Computer Programming di D.E.Knuth -
La piu’ bella raccolta di algoritmi e teoremi sulla programmazione che siano mai stati fatta.
Era una vita che sognavo di averli, dai tempi dell’ università, ma a quei tempiordinare in america era una cosa impossibile.
E cogliendo l’occasione che Knuth ha gia’ pubblicato ben 5 capitoli del quarto libro della saga.
Ho ordinato tutto quanto in America.
E ora sono qui.
Finalmente rivedo i concetti che ricordavo di aver letto. Concetti che essendo molto di base, praticamente non avevo mai ritrovato in nessun altro libro che ho letto in questi anni.
Ad esempio nel secondo libro:“Seminumerical Algorithms”.
Cap. 4.2.2 “Accuracy of Floating Point Arithmetic”.
I mitici assiomi sul calcolo in virgola mobile:
[ u (+) v ] (+) w != u (+) [ v (+) w ] , for many u,v,w
Oppure l’altro:
u (x) [ v (+) w ] != [ u (x) v ] (+) [ u (x) w ]
E infine uno degli esempi che facevano strabuzzare gli occhi a noi ingenui studentelli del secondo anno:
ipotizzati i seguenti valori per u e v:
u=1.2345679 e v=-0.23456785
ecco che :
[ u (+) v ] = 1.0000000
[ u (+) v ] (-) v = 1.2345678
[ [ u (+) v ] (-) v ] (+) v = 0.99999995
[ [ [ u (+) v ] (-) v ] (+) v ] (-) v = 1.2345678
valeva la pena riprovare con la calcolatrice di windows 7 :
ecco i risultati:
1.00000005
1.2345679
0.9999994
1.2345679
wow, a seconda di quante volte si aggiunge e si sottrae la medesima quantita (negativa) si compensano gli errori di tolleranza.
Quasi magico all’epoca.
Andrea.