Linear Algebra and the C Language/a06w


Install and compile this file in your working directory.

/* ------------------------------------ */
/*  Save as :  c00h.c                   */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
int r1 = R1;
int r2 = R2;

double **A =     r_mR(        i_mR(r,r),9.);
double **B = swapR_mR(c_mR(A, i_mR(r,r)),r1,r2) ;

  clrscrn();
  printf(" A:");
  p_mR(A, S3,P0,C6);
  printf(" B:");
  p_mR(B, S3,P0,C6);

  printf("  If B is the matrix that  results when  \n");
  printf("  two rows (r[%d],r[%d]) are interchanged\n",r1,r2);
  printf("  then :  det(B) = - det(A)\n\n\n");
  printf("   det_R(A) = %+.0f\n", det_R(A));
  printf("   det_R(B) = %+.0f\n", det_R(B));

  f_mR(A);
  f_mR(B);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
do
{
  fun(rp_I(RC4)+RC1);
  
} while(stop_w());

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


Screen output example:

 A:
 -7  -9  -4  -7 
 +1  +4  +9  -5 
 -1  +9  +7  -3 
 +6  +4  -9  +9 

 B:
 -7  -9  -4  -7 
 -1  +9  +7  -3 
 +1  +4  +9  -5 
 +6  +4  -9  +9 

  If B is the matrix that  results when  
  two rows (r[2],r[3]) are interchanged
  then :  det(B) = - det(A)


   det_R(A) = -2765
   det_R(B) = +2765

 Press   return to continue
 Press X return to stop