function [lambda1_koz, x1_koz, k] = hatvanyModszerRaleigh(A, maxk, tol);
  %% Ellenõrzések:
  [nA, mA] = size(A);
  if nA != mA||!isnumeric(A)||!isnumeric(maxk)||!isnumeric(tol)||...
    maxk <1||tol < 0 
    error('Hibás input paraméterek!');
  endif
  
  %% Inicializálás:
  lambda1_koz = -inf;
  hiba = inf;
  x1_koz = rand(nA,1);            %% itt függ(het) a konvergencia a kezdõvektortól!
  x1_koz = x1_koz/norm(x1_koz);
  k = 0;
  
  %% A közelítések kiszámolása:
  while k <= maxk && hiba > tol
    k = k+1;
    x1_new = A*x1_koz;
    lambda1_new  = (x1_koz'*x1_new)/(x1_koz'*x1_koz); %% Raleigh hányados
    hiba = abs(lambda1_new - lambda1_koz);
    lambda1_koz = lambda1_new;
    x1_koz = x1_new/norm(x1_new);;
  end
endfunction

