Licences pour protéger les communs
DOS/Rsm
Cette commande permet d'effectuer la gestion des ressources média en utilisant unité de stockage amovible.

Mathc complexes/a14
Application
Copier un tableau de nombres dans une matrice :
Copier une matrice A dans une matrice B : 
Copier une colonne ou une ligne de la matrice A dans la matrice B :
Copier A et b dans Ab : 
Copier A de Ab dans A, et b de Ab dans b: 
Copier la sous-matrice de Ab dans subA : 
Copier une matrice avec la ligne zéro (R0 : Index de position des colonnes)
Copier une ligne R1 dans la ligne R2 d'une matrice :
Copier une ligne z*R1 dans la ligne R2 d'une matrice :
Copier n lignes d'une matrice A dans une matrice B :
Copier une matrice diagonale dans une matrice d'une colonne :
Copier la matrice inverse du système Ab dans la matrice invA :

Mathc complexes/a11
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);
double **B = i_mZ(r,c) ;
 clrscrn();
 printf(" A : \n"); 
 p_mZ(A, S5,P0, S4,P0,C6);
 c_mZ(A,B); 
 printf(" B : \n"); 
 p_mZ(B, S5,P0, S4,P0,C6); 
 printf(" B : \n"); 
 p_mZ(c_mZ(A,B), S5,P0, S4,P0,C6); 
 f_mZ(B);
 f_mZ(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
 do
 fun(rp_I(R5),rp_I(C5));
 while(stop_w()); 
 return 0;
/* ------------------------------------ */
La fonction ca_A_mR(); permet de copier un tableau dans une matrice.
Exemple de sortie écran :
 A : 
 +40 +72i +69 -63i -94 -17i -61 +76i 
 -82 +75i -23 +3i -45 +4i -6 -92i 
 B : 
 +40 +72i +69 -63i -94 -17i -61 +76i 
 -82 +75i -23 +3i -45 +4i -6 -92i 
 B : 
 +40 +72i +69 -63i -94 -17i -61 +76i 
 -82 +75i -23 +3i -45 +4i -6 -92i 
 Press return to continue
 Press X to stop 
 Press return to continue.

Mathc complexes/a12
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 : \n"); 
 p_mZ(A, S5,P0, S4,P0,C6);
 c_r_mZ(A,R1,B,R2); 
 printf(" B : \n"); 
 p_mZ(B, S5,P0, S4,P0,C6); 
 printf(" B : \n"); 
 p_mZ(c_r_mZ(A,R1,B,R2), S5,P0, S4,P0,C6); 
 f_mZ(B);
 f_mZ(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
 do
 fun(rp_I(R3)+R1,rp_I(C3));
 while(stop_w()); 
 return 0;
/* ------------------------------------ */
Exemple de sortie écran :
 A : 
 -24 +19i -41 -45i 
 -50 +50i -46 +4i 
 -49 +74i -93 +23i 
 B : 
 +0 +0i +0 +0i 
 -24 +19i -41 -45i 
 +0 +0i +0 +0i 
 B : 
 +0 +0i +0 +0i 
 -24 +19i -41 -45i 
 +0 +0i +0 +0i 
 Press return to continue
 Press X to stop

Mathc complexes/a13
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* Save as : c00d.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"); 
 p_mZ(A, S5,P0, S4,P0,C6);
 c_c_mZ(A,C1,B,C2); 
 printf(" B : \n"); 
 p_mZ(B, S5,P0, S4,P0,C6); 
 printf(" B : \n"); 
 p_mZ(c_c_mZ(A,C1,B,C2), S5,P0, S4,P0,C6); 
 f_mZ(B);
 f_mZ(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
 do
 fun(rp_I(R3),rp_I(C3)+C1);
 while(stop_w()); 
 return 0;
/* ------------------------------------ */
La fonction ca_A_mR(); permet de copier un tableau dans une matrice.
Exemple de sortie écran :
 -42 +77i +64 +48i -60 +80i 
 -94 +46i -20 +70i +77 -86i 
 -98 -68i -39 -89i +42 +88i 
 B : 
 +0 +0i -42 +77i +0 +0i 
 +0 +0i -94 +46i +0 +0i 
 +0 +0i -98 -68i +0 +0i 
 B : 
 +0 +0i -42 +77i +0 +0i 
 +0 +0i -94 +46i +0 +0i 
 +0 +0i -98 -68i +0 +0i 
 Press return to continue
 Press X to stop

Mathc complexes/a15
Application
Créer et initialiser des tableaux de matrices

Mathc complexes/a16
Application
Quelques exemples :
Matrices triangulaires :
Matrices singulières :
Matrices symétriques :
Matrices commutatives :
Matrices orthonormales et orthogonales :

Mathc complexes/a17
Application
Quelques exemples :

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

Mathc complexes/a19
Application
Présentation des fonction intermédiaire :

Mathc complexes/a20
Application
La QR décomposition :
Valeur propre, Valeur singulière

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

Mathc complexes/a22
Application
Exemples d'applications :
Version mathématique :
Version langage c :

Mathc complexes/a24
Application
Matrices orthonormales :
Valeurs propres Vecteurs propres :

Mathc complexes/a23
Application
Calculer le mineur :
La matrice pour calculer un mineur :
calculer un cofacteur :
La matrice des cofacteurs :
Calculer l'adjointe :

Mathc complexes/a25
Application
Résoudre : InvA :
Résoudre : AX = B :
Résoudre : A|x1|x2|..|xn| = b1|b2|..|bn|

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

Mathc complexes/a27
Application
Dans cet algorithme le pivot choisi est la plus grande norme qui se trouve dans la matrice A. Pour cela on fait des échanges de lignes et de colonnes. Attention on ne touche pas à b.
La fonction gj_mZ(Ab); traitera tous les cas. Les fonctions gj1_mZ(Ab); gj2_mZ(Ab);gj4_mZ(Ab); ne doivent pas être utilisées.
Il faut appeler directement gj_mZ(Ab); qui choisira en fonction de la situation la bonne fonction.
Pour initialiser la matrice Ab il faut utiliser la commande : 
double **Ab = i_Abr_Ac_bc_mZ(RAb,CA,Cb);
Résoudre : AX = B :
Résoudre II : AX = B
Résoudre II : A|x1|x2| ... |xn| = b1|b2| ... |bn|
Résoudre : AX = B : A[R][C] ... C > R
Résoudre : AX = B : Système incompatible
Résoudre : A[R2][C2]X = B : R1 == R2 Système compatible
Résoudre : AX = B :deux lignes identiques Système compatible
Résoudre : AX = B : A[R][C] ... R > C
Résoudre : InvA
Résoudre : AX = B avec l'inverse de A
Résoudre : A|x1|x2| ... |xn| = b1|b2| ... |bn| avec l'inverse de A

Mathc complexes/a28
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00.c */
void fun(int r)
double **A = i_mZ(r,r);
double **b = i_mZ(r, C1);
double **Ab = i_Abr_Ac_bc_mZ(r,r,C1);
 do
 r_mZ(A,999);
 printf(".");
 }while(!det_Z(A).r);
 clrscrn();
 printf(" A :");
 p_mZ(A, S5,P0, S4,P0, C6);
 printf(" b :");
 p_mZ(r_mZ(b,999.), S5,P0, S4,P0, C6);
 stop();
 clrscrn();
 printf(" Copy/Past into the octave window.\n\n");
 p_Octave_mZ(c_A_b_Ab_mZ(A,b,Ab),"Ab",P0, P0);
 printf(" rref(Ab.00000000001)\n\n");
 printf(" gj_mZ(Ab) :");
 gj_mZ(Ab);
 p_mZ(Ab, S1,P4, S1,P4, C3);
 f_mZ(Ab);
 f_mZ(b);
 f_mZ(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(R4)+R1);
} while(stop_w());
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 A :
 -194-129i -57+609i -77-659i -446+691i 
 +797-623i -217 +92i +482+547i +533-597i 
 -616+647i +63+226i +197+114i +972-249i 
 +402-363i -22-497i -970-448i +777+386i 
 b :
 +771-502i 
 +8-690i 
 +331+564i 
 -327+510i 
 Press return to continue. 
 ------------------------------------ 
 Copy/Past into the octave window.
 Ab=[
-194-129*i,-57+609*i,-77-659*i,-446+691*i,+771-502*i;
+797-623*i,-217+92*i,+482+547*i,+533-597*i,+8-690*i;
-616+647*i,+63+226*i,+197+114*i,+972-249*i,+331+564*i;
+402-363*i,-22-497*i,-970-448*i,+777+386*i,-327+510*i]
 rref(Ab.00000000001)
 gj_mZ(Ab) :
+1.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 +1.0000-0.0000i 
+0.0000+0.0000i +0.0000+0.0000i -0.0000+0.0000i 
+0.0000+0.0000i +0.3847-0.7576i 
+0.0000-0.0000i -1.3931-1.3793i 
+0.0000+0.0000i -0.5462+0.1895i 
+1.0000+0.0000i -0.0844+0.2614i 
 Press return to continue
 Press X to stop

Mathc complexes/a29
Sommaire
----

Mathc complexes/a30
Application
----