Exemple de sortie écran :
 A:
 +2 -7 +2 -1 
 +4 +4 +2 -9 
 +8 -5 -1 -5 
 +4 +4 -1 +6 
 The row[4] of A is muliply by (+2.000):
 B:
 +2 -7 +2 -1 
 +4 +4 +2 -9 
 +8 -5 -1 -5 
 +8 +8 -2 +12 
 If B is the matrix that results when 
 a single row of A is muliplied by 
 a scalar s, then det(B) = s det(A)
 det_R(B) = -5244
 s*det_R(A) = -5244
 det_R(A) = -2622
 Press return to continue
 Press X to stop

Mathc matrices/c072e
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c02e.c */
void fun(int r)
double **A = r_mR(i_mR(r,r),9.);
double **B = i_mR(r,r);
int c1 = rp_I(A[C_SIZE][C0]-C1);
int c2 = rp_I(A[C_SIZE][C0]-C1);
 clrscrn();
 printf(" A:");
 p_mR(A,S3,P0,C6);
 printf(" B:");
 p_mR(swapC_mR(c_mR(A,B),c1,c2),S3,P0,C6);
 printf(" If B is the matrix that results when \n");
 printf(" two columns (c[%d],c[%d]) are interchanged\n",c1,c2);
 printf(" then : det(B) = - det(A)\n\n\n");
 printf(" det_R(A) = %+.0f\n", det_R(A));
 printf(" det_R(B) = %+.0f\n", det_R(B));
 f_mR(A);
 f_mR(B);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(RC4)+RC1);
} while(stop_w());
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 A:
 +4 -3 +2 +8 
 -3 +4 +6 +4 
 -9 -5 -3 -9 
 -7 -9 +4 -5 
 B:
 +4 +2 -3 +8 
 -3 +6 +4 +4 
 -9 -3 -5 -9 
 -7 +4 -9 -5 
 If B is the matrix that results when 
 two columns (c[2],c[3]) are interchanged
 then : det(B) = - det(A)
 det_R(A) = -3723
 det_R(B) = +3723
 Press return to continue
 Press X to stop

Mathc matrices/c072f
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c02f.c */
void fun(int r)
double **A = r_mR(i_mR(r,r),9.);
double **B = i_mR(r,r);
int r1 = rp_I(A[C_SIZE][C0]-C1);
int r2 = rp_I(A[C_SIZE][C0]-C1);
 clrscrn();
 printf(" A:");
 p_mR(A,S3,P0,C6);
 printf(" B:");
 p_mR(swapR_mR(c_mR(A,B),r1,r2),S3,P0,C6);
 printf(" If B is the matrix that results when \n");
 printf(" two rows (r[%d],r[%d]) are interchanged\n",r1,r2);
 printf(" then : det(B) = - det(A)\n\n\n");
 printf(" det_R(A) = %+.0f\n", det_R(A));
 printf(" det_R(B) = %+.0f\n", det_R(B));
 f_mR(A);
 f_mR(B);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(RC4)+RC1);
} while(stop_w());
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 A:
 +6 -5 +2 -7 -1 
 -1 -9 -9 -1 -7 
 +8 +4 +4 +6 -1 
 +4 -1 +8 +4 -3 
 +2 -5 -5 -9 -9 
 B:
 -1 -9 -9 -1 -7 
 +6 -5 +2 -7 -1 
 +8 +4 +4 +6 -1 
 +4 -1 +8 +4 -3 
 +2 -5 -5 -9 -9 
 If B is the matrix that results when 
 two rows (r[2],r[1]) are interchanged
 then : det(B) = - det(A)
 det_R(A) = -68293
 det_R(B) = +68293
 Press return to continue
 Press X to stop

Mathc complexes/a07
Bibliothèque
Copier la bibliothèque dans votre répertoire de travail avec les fichiers des parties précédentes :
Exemple pour tester la bibliothèque :

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

Mathc complexes/h07b
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : we_det1.h */
nb_Z det_Z(
double **A
double **T = c_mZ(A,i_RC_mZ(A[R_SIZE][C0],
 A[C_SIZE][C0]));
nb_Z deter=i_Z(1.,0.);
int r;
int c;
 for( r=R1, c=C1; r<T[R_SIZE][C0]; r++,c+=C2)
 deter = smul_Z( pivotbest_mZ(T,r,c),
 deter);
 deter = mul_Z( deter,
 zero_under_pivot_mZ(T,r,c));
 f_mZ(T);
return(deter);
/* ------------------------------------ */
 Déclaration des fichiers h.

Mathc complexes/c071a
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c01a.c */
void fun(int r)
double **A = r_mZ(i_mZ(r,r),9);
 clrscrn();
 printf(" Copy/Past into the octave window. \n\n");
 printf(" octave give a bad result. \n");
 printf(" If you past this type of numbers +1 -2*i \n");
 printf(" instead of this type (see space) +1-2*i\n\n");
 p_Octave_mZ(A,"A",P0 ,P0);
 printf(" det(A)\n\n\n");
 printf(" det(A) = ");
 p_Z(det_Z(A), S1,P0, S1,P0);
 f_mZ(A); 
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(R3)+R2);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Exemple de sortie écran :
 Copy/Past into the octave window. 
 octave give a bad result. 
 If you past this type of numbers +1 -2*i 
 instead of this type (see space) +1-2*i
 A=[
-9-5*i,+6+8*i,+4-7*i,+8-7*i,-7+2*i;
-1-1*i,+4-3*i,+8-1*i,-7+2*i,-5-5*i;
-1+2*i,+2+4*i,+4-5*i,-1+8*i,-3-1*i;
+8+2*i,-3+2*i,-7-7*i,-9-3*i,+2+6*i;
+4+2*i,-5-5*i,-3-1*i,+4-9*i,-3+8*i]
 det(A)
 det(A) = -26280+132141i 
 Press return to continue
 Press X to stop

