home *** CD-ROM | disk | FTP | other *** search
/ vis-ftp.cs.umass.edu / vis-ftp.cs.umass.edu.tar / vis-ftp.cs.umass.edu / pub / Software / ASCENDER / ascender.tar.Z / ascender.tar / Triangulate / lubksb.c < prev    next >
C/C++ Source or Header  |  1995-04-13  |  353b  |  23 lines

  1. void lubksb(a,n,indx,b)
  2. double **a,b[];
  3. int n,*indx;
  4. {
  5.     int i,ii=-1,ip,j;
  6.     double sum;
  7.  
  8.     for (i=0;i<n;i++) {
  9.         ip=indx[i];
  10.         sum=b[ip];
  11.         b[ip]=b[i];
  12.         if (ii != -1)
  13.             for (j=ii;j<=i-1;j++) sum -= a[i][j]*b[j];
  14.         else if (sum) ii=i;
  15.         b[i]=sum;
  16.     }
  17.     for (i=n-1;i>=0;i--) {
  18.         sum=b[i];
  19.         for (j=i+1;j<n;j++) sum -= a[i][j]*b[j];
  20.         b[i]=sum/a[i][i];
  21.     }
  22. }
  23.