function [t,v]=potencia(A,u)

% Método de la potencia: obtencion de aproximaciones del
%                valor propio dominante y un vector propio asociado
%
% Valores de entrada: A matriz cuadrada
%                     u vector (columna) inicial
%
% Valores de salida: t aproximacion del valor propio dominante
%                    v aproximacion de un vector propio asociado

max_iter=100;     % Fijamos un número máximo de iteraciones (max_iter) 
tol= 10^-3;   %eps;    % y una tolerancia (tol).
n=size(A,1);


[aux,i]=max(abs(u)); %Calculamos el índice i_0 en el que se encuentra la componente dominante
w=u/u(i);         %Normalizamos el vector u

iter=1;           % Inicializamos el contador de iteraciones a 1
u=.............   % Calculamos u^(1)
sigma_new=u(i)    % Calculamos sigma^(1)
[aux,i]=........  % Calculamos i_1
w=..............  % Calculamos w^(1)

do                % Empezamos el bucle principal del método
    iter=iter+1;  % Aumentamos en 1 el contador de iteraciones
    sigma_old=sigma_new; % Actualizamos la aproximación calculada
    
    u=..................      % Calculamos u^(k+1)
    sigma_new=..........      % Calculamos sigma^(k+1)
    [aux,i]=............      % Calculamos i_{k+1}
    w=..................      % Calculamos w^(k+1)

    dif=abs(...........) % Criterio de parada: |sigma_new - sigma_old |<= tol
  
until (iter==max_iter | dif<=tol)  
  
% Acabamos el bucle principal del método, porque hemos conseguido convergencia
% o porque hemos superado el número máximo de iteraciones.
    
  if dif> tol  % no conseguimos convergencia
        disp('Número máximo de iteraciones superado')       
  end
iter              % mostramos por pantalla el número de iteraciones realizado
t = sigma_new;    % ultimo valor calculado de t
v = w;            % ultimo valor calculado de v