      subroutine dav4conv(b,ab,m,nvec,ndet,alam)
      IMPLICIT REAL*8(A-H,O-X,Z),logical*1(y)
      parameter (ngru3=2048,maxda3=50)
      dimension b(ngru3,nvec),ab(ngru3,nvec),c(ngru3)
      dimension alam(maxda3)
      dimension ll0(maxda3)
      do j=1,m
         ll0(j)=(j-1)*((ndet-1)/ngru3+1)
      enddo
      do i=1,ndet,ngru3
         long=min(ngru3,ndet-i+1)
         do j=1,m
            ll=ll0(j)+1
            call lirec(b(1,j),ll,long,21)
            call lirec(ab(1,j),ll,long,22)
         enddo
         do k=1,nvec
            do ii=1,long
               c(ii)=0.d0
               do l=1,m
                  c(ii)=c(ii)+alpha(l,k)*(ab(ii,l)-alam(k)*b(ii,l))
               enddo
            enddo
            call ecrc(c,ll,long,23)
            do ii=1,long
               sumq(k)=sumq(k)+c(ii)*c(ii)
            enddo
         enddo
      enddo
      ycv=.true.
      ncv=0
      do k=1,nvec
         ycvl(k)=SUMQ(k).LT.THR
         if(ycvl(k)) ncv=ncv+1
         ycv=ycv.and.ycvl(k)
      enddo
      return
      end
