Logo Search packages:      
Sourcecode: last-align version File versions  Download package

lubksb.c

// Public domain code from Yi-Kuo Yu & Stephen Altschul, NCBI

void lubksb(a,n,indx,b)
double **a,b[];
int n,*indx;
{
      int i,ii=0,ip,j;
      double sum;

      for (i=1;i<=n;i++) {
            ip=indx[i];
            sum=b[ip];
            b[ip]=b[i];
            if (ii)
                  for (j=ii;j<=i-1;j++) sum -= a[i][j]*b[j];
            else if (sum) ii=i;
            b[i]=sum;
      }
      for (i=n;i>=1;i--) {
            sum=b[i];
            for (j=i+1;j<=n;j++) sum -= a[i][j]*b[j];
            b[i]=sum/a[i][i];
      }
}

Generated by  Doxygen 1.6.0   Back to index