In rete http://www.elegio.it/calcolatrice/amplio-math.html
Questa piccola libreria può dare utili suggerimenti informatici per l'uso di Javascript: ampliamento-math-complessi.js.txtEsempio di ampliamento di Math con somma di due numeri complessi, prodotto elevamento di un numero complesso ad un esponente complesso etc...
Sperimento, tra l'altro, anche l'inversa e la radice quadrata calcolandola con il metodo
Math.cpow(a,b)
e come fare sommatorie pesate...
...Attivare Javascript...
E facendo alcuni calcoli non a caso...
Innanzi tutto la somma di due esponenti vuol dire il loro prodotto, ossia: (1+i)^(1+i) == ((1+i)^1)*((1+i)^i) Ma (1+i)^1 ossia la base elevata alla unità vale semplicemente (1+i) per cui posso fare questo piccolo passo: (1+i)^(1+i) == (1+i)*((1+i)^i) Poi applicherò la formula del prodotto di due numeri complessi ossia : (a+b*i)*(c+d*i ) == (a*c-b*d) +(b*c+a*d)*i Ma ora devo sapere scrivere (1+i)^i usando la formula di Eulero che è questa, con uso dell'angolo w che viene usato anche come esponente della funzione esponenziale che chiamo exp come si usa in Javascript e in wxMaxima: cos(w)+sin(w)*i == exp(i*w) Usando questa formula e sfruttando il fatto che elevare a potenza vuol dire moltiplicare gli esponenti e sapendo come si comporta l'unità immaginaria i: i*i == -1 si ha la prova che elevando alla i un numero complesso scritto come qua sotto, si ottiene un NUMERO REALE: (cos(w)+sin(w)*i)^i == exp(-w) == 1/exp(w) Ma c'è il fatto che la parte reale e la parte immaginaria devono soddisfare il vincolo trigonometrico ossia il quadrato del coseno più il quadrato del seno vale 1 e si ha questa espressione moltiplicando il numero complesso per il suo coniugato ossia con la parte immaginaria cambiata di segno: (cos(w)+sin(w)*i)*(cos(w)-sin(w)*i) == cos(w)*cos(w)+sin(w)*sin(w) == 1 Ma questo vincolo NON è soddisfatto da (1+i) dato che 1*1+1*1==2 e non 1 per cui devo operare (ovviamente essendo PI== 3.14159265358979 e sqrt(2) == 1.414213562373 e 1/sqrt(2) == 0.7071067811865 ) sapendo ( come si sa in trigonometria ) che: 1/sqrt(2) == cos(PI/4) == sin(PI/4) Quindi vale questa relazione in cui evidenzio la norma di (1+i): (1+i) == sqrt(2)*(cos(PI/4)+sin(PI/4)*i) Ma ho bisogno di scrivere una formula usando il solo esponenziale come base per cui devo cambiare un po' la formula precedente e scrivere: (1+i) == (cos(PI/4)+sin(PI/4)*i)*exp(log(2)/2) e quindi, in conclusione, ricordandomi cosa vale cos(PI/4) e lo stesso sin(PI/4) posso scrivere questa identità: (1+i) == exp((log(2)/2)+(PI/4)*i) A questo punto posso fare l'elevamento a potenza moltiplicando l'esponente ossia ricordando che i*i=-1 ho: (1+i)^i == exp(-(PI/4)+(log(2)/2)*i) e quindi moltiplicando questa complicata espressione per (1+i) anche lui espresso in forma esponenziale: (1+i)*((1+i)^i)) == exp(((log(2)/2)-(PI/4)) + ((PI/4)+(log(2)/2))*i) Adesso che finalmente ho ottenuto il risultato scritto in forma esponenziale ossia: (1+i)^(1+i) == exp(((log(2)/2)-(PI/4)) + ((PI/4)+(log(2)/2))*i) devo tornare alla forma tradizionale dei numeri complessi. Innanzi tutto, cominciando ad usare i numeri in virgola mobile: exp(((log(2)/2)-(PI/4))) == sqrt(2)/exp(PI/4) == 0.644793883889669 e per la formula di Eulero passo dall'esponenziale al coseno e seno: exp(((PI/4)+(log(2)/2))*i) == cos((PI/4)+(log(2)/2))+ sin((PI/4)+(log(2)/2))*i essendo, usando il loro valore in virgola mobile: cos((PI/4)+(log(2)/2)) == 0.42487570163894123 sin((PI/4)+(log(2)/2)) == 0.9052516987870376 Dunque in conclusione ottengo: (1+i)^(1+i)==(sqrt(2)/exp(PI/4))*cos((PI/4)+(log(2)/2))+ (sqrt(2)/exp(PI/4))*sin((PI/4)+(log(2)/2))*i e scritto in virgola mobile ottengo questo... due numeri piuttosto "misteriosi" ... (1+i)^(1+i) == 0.2739572538301211 + (0.5837007587586147)*i Questo calcolo e relativo risultato viene fatto automaticamente come primo calcolo dal documento che ho messo in rete: http://www.elegio.it/calcolatrice/cpow.html dove ho scritto la formula in modo leggermente diversa: cos((PI/4)+(log(2)/2)) invece ho scritto cos((2*log(2)+PI)/4) in modo leggermente più compatto... sin((PI/4)+(log(2)/2)) invece ho scritto sin((2*log(2)+PI)/4) in modo leggermente più compatto... NOTARE: Si possono verificare i calcoli usando la mia calcolatrice che ho messo in rete: http://www.elegio.it/calcolatrice/CONSIDERAZIONI CONCLUSIVE...
IL VERO VALORE DI (1+i)^(1+i) NON È PER NULLA UNA ESPRESSIONE BANALE (1+i)^(1+i) == 0.2739572538301211 + (0.5837007587586147)*i MA LA FUNZIONE DI USO GENERALE CHE HO MESSO IN RETE FA QUESTO CALCOLO IN MODO VELOCISSIMO !