function[n1est]=norm1est(n, aold1, be1, a1, dd1, superdd1, gamma1) % This function returns the 1-norm estimate for the matrix R of size n % whose entries are specified by the variables %aold1, be1, a1, dd1, superdd1, gamma1 aold=aold1; be=be1; dd=dd1; a=a1; superdd=superdd1; aaa=min(abs(dd)); if aaa==0 n1est=inf; return end x=ones(n,1); y=zeros(n,1); w=zeros(n,1); x=x/n; iter=1; while(iter<=12) y(n)=x(n)/dd(n); y(n-1)=(x(n-1)-superdd(n-1)*y(n))/dd(n-1); s1=-gamma1*be(n-2)*a(n+1)*y(n); y(n-2)=(x(n-2)-superdd(n-2)*y(n-1)-s1*conj(aold(n-2)))/dd(n-2); for k=3:n-1 s1=(s1 -gamma1*a(n-k+3)*y(n-k+2))*be(n-k); y(n-k)=(x(n-k)-superdd(n-k)*y(n-k+1)-s1*conj(aold(n-k)))/dd(n-k); end for i=1:n if y(i)==0 z(i)=1.; else z(i)=y(i)/abs(y(i)); end end w(1)=z(1)/conj(dd(1)); w(2)=(z(2)-conj(superdd(1)) *w(1))/conj(dd(2)); s1=-conj(gamma1)*conj(be(1))*aold(1)*w(1); w(3)=(z(3)-conj(superdd(2))*w(2)-s1*conj(a(4)))/conj(dd(3)); for k=4:n s1=(s1 -conj(gamma1)*aold(k-2)*w(k-2))*conj(be(k-2)); w(k)= (z(k)-conj(superdd(k-1))*w(k-1)-s1*conj(a(k+1)))/conj(dd(k)); end w=real(w); if norm(w, inf)<=transpose(w)*x n1est=norm(y,1); return else w=abs(w); [aa,it]=max(w); x=zeros(n,1); x(it)=1; iter=iter+1; n1est=norm(y,1); end end