Programma di sperimentazione della solidità della tridiagonalizzazione fatta con l'algoritmo di Giampaolo Bottoni ( reinventato...)

L'algoritmo della tridiagonalizzazione ossia la mia pseudo-novità dell'agosto 2008.
In questo file ci devono stare i dati delle matrici studiate. Viene tenuto separato per consentire agevoli ampliamenti... Si deve chiamare xt2(matricestudiata).txt ma ho realizzato più di un file con delle matrici di prova per cui, volendoli utilizzare, bisogna rinominarli col nome giusto...

Le basi teoriche...


Esempio n°=    riga= colonna= valore=
Matrice in costruzione:

Test dell'algoritmo per la tridiagonalizzazione di una matrice

Questa è la matrice di partenza:
Parte reale autovalori della matrice di test:
Parte immaginaria autovalori della matrice di test:
Info sul calcolo della tridiagonalizzazione:
La matrice test tridiagonalizzata:

La matrice tridiagonalizzata deve avere gli stessi autovalori di quella di partenza

Parte reale autovalori della matrice di test tridiagonalizzata:
Parte immaginaria autovalori della matrice di test tridiagonalizzata:

Questa pagina è autosufficiente per quanto concerne la libreria di algebra lineare. Contiene infatti l'algoritmo QR di Francis per la ricerca degli autovalori di una matrice non simmetrica.
Fare però attenzione: per funzionare questa pagina richiede due ulteriori file ossia il file contenente il mio algoritmo ( non sarò stato il primo ... ma comunque è frutto di miei autonomi ponzamenti ferragostiani nell'agosto 2008 ) e il file di dati con le matrici studiate.

Nota: In fisica ( meccanica quantistica, calcoli strutturali, fluidodinamici etc..) si incontrano prevalentemente operatori differenziali simmetrici dei quali si vogliono trovare gli autovalori che hanno un loro significato ben preciso per il fisico o l'ingegnere. Gli autovalori, per la simmetria degli operatori, sono reali. Nella discretizzazione di tali operatori differenziali si presenta spessissimo la necessità di conservare la simmetria posseduta dagli operatori continui. Questa necessità nasce da ragioni fisiche poiché è noto per ragioni fisiche che gli autovalori devono essere reali e dunque sarebbe una cattiva approssimazione quella di un operatore discretizzato tramite una matrice non simmetrica che può dunque avere anche autovalori complessi coniugati ...privi di valore fisico. Tuttavia esistono situazioni in cui la rinuncia, in fase di discretizzazione, della simmetria non provoca effetti indesiderati perché di solito hanno interesse solo alcuni degli autovalori e questi possono venire stimati bene anche se la matrice non simmetrica ammette alcuni autovalori complessi coniugati. Ma c'è un ma: dal punto di vista numerico la ricerca degli autovalori di una matrice non simmetrica è nettamente più costosa in termini di numero di moltiplicazioni da fare. Penso dunque che il disporre di un algoritmo come questo che permette di tridiagonalizzare anche matrici poco asimmetriche sia un bene perché è un peccato che si debba rinunciare all'utilizzo di discretizzazioni valide da un punto di vista fisico ma rese numericamente inapplicabili perché producono matrici solo leggermente non simmetriche.