function[F]=hesseigstru(m, itype) % This routine computes the structural representation of the matrix M(H), % where H is a unitary Hessenberg matrix H of size n=50*m. % The variable itype specifies the type (I,II or III) of H %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% rand('state',sum(100*clock)); kk=m; % Computing the matrix H explicitly if (itype==1) n=50*kk +1; sizeh(kk)=n-1; a=zeros(1, n); a(1)=1.; for k=2:n-1 a(k)=rand *exp(sqrt(-1)*pi*2* rand); end a(n)=exp(sqrt(-1)*pi*2*rand); aold=a; n=n-1; h=zeros(n,n); for i=1:n-1 h(i+1,i)=sqrt(1-abs(a(i+1))^2); end for i=1:n-1 b=1; for j=i:n h(i,j)=-conj(a(i))*b*a(j+1); if (j