Mathc complexes/a115
Application
Mathc complexes/a109
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
void fun(int r)
double **A = rcsymmetric_mRZ(i_mZ(RCA,RCA),99);
double **V = i_mZ(RCA,RCA);
double **cV_T = i_mZ(RCA,RCA);
double **T = i_mZ(RCA,RCA);
double **EValue = i_mZ(RCA,C1);
double **EigsValue = i_mZ(RCA,RCA);
 clrscrn();
 printf(" Copy/Past into the octave windows \n\n\n");
 p_Octave_mRZ(A,"a",P0); 
 printf(" [V, E] = eigs (a,10) \n\n\n");
/* V and cV_T*/ 
 eigs_V_uv_mZ(A,V,FACTOR_E);
 printf(" V :");
 pE_mRZ(V, S12,P4, C4);
 printf(" cV_T :");
 pE_mRZ(ctranspose_mZ(V,cV_T), S12,P4, C4);
 stop();
 clrscrn(); 
 eigsuv_mZ(A,EValue);
 printf(" EigsValue :"); 
 p_mRZ(EValue, S12,P4, C4);
/* EigsValue = cV_T * A * V */ 
 mul_mZ(cV_T,A,T);
 mul_mZ(T,V,EigsValue); 
 printf(" EigsValue = cV_T * A * V");
 p_mRZ(EigsValue, S12,P4, C4);
 f_mZ(A);
 f_mZ(V);
 f_mZ(cV_T);
 f_mZ(EigsValue);
 f_mZ(EValue);
 f_mZ(T); 
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(R3);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 EValue = cV_T * A * V 
 Exemple de sortie écran :
 Copy/Past into the octave windows 
 a=[
+22011,+4547,+3926,+9012;
+4547,+12653,-3030,+1118;
+3926,-3030,+2896,+1382;
+9012,+1118,+1382,+12249]
 [V, E] = eigs (a,10) 
 V :
 +8.3668e-01 +8.2658e-02 -4.7182e-01 -2.6554e-01 
 +2.4211e-01 -9.0986e-01 +8.6677e-02 +3.2562e-01 
 +1.2279e-01 +3.3433e-01 -2.3296e-01 +9.0492e-01 
 +4.7567e-01 +2.3140e-01 +8.4593e-01 +6.7734e-02 
 cV_T :
 +8.3668e-01 +2.4211e-01 +1.2279e-01 +4.7567e-01 
 +8.2658e-02 -9.0986e-01 +3.3433e-01 +2.3140e-01 
 -4.7182e-01 +8.6677e-02 -2.3296e-01 +8.4593e-01 
 -2.6554e-01 +3.2562e-01 +9.0492e-01 +6.7734e-02 
 Press return to continue. 
 EigsValue :
 +29026.4441 
 +13068.9784 
 +6956.4827 
 +757.0947 
 EigsValue = cV_T * A * V
 +29026.4441 +0.0000 -0.0000 -0.0000 
 +0.0000 +13068.9784 -0.0000 -0.0000 
 -0.0000 -0.0000 +6956.4827 -0.0000 
 -0.0000 -0.0000 -0.0000 +757.0947 
 Press return to continue
 Press X to stop

Mathc complexes/a110
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
void fun(int r)
double **A = rcsymmetric_mRZ(i_mZ(RCA,RCA),99.);// 8x8 -> +1.E-4 
double **a = i_mZ(RCA,RCA);
double **EigsVector = i_mZ(RCA,RCA);
double **T_EigsVector = i_mZ(RCA,RCA);
double **EigsValue = i_mZ(RCA,RCA);
double **T1 = i_mZ(RCA,RCA);
 clrscrn();
 printf(" A :");
 p_mRZ(A,S8,P0,C8); 
 eigs_V_uv_mZ(A,EigsVector,FACTOR_E);
 transpose_mZ(EigsVector,T_EigsVector); 
/* EigsValue : T_EigsVector * A * EigsVector */ 
 mul_mZ(T_EigsVector,A,T1);
 mul_mZ(T1,EigsVector,EigsValue); 
 mul_mZ(EigsVector,EigsValue,T1);
 mul_mZ(T1,T_EigsVector,a);
 printf(" A : EigsVector * EigsValue * T_EigsVector"); 
 p_mRZ(a,S8,P0,C8); 
 f_mZ(A);
 f_mZ(a);
 f_mZ(EigsVector);
 f_mZ(T_EigsVector);
 f_mZ(EigsValue); 
 f_mZ(T1);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(2)+R2);
} while(stop_w());
 return 0;
