Mathc matrices/c11b2
Fonctions de bases
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
void fun(void)
double a[RA*CA]={
-367,+448,
+448,-847 
double **A = ca_A_mR(a,i_mR(RA,CA));
double **EigsVector = i_mR(RA,CA);
double **T_EigsVector = i_mR(CA,RA);
double **EigsValue = i_mR(RA,C1);
double **T1 = i_mR(RA,RA);
double **T2 = i_mR(RA,RA);
 clrscrn();
 printf(" Copy/Past into the octave windows \n\n");
 p_Octave_mR(A,"a",P0);
 printf(" [V, E] = eigs (a,10) \n\n");
 stop();
 clrscrn(); 
 eigs_V_uv_mR(A,EigsVector); 
 printf(" EigsVector:");
 p_mR(EigsVector,S10,P4,C6);
 printf(" EigsValue : T_EigsVector * A * EigsVector"); 
 transpose_mR(EigsVector,T_EigsVector); 
 mul_mR(T_EigsVector,A,T1);
 mul_mR(T1,EigsVector,T2);
 p_mR(T2,S10,P4,C6); 
 eigs_value_uv_mR(A,EigsValue);
 printf(" EigsValue :");
 p_mR(EigsValue,S10,P4,C1); 
 stop();
 f_mR(A);
 f_mR(EigsVector);
 f_mR(T_EigsVector);
 f_mR(EigsValue); 
 f_mR(T1);
 f_mR(T2);
/* ------------------------------------ */
int main(void)
 fun();
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 Copy/Past into the octave windows 
 a=[
-367,+448;
+448,-847]
 [V, E] = eigs (a,10) 
 Press return to continue. 
 ------------------------------------ 
 EigsVector:
 -0.5137 +0.8580 
 +0.8580 +0.5137 
 EigsValue : T_EigsVector * A * EigsVector
-1115.2362 +0.0000 
 +0.0000 -98.7638 
 EigsValue :
-1115.2362 
 -98.7638 
 Press return to continue.

Mathc matrices/c11b3
Fonctions de bases
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00b.c */
void fun(void)
double a[RA*CA]={
+966,+98,+864,
+98,+692,+214,
+864,+214,+376
double **A = ca_A_mR(a,i_mR(RA,CA));
double **EigsVector = i_mR(RA,CA);
double **T_EigsVector = i_mR(CA,RA);
double **EigsValue = i_mR(RA,C1);
double **T1 = i_mR(RA,RA);
double **T2 = i_mR(RA,RA);
 clrscrn();
 printf(" Copy/Past into the octave windows \n\n");
 p_Octave_mR(A,"a",P0);
 printf(" [V, E] = eigs (a,10) \n\n");
 stop();
 clrscrn(); 
 eigs_V_uv_mR(A,EigsVector); 
 printf(" EignVector:");
 p_mR(EigsVector,S10,P4,C6);
 printf(" EigsValue : T_EigsVector * A * EigsVector"); 
 transpose_mR(EigsVector,T_EigsVector); 
 mul_mR(T_EigsVector,A,T1);
 mul_mR(T1,EigsVector,T2);
 p_mR(T2,S10,P4,C6); 
 eigs_value_uv_mR(A,EigsValue);
 printf(" EigsValue :");
 p_mR(EigsValue,S10,P4,C1); 
 stop();
 f_mR(A);
 f_mR(EigsVector);
 f_mR(T_EigsVector);
 f_mR(EigsValue); 
 f_mR(T1);
 f_mR(T2);
/* ------------------------------------ */
int main(void)
 fun();
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 Copy/Past into the octave windows 
 a=[
+966,+98,+864;
+98,+692,+214;
+864,+214,+376]
 [V, E] = eigs (a,10) 
 Press return to continue. 
 ------------------------------------ 
 EignVector:
 +0.7865 -0.2475 -0.5658 
 +0.2146 +0.9686 -0.1254 
 +0.5791 -0.0228 +0.8150 
 EigsValue : T_EigsVector * A * EigsVector
+1628.8358 +0.0000 -0.0000 
 +0.0000 +661.9311 +0.0000 
 -0.0000 -0.0000 -256.7669 
 EigsValue :
+1628.8358 
 +661.9311 
 -256.7669 
 Press return to continue.

Mathc matrices/c11b4
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00d.c */
/* ------------------------------------ */
void fun(int r)
double **A = r_mR(i_mR(r,r),99.);
double **B = i_mR(r,r);
 clrscrn(); 
 printf(" A :");
 p_mR(A,S5,P0,C10); 
 printf(" B : c_c_r_mR(A,C1,B,R2);");
 c_c_r_mR(A,C1,B,R2);
 p_mR(B,S5,P0,C10);
// p_mR(c_c_r_mR(A,C1,B,R2),S5,P0,C10);
 f_mR(A);
 f_mR(B); 
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
int i;
do
 i = rp_I(R3)+R1;
 fun(i);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Copier une colonne de la matrice A dans une ligne de la matrice B :

Exemple de sortie écran :
 A :
 -95 -83 +29 -8 
 +67 -53 +37 +99 
 -87 +56 +66 -15 
 -80 +9 -59 -21 
 B : c_c_r_mR(A,C1,B,R2);
 +0 +0 +0 +0 
 -95 +67 -87 -80 
 +0 +0 +0 +0 
 +0 +0 +0 +0 
 Press return to continue
 Press X to stop

Mathc matrices/c11b5
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00f.c */
void fun(int r)
double **A = r_mR(i_mR(r,r),9999.);
 clrscrn();
 printf(" Copy/Past into the octave window.\n\n");
 p_Octave_mR(A,"A",P0);
 printf("format short e\n" 
 "inv(A)\n");
 f_mR(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(RC5)+C1);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Vous pouvez trouvez toutes les commandes Octave utilisés dans ce cours ici : Listes des commandes

Exemple de sortie écran :
 Copy/Past into the octave window.
 A=[
-2222,+6933,+8646,-1613,+5074;
+217,+3407,-4565,-5882,-3689;
-9513,-4256,-9535,+5589,+2607;
-9741,+3326,-1379,-1256,-2509;
+9699,+1376,+2650,+7941,+455]
format short e
inv(A)
 Press return to continue
 Press X to stop

Mathc matrices/c11b6
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c01a.c */
/* ------------------------------------ */
/* ------------------------------------ */
void fun(void)
double **A[tA];
int c;
 for(c=C0; c<tA; c++)
 A[c] = i_mR(RA,CA);

clrscrn();
 rs_mR(A,tA,99);
 for(c=C0; c<tA; c++)
 printf(" A[%d] :",c); 
 p_mR(A[c],S5,P0,C6);

for(c=C0; c<tA; c++)
 f_mR(A[c]); 
int main(void)
time_t t;
 srand(time(&t));
do
 fun();
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Le même exemple que le précédent mais avec l'utilisation de la fonction : rs_mR(A,tA,99);

Exemple de sortie écran :
 A[0] :
 -76 -19 +88 +11 +11 
 -25 -62 -23 +24 -69 
 A[1] :
 +5 +27 -71 +55 +57 
 -60 +4 +35 -84 -54 
 A[2] :
 -87 +27 -33 +31 +10 
 -92 -40 +44 -35 +56 
 Press return to continue
 Press X to stop

Mathc matrices/c11bn
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
/* ------------------------------------ */
void fun(void)
double **A = rsymmetric_mR(i_mR(RCA,RCA),999.);
double **EigsVector= i_mR(RCA,RCA);
double **T_EigsVector= i_mR(RCA,RCA);
double **EigsValue = i_mR(RCA,C1);
double **eigs_values= i_mR(RCA,RCA);
double **T1= i_mR(RCA,RCA);
 clrscrn();
 printf(" Copy/Past into the octave windows \n\n");
 p_Octave_mR(A,"a",P0);
 printf(" [V, E] = eigs (a,10) \n\n");
 stop();
 clrscrn(); 
 eigs_V_uv_mR(A,EigsVector); 
 transpose_mR(EigsVector,T_EigsVector);
 printf(" EigsVector:");
 p_mR(EigsVector,S10,P4,C6);
 mul_mR(T_EigsVector,A,T1);
 mul_mR(T1,EigsVector,eigs_values);
 printf(" EigsValue : T_EigsVector * A * EigsVector"); 
 p_mR(eigs_values,S10,P4,C6); 
 eigs_value_uv_mR(A,EigsValue);
 printf(" EigsValue :");
 p_mR(EigsValue,S10,P4,C1); 
 f_mR(A);
 f_mR(EigsVector);
 f_mR(T_EigsVector);
 f_mR(EigsValue); 
 f_mR(eigs_values);
 f_mR(T1);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun();
} while(stop_w());
 return 0;
/* ------------------------------------ */
 EValue = T_V * A * V
 Exemple de sortie écran :
 Copy/Past into the octave windows 
 a=[
-833,-347,-373,-301;
-347,+294,-87,+462;
-373,-87,-749,-41;
-301,+462,-41,-197]
 [V, E] = eigs (a,10) 
 Press return to continue. 
 EigsVector:
 +0.7671 -0.2853 +0.3425 -0.4614 
 +0.1531 +0.8114 -0.3057 -0.4742 
 +0.5984 +0.0103 -0.5607 +0.5722 
 +0.1735 +0.5101 +0.6891 +0.4846 
 EigsValue : T_EigsVector * A * EigsVector
-1261.3064 +0.0000 -0.0000 +0.0000 
 +0.0000 +705.3783 +0.0000 +0.0000 
 -0.0000 +0.0000 -518.2077 -0.0000 
 +0.0000 -0.0000 -0.0000 -410.8641 
 EigsValue :
-1261.3064 
 +705.3783 
 -518.2077 
 -410.8641 
 Press return to continue
 Press X to stop