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