function [p,dp]=hyman(A,lambda) % [p,dp]=hyman(A,lambda) % berechnet die Rekursion fuer den Wert des % charakteristischen Polynoms und seiner % Ableitung einer oberen nichtzerfallenden % Hessenbergmatrix an der Stelle lambda siz=size(A); if siz(1) ~= siz(2) error('hyman: matrix must be square'); end n=siz(1); % ckeck matrix sum=0; for i=1:n-2 for j=i+2:n sum=sum+abs(A(j,i)); end end if sum~=0 error('hyman: matrix A is not upper Hessenberg'); end for i=1:n-1 if A(i+1,i)==0 error('hyman: matrix A is reducible'); end end n1=n+1; p=zeros(n1,1); dp=zeros(n1,1); p(n1)=1; dp(n1)=0; for i=1:n if i==n fac=1; else fac=1/A(n-i+1,n-i); end p(n1-i)=fac*(lambda*p(n1+1-i)-A(n-i+1,n-i+1:n)*p(n1-i+1:n1)); dp(n1-i)=fac*(p(n1+1-i)+lambda*dp(n1+1-i)-A(n-i+1,n-i+1:n)*dp(n1-i+1:n1)); end