Mathc complexes/c072a
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c02a.c */
void fun(int r)
double **A = r_mZ(i_mZ(r,r),9.);
double **At = i_mZ(r,r);
 clrscrn();
 printf(" A\n");
 p_mZ(A, S3,P0, S3,P0, C6);
 printf(" At\n");
 p_mZ(transpose_mZ(A,At), S3,P0, S3,P0, C6);
 printf("\n det(A ) = ");
 p_Z(det_Z(A), S1,P0, S1,P0);
 printf("\n det(At) = ");
 p_Z(det_Z(At), S1,P0, S1,P0);
 f_mZ(A);
 f_mZ(At);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(RC5)+RC1);
} while(stop_w());
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 A
 +8 +4i -5 -3i +2 -1i -7 +4i 
 -5 +4i +8 -9i -5 +4i -5 -7i 
 +4 +2i +4 -9i -7 -1i -9 -9i 
 +4 +2i -1 -5i -7 -7i -3 -3i 
 At
 +8 +4i -5 +4i +4 +2i +4 +2i 
 -5 -3i +8 -9i +4 -9i -1 -5i 
 +2 -1i -5 +4i -7 -1i -7 -7i 
 -7 +4i -5 -7i -9 -9i -3 -3i 
 det(A ) = +1478-5234i 
 det(At) = +1478-5234i 
 Press return to continue
 Press X to stop

Mathc complexes/c072b
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c02b.c */
void fun(int r)
double **A = r_mZ(i_mZ(r,r),9.);
double **B = r_mZ(i_mZ(r,r),9.);
double **AB = i_mZ(r,r);
 clrscrn();
 printf(" A \n");
 p_mZ(A, S3,P0, S3,P0, C6);
 printf(" B \n");
 p_mZ(B, S3,P0, S3,P0, C6);
 printf("\n det(A) * det(B) = ");
 p_Z( mul_Z(det_Z(A),det_Z(B)), S1,P0, S1,P0);
 printf("\n det(AB) = ");
 p_Z(det_Z(mul_mZ(A,B,AB)), S1,P0, S1,P0);
 f_mZ(A);
 f_mZ(B);
 f_mZ(AB);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(RC3)+RC1);
} while(stop_w());
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 A 
 -7 +2i +6 -7i -5 -7i -3 -5i 
 +6 +8i +8 +6i +8 +4i -3 -1i 
 +2 +4i -1 +8i -7 +6i +6 +2i 
 -1 -5i +8 -9i +4 -1i +2 +8i 
 B 
 -3 +8i -3 -7i -3 -5i -1 +8i 
 -1 +8i +4 -9i -9 +4i -9 -1i 
 -5 -7i +6 -9i -3 +2i +2 -1i 
 -7 -7i -1 +8i +8 +2i +4 +8i 
 det(A) * det(B) = -190653948+856068064i 
 det(AB) = -190653948+856068064i 
 Press return to continue
 Press X to stop

Mathc complexes/c072c
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c02c.c */
int take_c(int c)
int r = c;
 if(r!=C1) r= (c-C1)*C2+C1;
return(r);
/* ------------------------------------ */
void fun(int r)
double **A = r_mZ(i_mZ(r,r),9.);
double **B = i_mZ(r,r);
nb_Z z = {2,-3};
int c = take_c(C2);
 clrscrn();
 printf(" A:");
 p_mZ(A, S3,P0, S3,P0, C6);
 printf(" The column[%d] of A is muliply by ",((c-C1)/C2)+C1);
 p_Z(z, S1,P0, S1,P0);
 printf("\n B:");
 c_mZ(A,B);
 mulC_mZ(B,z,c);
 p_mZ(B , S3,P0, S3,P0, C6);
 printf(" If B is the matrix that results when \n");
 printf(" a single column of A is muliplied by \n");
 printf(" a scalar z, then det(B) = z det(A)\n\n");
 printf(" det_Z(B) =");
 p_Z(det_Z(B), S1,P0, S1,P0);
 printf("\n z*det_Z(A) =");
 p_Z(mul_Z(z,det_Z(A)), S1,P0, S1,P0);
 printf("\n det_Z(A) = ");
 p_Z(det_Z(A), S1,P0, S1,P0);
 f_mZ(A);
 f_mZ(B);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(RC2)+RC3);
} while(stop_w());
 return 0;
/* ------------------------------------ */