
Appendix
473
for (col-0 ; coKcols ; col++) {
nextcol - col + 1 ;
workCcol] - scale * qq ;
qq - sum - scale - 0.0 ;
for (k-col ; k<rows ; k++)
scale -f— fabs ( a[k*col s+col 1 ) ;
if (scale > 0.0) {
for (k-col ; k<rows ; k++) {
aCk*cols+col ] /- scale ;
sum +- a[k*cols+col3 * a[k*cols+col1 ;
}
pp - a[col*col s+col 3 ;
qq - -SIGN ( sqrt(sum) . pp ) ;
denom — pp * qq - sum ;
a[col*cols+colj - pp - qq ;
for (j-nextcol ; j<cols ; j++) {
sum - 0.0 ;
for (k-col ; k<rows ; k++)
sum +- a[k*cols+col] * a[k*cols+j] ;
pp - sum / denom ;
for (k-col ; k<rows ; k++)
a[k*cols+j] +- pp * a[k*cols+col1 ;
}
for (k-col ; k<rows ; k++)
aCk*cols+col] *- scale ; ...