|
|
Una volta capito come funziona un metodo iterativo , passiamo l'attenzione su un altro problema :Come arrestare il metodo in modo che la soluzione approssimi bene quella reale e il N° di iterazioni sia limitato. L'idea di fondo è quella di riuscire a stimare l'errore del metodo usato e trovare a priori il N° di iterazioni necessarie affinchè l'errore si riduca di un certo fattore. Metodo basato sul controllo dell'incremento Stabilisco a priori un valore E di soglia e richiedo che: || xk+1 + xk || < E L'idea di fondo è che se xk+1 deve essere "vicina" a ||ek+1||<=(1/(1-|| B || ) ) * E
si nota come il fattore moltiplicativo 1/( 1-|| B || )conti molto. Da solo questo metodo non da sempre buoni risultati. Metodo basato sul controllo del residuo Stabiliamo come Residuo: || rk+1 ||=|| b-Axk+1 ||=|| x-xk+1|| ora poniamo che il residuo sia minore di una certa tolleranza E || rk+1 ||<=E da cui segue che l'errore al passo k+1 sia: || ek+1|| / || x || <=(K(A)*E)/|| b || dove K(a) è il numero di condizionamento della matrice. Si deduce che se la matrice A è mal condizionata , questo criterio di arresto è poco efficace,per migliorarlo si può ridurre E , o utilizzarne un altro in modo incrociato. |