Mathc complexes/a69
Application
L'étude de ce chapitre peut ce faire à l'aide de cette [Playlist]..
---- 
----

Mathc complexes/a70
Application
Quelques exemples :

Mathc complexes/a71
Application
Quelques exemples :

Mathc matrices/a33
Quelques exemples :
Mathc complexes/a75
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* Save as : c01a.c */
/* ------------------------------------ */
void fun(int r,int c)
double **A = r_mZ(i_mZ(r, c),99.);
double **B = i_mZ(r+R2,c);
double **C = eye_mZ(i_mZ(r+R2,r+C2));
 clrscrn(); 
 printf(" A :");
 p_mZ(A,S5,P0,S3,P0,C10); 
 printf(" B : c_mZ(A,B);");
 c_mZ(A,B);
 p_mZ(B,S5,P0,S3,P0,C10); 
 printf(" C : c_mZ(A,C);");
 c_mZ(A,C );
 p_mZ(C ,S5,P0,S3,P0,C10); 
 f_mZ(A);
 f_mZ(B); 
 f_mZ(C); 
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
int i;
do
 i = rp_I(R3)+R1;
 fun(i,i+C1);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Copier une matrice A dans une matrice B. A et B sont de tailles différentes :
Exemple de sortie écran :
 A :
 +19 +3i +77-11i -11+97i 
 -64-73i -33-28i +38-15i 
 B : c_mZ(A,B);
 +19 +3i +77-11i -11+97i 
 -64-73i -33-28i +38-15i 
 +0 +0i +0 +0i +0 +0i 
 +0 +0i +0 +0i +0 +0i 
 C : c_mZ(A,C);
 +19 +3i +77-11i -11+97i +0 +0i 
 -64-73i -33-28i +38-15i +0 +0i 
 +0 +0i +0 +0i +1 +0i +0 +0i 
 +0 +0i +0 +0i +0 +0i +1 +0i 
 Press return to continue
 Press X to stop

Mathc complexes/a72
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* Save as : c01b.c */
void fun(int r)
double **A = r_mZ(i_mZ(r,r ),999);
double **b = r_mZ(i_mZ(r,C1),999);
double **Ab = i_Abr_Ac_bc_mZ(r, r, C1);
/* i_Abr_Ac_bc_mZ(R_Ab, C_A, C_b)); */
 clrscrn();
 printf(" A :");
 p_mZ(A,S5,P0,S5,P0,C7);
 printf(" b :");
 p_mZ(b,S5,P0,S5,P0,C7);
 printf(" Ab : c_A_b_Ab_mZ(A,b, Ab)");
 p_mZ(c_A_b_Ab_mZ(A,b, Ab),S5,P0,S5,P0,C7);
 f_mZ(Ab);
 f_mZ(b);
 f_mZ(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(RC2)+R1); /* +R1 -> row >= R2 */
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Copier A et b dans Ab :
// La matrice Ab doit être initialiser avec la fonction : 
double **Ab = i_Abr_Ac_bc_mZ( RAb, CA, Cb); 
//Cette fonction installe la bonne taille pour les matrices Ab, A, b.
Exemple de sortie écran :
 A :
 +998 -499i +81 -495i -331 -424i 
 -651 +864i -797 +749i -404 +464i 
 +292 +494i +593 +517i -196 +764i 
 b :
 +866 -384i 
 -451 +61i 
 -261 -216i 
 Ab : c_A_b_Ab_mZ(A,b, Ab)
 +998 -499i +81 -495i -331 -424i +866 -384i 
 -651 +864i -797 +749i -404 +464i -451 +61i 
 +292 +494i +593 +517i -196 +764i -261 -216i 
 Press return to continue
 Press X to stop

Mathc complexes/a73
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* Save as : c01c.c */
void fun(int r, int c, int bc)
double **A = i_mZ(r,c);
double **b = i_mZ(r,bc);
double **Ab = r_mZ(i_Abr_Ac_bc_mZ(r,c,bc),99.); 
 clrscrn();
 printf(" Ab : Ab[R%d][C%d] \n",
 rsize_Z(Ab), 
 csize_Z(Ab));
 p_mZ(Ab,S5,P0,S4,P0,C6);
 stop();
 clrscrn(); 
 printf(" A : c_Ab_A_mZ(Ab,A); A[R%d][C%d] \n",
 rsize_Z(Ab), 
 csize_A_Z(Ab));
 p_mZ(c_Ab_A_mZ(Ab,A),S5,P0,S4,P0,C6);
 stop();
 clrscrn(); 
 printf(" b : c_Ab_b_mZ(Ab,b); b[R%d][C%d] \n",
 rsize_Z(Ab), 
 csize_Z(Ab)-csize_A_Z(Ab));
 p_mZ(c_Ab_b_mZ(Ab,b),S5,P0,S4,P0,C6);
 f_mZ(Ab);
 f_mZ(b);
 f_mZ(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(R5)+R1, rp_I(R4)+R2, rp_I(R3)+R1);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Copier A de Ab dans A
 Copier b de Ab dans b:
