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;