f_mZ(A_n);
 f_mZ(sA);
 f_mZ(NewcosA);
 return (cosA); 
/* ------------------------------------ */
void fun(void)
double **A = rE_mZ(i_mZ(RCA,RCA),999,+1.E-3); 
double **sinA = i_mZ(RCA,RCA); 
double **cosA = i_mZ(RCA,RCA);
double **sinA2 = i_mZ(RCA,RCA); 
double **cosA2 = i_mZ(RCA,RCA);
 clrscrn(); 
 printf(" Copy/Past into the octave window. \n");
 p_Octave_mZ(A, "A", P4, P4);
 stop();
 clrscrn(); 
 sin_mZ(A, sinA);
 cos_mZ(A, cosA); 
 printf(" sinA :");
 p_mZ(sinA,S8,P4,S8,P4,C6);
 printf(" cosA :");
 p_mZ(cosA,S8,P4,S8,P4,C6); 
 stop();
 clrscrn(); 
 pow_mZ(2, sinA, sinA2);
 pow_mZ(2, cosA, cosA2); 
 printf(" sinA2 :");
 p_mZ(sinA2,S8,P4,S8,P4,C6);
 printf(" cosA2 :");
 p_mZ(cosA2,S8,P4,S8,P4,C6); 
 add_mZ(cosA2,sinA2,A); 
 printf(" I = cosA**2 + sinA**2 ");
 p_mZ(A,S8,P4,S8,P4,C6); 
 f_mZ(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun();
} while(stop_w());
 return 0;
/* ------------------------------------ */
 SinA = + A - (1/3!) A**3 + (1/5!) A**5 - (1/7!) A**7 + ...
 CosA = + I - (1/2!) A**2 + (1/4!) A**4 - (1/6!) A**6 + ...
 Exemple de sortie écran :
 Copy/Past into the octave window. 
 A=[
+0.0150+0.8620*i,+0.8090-0.1010*i,-0.5420-0.2690*i,+0.0410-0.4890*i;
+0.1570+0.5210*i,-0.1280-0.1570*i,+0.8910-0.8330*i,+0.1570+0.7060*i;
+0.0340-0.0660*i,+0.0980+0.7600*i,+0.0510-0.6280*i,-0.4550-0.3040*i;
+0.6270-0.4600*i,+0.4350-0.1430*i,+0.1750-0.0950*i,-0.1210+0.2200*i]
 Press return to continue. 
 ------------------------------------
 sinA :
 +0.1476 -0.9604i -0.6905 +0.2243i +0.5543 +0.2278i -0.1865 +0.6193i 
 -0.3493 -0.3616i +0.1917 +0.0573i -0.6478 +0.8880i -0.2179 -0.4674i 
 -0.0580 +0.0645i -0.3040 -0.6386i +0.0805 +0.5542i +0.5175 +0.3225i 
 -0.7647 +0.5690i -0.3197 +0.1995i -0.2168 -0.0888i +0.2525 -0.1706i 
 cosA :
 +1.4006 +0.0235i -0.0104 +0.0264i -0.2973 +0.5119i -0.4805 -0.4713i 
 -0.0064 -0.1624i +0.4228 -0.5492i +0.3343 +0.3557i +0.2438 +0.0540i 
 +0.3824 -0.1319i -0.1537 +0.1587i +0.8827 -0.2250i +0.2690 -0.2170i 
 -0.2924 -0.4774i -0.2014 +0.1328i +0.1644 +0.2229i +1.0765 +0.1221i 
 Press return to continue. 
 sinA2 :
 -0.8349 -0.6694i -0.1188 +0.0412i +0.5626 -1.0494i +1.0945 +1.0293i 
 -0.0321 +0.3329i +1.2827 +0.4430i -0.8249 -0.3138i -0.4822 -0.0811i 
 -0.6910 +0.4191i +0.1036 -0.4171i +0.3329 +0.1396i -0.2127 +0.5392i 
 +0.5397 +1.1297i +0.2903 -0.2741i -0.5618 -0.3847i -0.0958 -0.6758i 
 cosA2 :
 +1.8349 +0.6694i +0.1188 -0.0412i -0.5626 +1.0494i -1.0945 -1.0293i 
 +0.0321 -0.3329i -0.2827 -0.4430i +0.8249 +0.3138i +0.4822 +0.0811i 
 +0.6910 -0.4191i -0.1036 +0.4171i +0.6671 -0.1396i +0.2127 -0.5392i 
 -0.5397 -1.1297i -0.2903 +0.2741i +0.5618 +0.3847i +1.0958 +0.6758i 
 I = cosA**2 + sinA**2 
 +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 
 Press return to continue
 Press X to stop

Mathc complexes/a140
Application
Propriétés des matrices commutatives :

