c choose x2(k+1) orthogonal to x1(1),x1(2),...,x1(k)
c if vector=0, set flag=1
      subroutine test (v,n,j,flag)
      integer maxcor, maxcr2, maxcr4, maxcr5, maxcr6, maxcr7, maxcr8
c     parameter (maxcor=2, maxcr2=maxcor*maxcor, maxcr4=maxcr2*maxcr2,
c    1 maxcr5=maxcr2*(maxcr2+1)/2, maxcr6=maxcor*2, maxcr7=maxcr6+1,
c    2 maxcr8=maxcr6*maxcr7+1)
      parameter (maxcor=2, maxcr2=4, maxcr4=16,
     1 maxcr5=10, maxcr6=4, maxcr7=5,
     2 maxcr8=21)
      double precision v(maxcr6,maxcr7), sum
      integer flag
      sum=0.0d0
      do 10 i=1,n
   10 sum=sum+v(i,j)**2
      if (sum.lt.1.0d-5) flag=1
      return
      end
