C Output from Public domain Ratfor, version 1.0
subroutine pwy(m,n,k,m5,n2,a,c,b,t,toler,ift,x,e,s, wa,wb)
double precision b(m),a(k,n),x(n,k)
double precision wa(m5,n2),wb(m),e(m),c(m,n)
double precision t,toler
integer m,n,k,m5,n2,ift
integer s(m)
do23000 i=1,k
call dcopy(n,a(i,1),k,c(m,1),m)
call rq0(m,n,m5,n2,c,b,t,toler,ift,x(1,i),e,s,wa,wb)
23000 continue
23001 continue
return
end
subroutine xys(mofn,m,n,k,mofn5,n2,a,b,tau,toler,ift,x,e,s, wa,wb,
*aa,bb,ss)
double precision b(m),a(m,n),x(n,k)
double precision wa(mofn5,n2),wb(mofn)
double precision aa(mofn,n),bb(mofn),e(mofn)
double precision tau,toler
integer ss(mofn,k),s(mofn),mofn,m,n,k,mofn5,n2,ift(k)
do23002 i=1,k
do23004 ii=1,mofn
bb(ii)=b(ss(ii,i))
do23006 jj=1,n
aa(ii,jj)=a(ss(ii,i),jj)
23006 continue
23007 continue
23004 continue
23005 continue
call rq0(mofn,n,mofn5,n2,aa,bb,tau,toler,ift(i),x(1,i),e,s,wa,wb)
23002 continue
23003 continue
return
end
subroutine wxy(m,n,k,m5,n2,a,b,tau,toler,ift,x,e,s,wa,wb,aa,bb,w)
double precision b(m),a(m,n),x(n,k)
double precision w(m,k),wa(m5,n2),wb(m)
double precision aa(m,n),bb(m),e(m)
double precision tau,toler
integer s(m),m,n,k,m5,n2,ift(k)
do23008 i=1,k
do23010 ii=1,m
bb(ii)=b(ii)*w(ii,i)
do23012 jj=1,n
aa(ii,jj)=a(ii,jj)*w(ii,i)
23012 continue
23013 continue
23010 continue
23011 continue
call rq0(m,n,m5,n2,aa,bb,tau,toler,ift(i),x(1,i),e,s,wa,wb)
23008 continue
23009 continue
return
end
subroutine heqfy(n,p,r,x,b,y)
integer n,p,r
double precision x(n,p),b(p,n,r),y(n,r)
do23014 i=1,r
do23016 j=1,n
y(j,i)=ddot(p,x(j,1),n,b(1,j,i),1)
23016 continue
23017 continue
23014 continue
23015 continue
return
end