Aller au contenu

Mathc complexes/a228

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   RA     R4
#define   CA     C5
#define   Cb     C1
/* ------------------------------------ */
#define   RB     R3            /* B : a basis for the rows space of A */
/* ------------------------------------ */
void fun(void)
{
double ab[RA*((CA+Cb)*C2)] ={
   +2,    -1,    -6,  +2,    -7,  -6,    -6,  +6,    +7,  +8,    0,0, 
   +9,    -9,    -2,  +6,    +1,  -6,    +2,  +5,    -7,  -1,    0,0, 
   +2*3,-1*3,  -6*3,+2*3,  -7*3,-6*3,  -6*3,+6*3,  +7*3,+8*3,    0,0,
   -1,    -3,    +3,  +7,    +8,  +7,    +6,  -7,    -9,  +7,    0,0  
};
   
double **Ab =   ca_A_mZ(ab, i_Abr_Ac_bc_mZ(RA,CA,Cb));
double **A  = c_Ab_A_mZ(Ab,           i_mZ(RA,CA));
double **b  = c_Ab_b_mZ(Ab,           i_mZ(RA,Cb));

double **B  =                         i_mZ(RB,CA);

  clrscrn();
  printf("Basis for a Row Space by Row Reduction :\n\n");
  printf(" A :");
  p_mZ(A, S3,P0, S3,P0, C8);
  printf(" b :");
  p_mZ(b, S3,P0, S3,P0, C8);
  printf(" Ab :");
  p_mZ(Ab, S3,P0, S3,P0, C8);
  stop();

  clrscrn(); 
  printf("  The nonzero rows vectors  of Ab without b\n"
         " form a basis for the row space of  A \n\n"
         " Ab :");
  printf(" gj_PP_mZ(Ab) :");
  p_mZ(gj_PP_mZ(Ab), S7,P3, S7,P3, C5);
     
  c_Ab_A_mZ(Ab,A);
  
  c_r_mZ(A,R1,B,R1);
  c_r_mZ(A,R2,B,R2);  
  c_r_mZ(A,R3,B,R3);
  
  printf(" B :  Is a basis for a Row Space of A by Row Reduction");
  p_mZ(B, S7,P3, S7,P3, C5);
  
  stop();   
  
  f_mZ(Ab);
  f_mZ(A);
  f_mZ(b);
  
  f_mZ(B);
}
/* ------------------------------------ */
int main(void)
{

  fun();

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


La position des pivots de Ab donne la position des lignes de A qui forment une base pour l'espace lignes de A.


Exemple de sortie écran :
Basis for a Row Space by Row Reduction :

 A :
 +2 -1i  -6 +2i  -7 -6i  -6 +6i  +7 +8i 
 +9 -9i  -2 +6i  +1 -6i  +2 +5i  -7 -1i 
 +6 -3i -18 +6i -21-18i -18+18i +21+24i 
 -1 -3i  +3 +7i  +8 +7i  +6 -7i  -9 +7i 

 b :
 +0 +0i 
 +0 +0i 
 +0 +0i 
 +0 +0i 

 Ab :
 +2 -1i  -6 +2i  -7 -6i  -6 +6i  +7 +8i  +0 +0i 
 +9 -9i  -2 +6i  +1 -6i  +2 +5i  -7 -1i  +0 +0i 
 +6 -3i -18 +6i -21-18i -18+18i +21+24i  +0 +0i 
 -1 -3i  +3 +7i  +8 +7i  +6 -7i  -9 +7i  +0 +0i 

 Press return to continue. 


 The nonzero rows vectors  of Ab without b
 form a basis for the row space of  A 

 Ab : gj_PP_mZ(Ab) :
 +1.000 +0.000i  -0.444 +0.222i  +0.389 -0.278i  -0.167 +0.389i  -0.333 -0.444i 
 +0.000 -0.000i  +1.000 +0.000i  +1.158 +1.189i  +1.277 -0.682i  -1.137 -1.841i 
 +0.000 +0.000i  +0.000 +0.000i  +1.000 +0.000i  -0.045 -0.955i  -1.274 +1.014i 
 +0.000 +0.000i  +0.000 +0.000i  +0.000 +0.000i  +0.000 +0.000i  +0.000 +0.000i 

 +0.000 +0.000i 
 +0.000 -0.000i 
 +0.000 +0.000i 
 +0.000 +0.000i 

 B :  Is a basis for a Row Space of A by Row Reduction
 +1.000 +0.000i  -0.444 +0.222i  +0.389 -0.278i  -0.167 +0.389i  -0.333 -0.444i 
 +0.000 -0.000i  +1.000 +0.000i  +1.158 +1.189i  +1.277 -0.682i  -1.137 -1.841i 
 +0.000 +0.000i  +0.000 +0.000i  +1.000 +0.000i  -0.045 -0.955i  -1.274 +1.014i 

 Press return to continue.