Linear Algebra and the C Language/a00t


Install this file in your working directory.

/* ------------------------------------ */
/*  Save as :   vpall.h                 */
/* ------------------------------------ */
double **pall_mR(
double **A,  // R3xC8
int er,
int dr,
int n_cMAX   // C9
)
{
int r;
int c;

int c_LAST;
int c_FIRST;

int THE_LAST_c_TO_WRITE = C0;

      //        C0        <    C9
while(THE_LAST_c_TO_WRITE < A[C_SIZE][C0])
     {
		 
	               c_FIRST = THE_LAST_c_TO_WRITE; //C0	 
	 
      THE_LAST_c_TO_WRITE += n_cMAX;  //C0+C9=C9
                            
            //       C9      <     C9               
      if(THE_LAST_c_TO_WRITE < A[C_SIZE][C0])       
                              c_LAST  = THE_LAST_c_TO_WRITE; 
      else                             //    C9
                              c_LAST  = A[C_SIZE][C0];  //C9
              
      //       R0<R4
 	  for(r=R0; r<A[R_SIZE][C0]; r++)
         {
          //             C0<C9
 	      for (c=c_FIRST; c<c_LAST; c++)
 	                                     //     Rr Rc
               if(!c) 
                   printf("%-+*.*f ",er+C3,P0,A[r][c]);
               else if(!r)
                   printf("%+*.*f " ,er,   P0,A[r][c]);
               else
                   printf("%+*.*f ", er,   dr,A[r][c]);
               
               
          if(!r)
                  printf("\n\n");
          else   
                  printf("\n");      
          }
          
      printf("\n");
     }
     
return(A);
}
/* ------------------------------------ */


Each matrix has a zero row and a zero column.

These row and column are reserved for recording their size and for creating an index of the columns.

This function displays row and column zero.