//La matrice Ab doit être initialiser avec la fonction :
double **Ab = i_Abr_Ac_bc_mZ( RAb, CA, Cb); 
//Cette fonction installe la bonne taille pour les matrices Ab, A, b.
Exemple de sortie écran :
 -------------------------------- 
 Ab : Ab[R2][C9] 
 +84 +97i -61 -19i +7 +44i -9 +58i +5 -1i -43 +39i 
 +5 -98i -92 -49i +55 -53i +4 -34i +97 -13i +93 +75i 
 +7 +77i -19 -48i +57 -7i 
 +64 +13i -66 +37i -43 -79i 
 Press return to continue. 
 A : c_Ab_A_mZ(Ab,A); A[R2][C5] 
 +84 +97i -61 -19i +7 +44i -9 +58i +5 -1i 
 +5 -98i -92 -49i +55 -53i +4 -34i +97 -13i 
 Press return to continue. 
 -------------------------------- 
 b : c_Ab_b_mZ(Ab,b); b[R2][C4] 
 -43 +39i +7 +77i -19 -48i +57 -7i 
 +93 +75i +64 +13i -66 +37i -43 -79i 
 Press return to continue
 Press X to stop

Mathc complexes/a74
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* Save as : c01d.c */
/* ------------------------------------ */
void fun(int r, int c)
double **Ab = r_mZ(i_Abr_Ac_bc_mZ(r,c,C1),99.);
double **A = i_mZ(r,c); 
double **subA = i_mZ(r,r);
 clrscrn();
 printf(" Ab :");
 p_mZ(Ab,S5,P0,S4,P0,C6);
 printf(" A : i_mZ(R,C);");
 p_mZ(c_Ab_A_mZ(Ab,A),S5,P0,S4,P0,C6);
 printf(" subA : i_mZ(R,R); \t\t c_Ab_subArxr_mZ(Ab,subA); ");
 p_mZ(c_Ab_subArxr_mZ(Ab,subA),S5,P0,S4,P0,C6);
 f_mZ(A); 
 f_mZ(Ab);
 f_mZ(subA);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(R3)+R1, rp_I(R3)+R3);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Copier la sous-matrice de Ab dans subA :
// La matrice Ab doit être initialiser avec la fonction : 
double **Ab = i_Abr_Ac_bc_mZ( RAb, CA, Cb); 
// Cette fonction installe la bonne taille pour les matrices Ab, A, b.
 Cette méthode permet par exemple de faire croire à la fonction det_mR(); que la matrice est carrée. On peut calculer le déterminant de cette sous-matrice. Si il n'est pas nul, le système Ab peut être résolu avec l'algorithme du Total Pivoting.
Exemple de sortie écran :
 -------------------------------- 
 Ab :
 -43 -88i +30 -60i +26 +75i -97 -66i +52 -47i +64 +29i 
 +86 -23i +69 +93i +92 -78i -57 -87i +65 +59i -58 +70i 
 -88 +26i -36 -60i -81 +13i -91 -60i +84 -99i -72 +21i 
 -47 -96i -3 +15i -81 -39i +88 +35i +80 -16i -50 +51i 
 A : i_mZ(R,C);
 -43 -88i +30 -60i +26 +75i -97 -66i +52 -47i 
 +86 -23i +69 +93i +92 -78i -57 -87i +65 +59i 
 -88 +26i -36 -60i -81 +13i -91 -60i +84 -99i 
 -47 -96i -3 +15i -81 -39i +88 +35i +80 -16i 
 subA : i_mZ(R,R); c_Ab_subArxr_mZ(Ab,subA); 
 -43 -88i +30 -60i +26 +75i -97 -66i 
 +86 -23i +69 +93i +92 -78i -57 -87i 
 -88 +26i -36 -60i -81 +13i -91 -60i 
 -47 -96i -3 +15i -81 -39i +88 +35i 
 Press return to continue
 Press X to stop

Le mouvement Wikimédia/Les groupes d’utilisateurs

Mathc complexes/a76
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* Save as : c00a.c */
/* ------------------------------------ */
void fun(int r,int c)
double **A = r_mZ(i_mZ(r,c),99.);
 clrscrn(); 
 printf(" A :");
 p_mZ(A, S5,P0, S5,P0, C10); 
 printf(" A : c_r1Ar2_mZ(A,R1,R2);");
 p_mZ(c_r1Ar2_mZ(A,R1,R2), S5,P0, S5,P0, C10);
 f_mZ(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
int i;
do
 i = rp_I(R3)+R1;
 fun(i,i+C1);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Copier une ligne R1 dans la ligne R2 d'une matrice :
Exemple de sortie écran :
 -------------------------------- 
 A :
 -80 -25i +75 +43i -36 +83i +32 +68i 
 +19 -34i -26 -98i -1 +62i -99 -28i 
 -4 -8i -97 -71i +55 +68i -87 +36i 
 A : c_r1Ar2_mZ(A,R1,R2);
 -80 -25i +75 +43i -36 +83i +32 +68i 
 -80 -25i +75 +43i -36 +83i +32 +68i 
 -4 -8i -97 -71i +55 +68i -87 +36i 
 Press return to continue
 Press X to stop