Linear Algebra and the C Language/a0ao


Install and compile this file in your working directory.

/* ------------------------------------ */
/*  Save as :   c00b.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **u  = r_mR(i_mR(r,C1),9.);
double **v  = r_mR(i_mR(r,C1),9.);
double **w  = r_mR(i_mR(r,C1),9.);

double **uplsv  =  i_mR(r,C1);

  clrscrn();
  printf(" u :");
  p_mR(u,S3,P0,C6);
  printf(" v :");
  p_mR(v,S3,P0,C6);
  printf(" u+v :");
  p_mR(add_mR(u,v,uplsv),S3,P0,C6);
  stop();
    
  clrscrn();  
  printf("      <u+v,w> = <u,w>+<v,w>  [Additivity axiom] \n\n");
  
  printf("     <u+v,w>  = %.0f    \n", dot_R(uplsv,w));
  printf(" <u,w>+<v,w>  = %.0f  \n\n", dot_R(u,w)+dot_R(v,w));
  
  f_mR(u);
  f_mR(v);
  f_mR(w);
  f_mR(uplsv);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

do
{
  fun(rp_I(R3)+R2);


} while(stop_w());

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


Screen output example:

                                                                                       
 u :
 -5 
 -4 
 +7 
 -2 

 v :
 -2 
 -8 
 -3 
 +9 

 u+v :
 -7 
-12 
 +4 
 +7 

 Press return to continue. 


      <u+v,w> = <u,w>+<v,w>  [Additivity axiom] 

     <u+v,w>  = 21    
 <u,w>+<v,w>  = 21  


 Press   return to continue
 Press X return to stop