Mathc complexes/a77
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* Save as : c00b.c */
/* ------------------------------------ */
void fun(int r,int c)
double **A = r_mZ(i_mZ(r,c),99.);
nb_Z z = i_Z(10,0);
 clrscrn(); 
 printf(" A :");
 p_mZ(A, S5,P0, S5,P0, C10); 
 printf(" A : c_r1zr2_mZ(A,R1,R2,10);");
 p_mZ(c_r1zr2_mZ(A,R1,R2,z), 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 z*R1 dans la ligne R2 d'une matrice :
Exemple de sortie écran :
 -------------------------------- 
 A :
 -85 +40i +42 -30i +27 +86i -74 +41i +49 +21i 
 +77 +79i -12 -38i -85 -34i -55 -73i +20 -58i 
 +30 -48i -91 -30i +86 +66i -73 -35i +24 -90i 
 +31 +74i +97 +77i +47 +60i -74 -75i -96 +3i 
 A : c_r1zr2_mZ(A,R1,R2,10);
 -85 +40i +42 -30i +27 +86i -74 +41i +49 +21i 
 -850 +400i +420 -300i +270 +860i -740 +410i +490 +210i 
 +30 -48i -91 -30i +86 +66i -73 -35i +24 -90i 
 +31 +74i +97 +77i +47 +60i -74 -75i -96 +3i 
 Press return to continue
 Press X to stop

Mathc complexes/a78
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* Save as : c00c.c */
/* ------------------------------------ */
void fun(int r,int c)
double **A = r_mZ(i_mZ(r,c),99.);
double **B = i_mZ(r,c);
 clrscrn(); 
 printf(" A :");
 p_mZ(A, S5,P0, S4,P0, C10); 
 printf(" B : c_n_r_mZ(A,R3,B);");
 p_mZ(c_n_r_mZ(A,R3,B), S5,P0, S4,P0, C10);
 f_mZ(A);
 f_mZ(B); 
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
int i;
do
 i = rp_I(R3);
 fun(i+C3,i+C2);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Copier n lignes d'une matrice A dans une matrice B :
Exemple de sortie écran :
 -------------------------------- 
 A :
 -25 -5i +57 +90i -46 +39i 
 -87 +54i +52 +43i -82 +4i 
 -6 +75i -41 -99i -24 -18i 
 -73 +32i +70 +43i -72 +7i 
 B : c_n_r_mZ(A,R3,B);
 -25 -5i +57 +90i -46 +39i 
 -87 +54i +52 +43i -82 +4i 
 -6 +75i -41 -99i -24 -18i 
 +0 +0i +0 +0i +0 +0i 
 Press return to continue
 Press X to stop

Mathc complexes/a79
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.);
double **B = i_mZ(r,c);
 clrscrn();
 printf(" A :\n");
 pall_mZ(A, S5,P0, S5,P0); 
 stop();
 clrscrn(); 
 printf(" A :\n");
 pall_mZ(M_swapC_mZ(A,C1,C2), S5,P0, S5,P0); 
 stop();
 clrscrn(); 
 printf(" A :\n");
 pall_mZ(A, S5,P0, S5,P0);
 printf(" B :\n");
 pall_mZ(c_withR0_mZ(A,B), S5,P0, S5,P0); 
 f_mZ(A);
 f_mZ(B); 
/* ------------------------------------ */
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 avec la ligne zéro (R0 : Index de position des colonnes)
Exemple de sortie écran :
 -------------------------------- 
 A :
 +3 +1 0 +2 0 +3 0 
 +7 +35 -96i -13 +24i -75 +25i 
 +0 +85 -53i -30 -80i -40 +87i 
 Press return to continue. 
 -------------------------------- 
 A :
 +3 +2 0 +1 0 +3 0 
 +7 -13 +24i +35 -96i -75 +25i 
 +0 -30 -80i +85 -53i -40 +87i 
 Press return to continue. 
 -------------------------------- 
 A :
 +3 +2 0 +1 0 +3 0 
 +7 -13 +24i +35 -96i -75 +25i 
 +0 -30 -80i +85 -53i -40 +87i 
 B :
 +3 +2 0 +1 0 +3 0 
 +7 -13 +24i +35 -96i -75 +25i 
 +0 -30 -80i +85 -53i -40 +87i 
 Press return to continue
 Press X to stop

