Qui di seguito mostriamo il codice che implementa il metodo delle potenze:
function [lambda,i]=potenze(A,vett,toll,nmax)
%POTENZE Esegue il metodo delle potenze per il calcolo dell'autovalore
% dominante della matrice A, se questo esiste
%
% [lambda,i]=POTENZE(A,vett,toll,nmax)
%
% I parametri della funzione sono:
% A -> matrice di cui vogliamo calcolare l'autovalore dominante
% vett -> vettore di partenza; solitamente rand(n,1)
% toll -> tolleranza per l'autovalore
% nmax -> limite superiore al numero di iterazioni
%
% I valori di ritorno sono:
% lambda -> l'autovalore dominante
% i -> il numero di iterazioni impiegate per ottenere la soluzione
i=0;
err=toll+1;
sig=0;
y=vett;
while (i<nmax & err>toll*abs(sig))
i=i+1;
t=y/norm(y);
y=A*t;
sig1=(t'*y)/(t'*t);
err=abs(sig1-sig);
sig=sig1;
end
lambda=sig;