/* ------------------------------------ */
 A = V * EValue * cV_T
 Exemple de sortie écran :
 A :
 +22879 +866 +7422 -3441 -17440 +1003 -4305 -13983 
 +866 +25859 -3183 +6604 +7305 -14222 -21133 -7192 
 +7422 -3183 +28866 -23892 -7622 +16609 +10254 -8170 
 -3441 +6604 -23892 +36083 -947 -21706 -12442 +6609 
 -17440 +7305 -7622 -947 +33128 -6053 -9493 -589 
 +1003 -14222 +16609 -21706 -6053 +25853 +10889 -623 
 -4305 -21133 +10254 -12442 -9493 +10889 +30094 +10599 
 -13983 -7192 -8170 +6609 -589 -623 +10599 +27753 
 A : EigsVector * EigsValue * T_EigsVector
 +22879 +866 +7422 -3441 -17440 +1003 -4305 -13983 
 +866 +25859 -3183 +6604 +7305 -14222 -21133 -7192 
 +7422 -3183 +28866 -23892 -7622 +16609 +10254 -8170 
 -3441 +6604 -23892 +36083 -947 -21706 -12442 +6609 
 -17440 +7305 -7622 -947 +33128 -6053 -9493 -589 
 +1003 -14222 +16609 -21706 -6053 +25853 +10889 -623 
 -4305 -21133 +10254 -12442 -9493 +10889 +30094 +10599 
 -13983 -7192 -8170 +6609 -589 -623 +10599 +27753 
 Press return to continue
 Press X to stop

Mathc complexes/a111
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
double f(
double x)
 return(1.0/(x));
char feq[] = "1.0/(x)";
/* ------------------------------------ */
void fun(void)
double **A = rcsymmetric_mRZ(i_mZ(RCA,RCA),99.);
double **invA = i_mZ(RCA,RCA);
double **EigsVector = i_mZ(RCA,RCA);
double **T_EigsVector = i_mZ(RCA,RCA);
double **EigsValue = i_mZ(RCA,RCA);
double **invEigsValue = i_mZ(RCA,RCA);
double **T1 = i_mZ(RCA,RCA);
 clrscrn();
 printf(" Copy/Past into the octave windows \n\n");
 p_Octave_mRZ(A,"a",P0); 
 printf("format short e\n");
 printf(" inv (a) \n\n");
 eigs_V_uv_mZ(A,EigsVector,FACTOR_E); 
 transpose_mZ(EigsVector,T_EigsVector); 
/* EigsValue : T_EigsVector * A * EigsVector */ 
 mul_mZ(T_EigsVector,A,T1);
 mul_mZ(T1,EigsVector,EigsValue); 
 f_eigs_uv_mZ(f,EigsValue,invEigsValue);
//A == EigsVector * EigsValue * T_EigsVector 
 mul_mZ(EigsVector,invEigsValue,T1);
 mul_mZ(T1,T_EigsVector,invA); 
 printf(" invA : EigsVector * invEigsValue * T_EigsVector"); 
 pE_mRZ(invA,S10,P4,C6); 
 printf(" Ide = A * invA "); 
 p_mRZ(mul_mZ(A,invA,T1),S10,P5,C10); 
 f_mZ(A);
 f_mZ(invA);
 f_mZ(EigsVector);
 f_mZ(T_EigsVector);
 f_mZ(EigsValue);
 f_mZ(invEigsValue); 
 f_mZ(T1);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun();
} while(stop_w());
 return 0;
/* ------------------------------------ */
 invA = V * inv(EValue) * cV_T
 Exemple de sortie écran :
 Copy/Past into the octave windows 
 a=[
+897,-1819,-2129;
-1819,+4971,+3751;
-2129,+3751,+6667]
format short e
 inv (a) 
 invA : EigsVector * invEigsValue * T_EigsVector
+1.2158e-02 +2.6401e-03 +2.3971e-03 
+2.6401e-03 +9.2288e-04 +3.2385e-04 
+2.3971e-03 +3.2385e-04 +7.3327e-04 
 Ide = A * invA 
 +1.00000 -0.00000 +0.00000 
 +0.00000 +1.00000 +0.00000 
 +0.00000 +0.00000 +1.00000 
 Press return to continue
 Press X to stop