Mathc complexes/a141
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00a.c */
void fun(int r)
double **A = i_mZ(r,r);
double **A_2 = i_mZ(r,r);
double **B = i_mZ(r,r);
double **B_2 = i_mZ(r,r);
double **AplsB = i_mZ(r,r);
double **AplsB_2 = i_mZ(r,r);
double **AB = i_mZ(r,r);
double **AB2 = i_mZ(r,r);
double **T1 = i_mZ(r,r);
double **T2 = i_mZ(r,r);
 r_commute2_mZ(A,B,9);
 clrscrn();
 printf(" A : ");
 p_mZ(A,S5,P3,S5,P3,C6); 
 printf(" B : ");
 p_mZ(B,S5,P3,S5,P3,C6); 
 stop();
 clrscrn(); 
 printf(" (A+B)**2 :\n");
 add_mZ(A,B,AplsB);
 pow_mZ(2,AplsB,AplsB_2);
 p_mZ(AplsB_2,S8,P3,S8,P3,C6); 
 printf(" A**2 + 2*AB + B**2 :\n");
 pow_mZ(2,A,A_2); 
 mul_mZ(A,B,AB);
 smul_mZ(2,AB,AB2);
 pow_mZ(2,B,B_2);
 add_mZ(A_2,AB2,T1);
 add_mZ(T1,B_2,T2);
 p_mZ(T2,S8,P3,S8,P3,C6);
 f_mZ(A);
 f_mZ(A_2);
 f_mZ(B);
 f_mZ(B_2);
 f_mZ(AplsB);
 f_mZ(AplsB_2);
 f_mZ(AB);
 f_mZ(AB2);
 f_mZ(T1);
 f_mZ(T2);
/* ------------------------------------ */
void hello(void)
 printf("\n ");
 printf("\n Commutative matrices ");
 printf("\n ");
 printf("\n (A+B)**2 = A** + 2*AB + B**2 ");
 printf("\n ********************** \n");
 printf("\n\n ");
 printf("\n \n");
 stop();
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
 hello();
do
 fun(RC4);
} while(stop_w());
 return 0;
/* ------------------------------------ */
Propriétés des matrices commutatives :
Exemple de sortie écran :
 A : 
+1.966+0.980i -1.861-0.827i +1.394-0.267i -1.376-1.423i 
+0.924+2.426i -1.247-2.326i +1.733+1.197i -0.339-2.241i 
-0.465+0.329i -0.215-0.400i +0.390-0.075i -0.236+0.212i 
+0.008-1.084i -0.068+1.529i -0.915-1.420i -0.286+1.421i 
 B : 
+1.803+0.323i -2.499-0.091i +1.607-1.307i -1.985-0.587i 
+1.219+2.963i -2.282-2.942i +2.620+1.297i -0.814-2.650i 
+0.131+1.611i -0.664-1.702i +0.821+0.693i -0.471-1.131i 
+0.828-1.908i -0.786+2.311i -0.859-2.291i -1.556+1.927i 
 Press return to continue. 
 -------------------------------------------
 (A+B)**2 :
 +1.339 -0.929i -0.036 +0.958i -0.226 -0.910i -0.158 +1.237i 
 -0.003 -0.235i +1.496 +0.129i +0.312 -0.272i -0.349 +0.300i 
 +0.713 +1.123i -0.362 -1.121i +2.392 +0.756i -0.151 -1.348i 
 +0.781 -0.453i -0.665 +0.275i +0.335 -0.394i +0.977 +0.045i 
 A**2 + 2*AB + B**2 :
 +1.339 -0.929i -0.036 +0.958i -0.226 -0.910i -0.158 +1.237i 
 -0.003 -0.235i +1.496 +0.129i +0.312 -0.272i -0.349 +0.300i 
 +0.713 +1.123i -0.362 -1.121i +2.392 +0.756i -0.151 -1.348i 
 +0.781 -0.453i -0.665 +0.275i +0.335 -0.394i +0.977 +0.045i 
 Press return to continue
 Press X to stop

Mathc complexes/a142
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00b.c */
void fun(int r)
double **A = i_mZ(r,r);
double **A_2 = i_mZ(r,r);
double **B = i_mZ(r,r);
double **B_2 = i_mZ(r,r);
double **AplsB = i_mZ(r,r);
double **AplsB_2 = i_mZ(r,r);
double **AB = i_mZ(r,r);
double **BA = i_mZ(r,r);
double **T1 = i_mZ(r,r);
double **T2 = i_mZ(r,r);
 r_mZ(A,9);
 r_mZ(B,9);
 clrscrn();
 printf(" A : ");
 p_mZ(A,S5,P3,S5,P3,C6); 
 printf(" B : ");
 p_mZ(B,S5,P3,S5,P3,C6); 
 stop();
 clrscrn(); 
 printf(" (A+B)**2 :\n");
 add_mZ(A,B,AplsB);
 pow_mZ(2,AplsB,AplsB_2);
 p_mZ(AplsB_2,S8,P3,S8,P3,C6); 
 printf(" (A+B)**2 = A**2 + AB + BA + B**2 :\n");
 pow_mZ(2,A,A_2); 
 mul_mZ(A,B,AB);
 mul_mZ(B,A,BA); 
 pow_mZ(2,B,B_2);
 add_mZ(A_2,AB,T1);
 add_mZ(T1,BA,T2);
 add_mZ(T2,B_2,T1);
 p_mZ(T1,S8,P3,S8,P3,C6);
 f_mZ(A);
 f_mZ(A_2);
 f_mZ(B);
 f_mZ(B_2);
 f_mZ(AplsB);
 f_mZ(AplsB_2);
 f_mZ(AB);
 f_mZ(BA);
 f_mZ(T1);
 f_mZ(T2);
/* ------------------------------------ */
void hello(void)