Aller au contenu

Mathc complexes/037

Un livre de Wikilivres.


Application


Installer et compiler ces fichiers dans votre répertoire de travail.


c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define RCA          RC5 
#define EVALUE       RC5       
/* ------------------------------------ */
void fun(void)
{
double a[RCA*(RCA*C2)] ={   
+33.519963947,-0.000000000, -13.693912818,+6.712740170, +6.614415988,-2.591607122, -14.832764827,-15.560900752, +5.931313432,+7.201798592, 
-13.693912818,-6.712740170, +39.585869431,+0.000000000, -12.477192990,+16.370664567, +8.957620096,-4.146641673, -20.695195874,-8.986119738, 
+6.614415988,+2.591607122, -12.477192990,-16.370664567, +40.575180719,+0.000000000, -10.968623618,-19.349596696, -6.548231731,+8.901841379, 
-14.832764827,+15.560900752, +8.957620096,+4.146641673, -10.968623618,+19.349596696, +41.873262178,-0.000000000, +4.207151243,-10.065003488, 
+5.931313432,-7.201798592, -20.695195874,+8.986119738, -6.548231731,-8.901841379, +4.207151243,+10.065003488, +28.445723725,-0.000000000
};
  
double v[RCA*(RCA*C2)] ={   
+0.118330494,+0.336141,   +0.093613438,-0.468103,   +0.125005241,+0.554878,   -0.189969952,+0.203143, -0.053277761,-0.491339,
-0.312524604,-0.379916,   -0.514166849,-0.060731,   -0.093895517,+0.164111,   +0.266946221,+0.356623, +0.455820840,-0.219031,
-0.179576129,+0.492444,   -0.085553290,-0.062544,   +0.228819473,-0.636431,   -0.236969595,+0.320565, +0.284148056,-0.130235,
-0.286321908,-0.401151,   +0.546800669,+0.033155,   +0.039187632,-0.160639,   +0.024146696,+0.512267, -0.355185070,-0.201272,
+0.336672172,+0.000000,   +0.439020807,+0.000000,   +0.394959418,-0.000000,   +0.549806742,+0.000000, +0.485419596,+0.000000
};
                         
double **A   = ca_A_mZ(a,        i_mZ(RCA,RCA));
double **V   = ca_A_mZ(v,        i_mZ(RCA,RCA));
double **V5  =  c_c_mZ(V,EVALUE, i_mZ(RCA, C1),C1);
double **AV5 =  mul_mZ(A,V5,     i_mZ(RCA, C1)); 
                       
  clrscrn();
  printf(" A :");
  p_mZ(A, S10,P4, S8,P4, C4); 
  stop();
  
  clrscrn();
  printf(" V :");
  p_mZ(V, S10,P4, S8,P4, C4); 
  stop();
  
  clrscrn();
  printf(" V%d :",EVALUE);
  p_mZ(V5, S10,P4, S8,P4, C4); 

  printf(" A * V%d :",EVALUE);
  p_mZ(AV5, S10,P4, S8,P4, C4); 
  stop();
            
  f_mZ(A);
  f_mZ(V);  
  f_mZ(V5);
  f_mZ(AV5);
}
/* ------------------------------------ */
int main(void)
{
  fun();

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


Vérifier A v_λ = 0 quand λ = 0 (Rappel  : A v_λ = λ v_λ)


Exemple de sortie écran :
 A :
  +33.5200 -0.0000i   -13.6939 +6.7127i    +6.6144 -2.5916i   -14.8328-15.5609i 
  -13.6939 -6.7127i   +39.5859 +0.0000i   -12.4772+16.3707i    +8.9576 -4.1466i 
   +6.6144 +2.5916i   -12.4772-16.3707i   +40.5752 +0.0000i   -10.9686-19.3496i 
  -14.8328+15.5609i    +8.9576 +4.1466i   -10.9686+19.3496i   +41.8733 -0.0000i 
   +5.9313 -7.2018i   -20.6952 +8.9861i    -6.5482 -8.9018i    +4.2072+10.0650i 

   +5.9313 +7.2018i 
  -20.6952 -8.9861i 
   -6.5482 +8.9018i 
   +4.2072-10.0650i 
  +28.4457 -0.0000i 

 Press return to continue. 


 V :
   +0.1183 +0.3361i    +0.0936 -0.4681i    +0.1250 +0.5549i    -0.1900 +0.2031i 
   -0.3125 -0.3799i    -0.5142 -0.0607i    -0.0939 +0.1641i    +0.2669 +0.3566i 
   -0.1796 +0.4924i    -0.0856 -0.0625i    +0.2288 -0.6364i    -0.2370 +0.3206i 
   -0.2863 -0.4012i    +0.5468 +0.0332i    +0.0392 -0.1606i    +0.0241 +0.5123i 
   +0.3367 +0.0000i    +0.4390 +0.0000i    +0.3950 -0.0000i    +0.5498 +0.0000i 

   -0.0533 -0.4913i 
   +0.4558 -0.2190i 
   +0.2841 -0.1302i 
   -0.3552 -0.2013i 
   +0.4854 +0.0000i 

 Press return to continue. 


 V5 :
   -0.0533 -0.4913i 
   +0.4558 -0.2190i 
   +0.2841 -0.1302i 
   -0.3552 -0.2013i 
   +0.4854 +0.0000i 

 A * V5 :
   -0.0000 +0.0000i 
   +0.0000 -0.0000i 
   -0.0000 -0.0000i 
   +0.0000 -0.0000i 
   +0.0000 +0.0000i 

 Press return to continue.