dimanche 26 mai 2013

Algorithme de la Méthode des Itérations QR pour le calcul des valeurs propres d'une matrice en Matlab

Algorithme de la Méthode des Itérations QR pour le calcul des valeurs propres d'une matrice en Matlab :

function D=qrbasic (A,tol ,nmax)
%QRBASIC calcule les valeurs propres de la matrice A.
% D=QRBASIC(A,TOL ,NMAX) calcule par itérations QR
% toutes les valeurs propres de A avec une tolérance
% TOL en NMAX itérations au maximum. La convergence
% de cette méthode n’est pas toujours garantie .
[n,m]=size(A);
if n ~= m, error(’Matrices carrées seulement’); end
T = A; niter = 0; test = norm(tril(A,-1),inf);
while niter <= nmax & test >= tol
[Q,R]=qr(T); T = R*Q;
niter = niter + 1;
test = norm(tril(T,-1),inf);
end
if niter > nmax
warning([’La méthode ne converge pas dans le ’
’nombre d’’itérations maximum voulu\n’]);
else
fprintf([’La methode converge en ’ ...
’%i itérations\n’],niter);
end
D = diag(T);
return

Aucun commentaire:

Enregistrer un commentaire