/* qrbdbv.c CCMATH mathematics library source code. * * Copyright (C) 2000 Daniel A. Atkinson All rights reserved. * This code may be redistributed under the terms of the GNU library * public license (LGPL). ( See the lgpl.license file for details.) * ------------------------------------------------------------------------ */ #include int qrbdbv(double *d,double *e,double *b,double *v,int n) { int i,j,k,nn,jj,nm; double u,x,y,f,g,c,s,t,w,*p,*q; for(j=1,t=fabs(d[0]); jt) t=s; t*=1.e-15; nn=100*n; nm=n; for(j=0; n>1 && j0 ;--k){ if(fabs(e[k-1])k){ f=s*e[i]; g*=c; e[i-1]=u=sqrt(x*x+f*f); c=x/u; s=f/u; } f=c*y+s*g; g=c*g-s*y; for(jj=0,p=v+i; jj