Linear Algebra and the C Language/a020


Install this file in your working directory.

/* ------------------------------------ */
/*  Save as :   vgj3.h                  */
/* ------------------------------------ */
double **gj3_T_mR(
double **Ab,
int above
)
{
int r= R1;
int c= C1;

    while( (r<Ab[R_SIZE][C0]) &&
           (c<Ab[C_SIZE_A][C0]) )
       {
        if(pivotbest_gj3Ab_mR(Ab,r,c)>ERROR_E) 
        
           zero_under_pivot_gj3Ab_mR(Ab,r,c);
           
        else r--;
        
        r++;
        c++;
       }

 r = Ab[R_SIZE][C0];
 
 if(above)
 
 while(r>R1)
  {
   r--;
   c=C1;
   
   while(fabs(Ab[r][c])<ERROR_E  &&  c<(Ab[C_SIZE_A][C0]-C1) ) c++;
         
   if(fabs(Ab[r][c])>ERROR_E)

      zero_above_pivot_gj3Ab_mR(Ab,r,c);
  }
  
  return(Ab);
}
/* ------------------------------------ */
double **gj_PP_mR(
double **Ab,
int above
)
{
  return( gj3_T_mR(Ab,above) );
}
/* ------------------------------------ */
/* ------------------------------------ */