Linear Algebra and the C Language/a0ck


Install and compile this file in your working directory.

/* ------------------------------------ */
/*  Save as :   c00c.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */     
#define RCA          RC2  
/* ------------------------------------ */       
/* ------------------------------------ */
int main(void)
{                          
double a[RCA*RCA] ={   
+0.246153846154, -0.430769230769, 
-0.430769230769, +0.753846153846     
};
                       
double **A      =   ca_A_mR(a, i_mR(RCA,RCA));
double **V      = eigs_V_mR(A, i_mR(RCA,RCA));
double **invV   =  invgj_mR(V, i_mR(RCA,RCA));
double **EValue =              i_mR(RCA,RCA);

double **T      =              i_mR(RCA,RCA);

  clrscrn(); 
  printf(" A :");
  p_mR(A, S8,P6, C3);     

  printf(" V :");
  p_mR(V, S9,P6, C4); 
 
  printf(" EValue = invV * A * V");
  mul_mR(invV,A,T);
  mul_mR(T,V,EValue);
  p_mR(EValue, S9,P6, C4); 
          
  printf("\n\n"
         " A = V * EValue * invV        (Just verify the computation)");
  mul_mR(V,EValue,T);
  mul_mR(T,invV,A); 
  p_mR(A, S8,P6, C3);
  stop();
  
  clrscrn();
  printf(" V1        V2 :");
  p_mR(V, S9,P6, C4); 
   
  printf(" EValue1   EValue2 ");
  p_mR(EValue, S9,P6, C4); 
  
  printf(" det(V)  = %.2f\n"
         " det(V) != 0.00 V1 and V2 are linearly independent\n\n\n",
         det_R(V));  
            
  printf(" The matrix A projects the plane in the direction\n"
         " of the  eigenvector V2  on a line  determined by\n"
         " the eigenvector V1 if :\n\n"
         " The eigenvector V1 has its eigenvalue equal to  one and\n"
         " The eigenvector V2 has its eigenvalue equal to zero and\n\n"
         " If The vectors V1 and V2 are linearly independent\n\n");          
  stop();  
  
  f_mR(A);
  f_mR(V);  
  f_mR(invV);  
  f_mR(T);  
  f_mR(EValue);

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


Screen output example:

                                                                                       
 A :
+0.246154 -0.430769 
-0.430769 +0.753846 

 V :
-0.496139 +0.868243 
+0.868243 +0.496139 

 EValue = invV * A * V
+1.000000 +0.000000 
-0.000000 +0.000000 



 A = V * EValue * invV        (Just verify the computation)
+0.246154 -0.430769 
-0.430769 +0.753846 

 Press return to continue. 


 V1        V2 :
-0.496139 +0.868243 
+0.868243 +0.496139 

 EValue1   EValue2 
+1.000000 +0.000000 
-0.000000 +0.000000 

 det(V)  = -1.00
 det(V) != 0.00 V1 and V2 are linearly independent


 The matrix A projects the plane in the direction
 of the  eigenvector V2  on a line  determined by
 the eigenvector V1 if :

 The eigenvector V1 has its eigenvalue equal to  one and
 The eigenvector V2 has its eigenvalue equal to zero and

 If The vectors V1 and V2 are linearly independent

 Press return to continue.