3#if defined WEAK_CONSTRAINT && defined MINRES
4 SUBROUTINE sqlq (innLoop, a, tau, y)
43 integer,
intent(in) :: innLoop
45 real(r8),
dimension(innLoop,innLoop),
intent(inout) :: a
46 real(r8),
dimension(innLoop),
intent(inout) :: tau, y
50 integer :: i, j, ii, jj
52 real(r8) :: znorm, zbeta, zaii, ztemp
68 znorm=znorm+a(ii,j)*a(ii,j)
71 zbeta=sqrt(znorm*znorm+a(ii,ii)*a(ii,ii))
72 zbeta=-sign(zbeta,a(ii,ii))
73 tau(ii)=(zbeta-a(ii,ii))/zbeta
75 a(ii,j)=a(ii,j)/(a(ii,ii)-zbeta)
83 IF (tau(ii).ne.0.0_r8)
THEN
91 y(i)=y(i)+ztemp*a(ii+i,j+jj)
96 ztemp=-tau(ii)*a(ii,j+jj)
98 a(ii+i,j+jj)=a(ii+i,j+jj)+y(i)*ztemp