Mathc complexes/a80
Matrices Orthonormales ... ... Matrices Aléatoire
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
void fun(int r)
double **Q = r_Q_mZ( i_mZ(r,r),99);
double **Q_T = ctranspose_mZ(Q,i_mZ(r,r));
double **Ide = i_mZ(r,r);
double x, y;
 clrscrn();
 printf(" Q : An orthonormal matrix ");
 p_mZ(Q,S9,P4, S9,P4, C4);
 printf(" Ide = Q * Q_T : "); 
 mul_mZ(Q,Q_T, Ide);
 p_mZ(Ide,S9,P4, S9,P4, C4);
 printf(" det(Q) = ");
 p_Z(det_Z(Q), S4,P4, S5,P4);
 x = det_Z(Q).r;
 y = det_Z(Q).i;
 printf("\n\n ||det_Z(Q)|| = %.4f \n\n\n", sqrt(x*x+y*y));
 f_mZ(Q);
 f_mZ(Q_T);
 f_mZ(Ide);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(R3)+R1);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Matrices orthonormales : 
Exemple de sortie écran :
 Q : An orthonormal matrix 
 -0.7031 +0.0933i -0.1248 +0.3384i -0.4273 +0.4056i -0.1346 -0.0410i 
 -0.1004 +0.5094i -0.1852 +0.0686i -0.1972 -0.3962i +0.6926 -0.1262i 
 -0.4448 +0.0359i +0.2554 -0.5685i +0.2408 -0.0428i -0.0302 -0.5930i 
 -0.1076 -0.1291i -0.3313 +0.5768i +0.6139 -0.1427i -0.0389 -0.3612i 
 Ide = Q * Q_T : 
 +1.0000 +0.0000i -0.0000 +0.0000i -0.0000 -0.0000i +0.0000 -0.0000i 
 -0.0000 -0.0000i +1.0000 +0.0000i +0.0000 -0.0000i -0.0000 +0.0000i 
 -0.0000 +0.0000i +0.0000 +0.0000i +1.0000 +0.0000i -0.0000 +0.0000i 
 +0.0000 +0.0000i -0.0000 -0.0000i -0.0000 -0.0000i +1.0000 +0.0000i 
 det(Q) = +0.1649+0.9863i 
 ||det_Z(Q)|| = 1.0000 
 Press return to continue
 Press X to stop

Mathc complexes/a81
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00b.c */
void fun(int r)
double **Q = r_q_mZ( i_mZ(r,r),99);
 clrscrn();
 printf(" Q : An orthogonal matrix ");
 p_mZ(Q,S9,P4, S9,P4, C4);
 f_mZ(Q);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(R3)+R2);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Matrices orthogonals : 
Exemple de sortie écran :
 Q : An orthogonal matrix 
 -88.0000 +86.0000i -23.6499 -61.1655i +21.9344 -64.4603i -0.8629 -39.9697i 
 -62.0000 +18.0000i +52.3126 +11.5491i -50.2442 +48.8662i -50.0638 -64.7237i 
 -87.0000 -88.0000i -53.0323 -16.6178i -40.0626 -10.4814i -0.5080 +8.2917i 
 +45.0000 -39.0000i -15.3490 +14.8420i +53.7873 -20.2083i -54.0107-102.0869i 
 -44.0000 -11.0000i -44.0567 +48.2351i +87.2384 +27.1629i -17.4735 +19.2489i 
 +14.8380 +2.8262i 
 +10.3979 -24.2183i 
 -27.8384 -21.0424i 
 -20.2057 +10.2384i 
 +23.7651 -20.3494i 
 Press return to continue
 Press X to stop

Mathc complexes/a82
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
void fun(int rc)
double **A = rcsymmetric_mZ(i_mZ(rc,rc),9);
 clrscrn();
 printf(" rsymmetric_mZ() : \n\n" 
 " A[R%d,C%d] : ", rsize_Z(A), csize_Z(A));
 p_mZ(A, S5,P0, S5,P0, C8);
 f_mZ(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
 do
 fun(rp_I(RC6));
 while(stop_w()); 
 return 0;
/* ------------------------------------ */
 Matrices symétriques conjugués :
Exemple de sortie écran :
 rsymmetric_mZ() : 
 A[R5,C5] : 
 +277 +0i +112 +160i +1 -79i +12 -27i -52 -147i 
 +112 -160i +461 +0i -65 +12i -30 +129i -196 +17i 
 +1 +79i -65 -12i +315 +0i -53 +33i +131 -30i 
 +12 +27i -30 -129i -53 -33i +208 +0i -30 +85i 
 -52 +147i -196 -17i +131 +30i -30 -85i +213 +0i 
 Press return to continue
 Press X to stop