Mathc complexes/a106
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00a.c */
void fun(void)
double **A = rcsymmetric_mRZ(i_mZ(RCA,RCA),99.);
double **SqrtA = i_mZ(RCA,RCA);
double **EigsVector = i_mZ(RCA,RCA);
double **T_EigsVector = i_mZ(RCA,RCA);
double **EigsValue = i_mZ(RCA,RCA);
double **f_EigsValue = i_mZ(RCA,RCA);
double **T1 = i_mZ(RCA,RCA);
 clrscrn();
 printf(" A "); 
 p_mRZ(A, S8,P0, C6); 
 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(sqrt,EigsValue,f_EigsValue);
 //A == EigsVector * EigsValue * T_EigsVector 
 mul_mZ(EigsVector,f_EigsValue,T1);
 mul_mZ(T1,T_EigsVector,SqrtA);

printf(" sqrt(A) = EigsVector * sqrt(EigsValue) * T_EigsVector");
 p_mRZ(SqrtA, S9,P3, C6); 
 printf(" A = sqrt(A) * sqrt(A)"); 
 mul_mZ(SqrtA,SqrtA,A);
 p_mRZ(A, S8,P0, C6); 
 f_mZ(A);
 f_mZ(SqrtA);
 f_mZ(EigsVector);
 f_mZ(T_EigsVector);
 f_mZ(EigsValue);
 f_mZ(f_EigsValue); 
 f_mZ(T1);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun();
} while(stop_w());
 return 0;
/* ------------------------------------ */
 Sqrt(A)== V * sqrt(EValue)* T_V
 Exemple de sortie écran :
 A 
 +11764 -6124 -826 -4482 
 -6124 +11317 +2360 -4867 
 -826 +2360 +27818 -4778 
 -4482 -4867 -4778 +12015 
 sqrt(A) = EigsVector * sqrt(EigsValue) * T_EigsVector
 +98.350 -35.729 -4.145 -28.241 
 -35.729 +95.563 +6.473 -29.432 
 -4.145 +6.473 +165.668 -17.696 
 -28.241 -29.432 -17.696 +100.190 
 A = sqrt(A) * sqrt(A)
 +11764 -6124 -826 -4482 
 -6124 +11317 +2360 -4867 
 -826 +2360 +27818 -4778 
 -4482 -4867 -4778 +12015 
 Press return to continue
 Press X to stop

Mathc complexes/a107
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
double f(
double x)
 return((x)*(x)*(x));
char feq[] = "(x)**3";
/* ------------------------------------ */
void fun(void)
double **A = rcsymmetric_mRZ(i_mZ(RCA,RCA),99.);
double **A_p3 = i_mZ(RCA,RCA);
double **EigsVector = i_mZ(RCA,RCA);
double **T_EigsVector = i_mZ(RCA,RCA);
double **EigsValue = i_mZ(RCA,RCA);
double **f_EigsValue = i_mZ(RCA,RCA);
double **T1 = i_mZ(RCA,RCA);
 clrscrn();
 printf(" A "); 
 p_mRZ(A, S8,P0, C6); 
 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,f_EigsValue);
//A == EigsVector * EigsValue * T_EigsVector 
 mul_mZ(EigsVector,f_EigsValue,T1);
 mul_mZ(T1,T_EigsVector,A_p3); 
 printf(" A**3 : EigsVector * EigsValue**3 * T_EigsVector\n");
 pE_mRZ(A_p3,S12,P4,C6); 
 printf(" A**3"); 
 pE_mRZ(pow_mZ(3,A,T1),S12,P4,C6); 
 f_mZ(A);
 f_mZ(A_p3);
 f_mZ(EigsVector);
 f_mZ(T_EigsVector);
 f_mZ(EigsValue);
 f_mZ(f_EigsValue); 
 f_mZ(T1);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun();
} while(stop_w());
 return 0;
/* ------------------------------------ */
 A**2 == V * EValue**2 * T_V
 Exemple de sortie écran :
 A 
 +19679 -3684 -402 +1638 
 -3684 +23970 +10621 -1910 
 -402 +10621 +6238 -2663 
 +1638 -1910 -2663 +10547 
 A**3 : EigsVector * EigsValue**3 * T_EigsVector
 +8.6797e+12 -6.2015e+12 -2.4385e+12 +1.7337e+12 
 -6.2015e+12 +2.1177e+13 +9.8603e+12 -3.5504e+12 
 -2.4385e+12 +9.8603e+12 +4.6655e+12 -1.8293e+12 
 +1.7337e+12 -3.5504e+12 -1.8293e+12 +1.7755e+12 
 A**3
 +8.6797e+12 -6.2015e+12 -2.4385e+12 +1.7337e+12 
 -6.2015e+12 +2.1177e+13 +9.8603e+12 -3.5504e+12 
 -2.4385e+12 +9.8603e+12 +4.6655e+12 -1.8293e+12 
 +1.7337e+12 -3.5504e+12 -1.8293e+12 +1.7755e+12 
 Press return to continue
 Press X to stop

Mathc complexes/a108
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
double f(
double x)
 return((x)*(x)*(x)*(x));
char feq[] = "(x)**4";
/* ------------------------------------ */
void fun(void)
double **A = rcsymmetric_mRZ(i_mZ(RCA,RCA),99.);
double **A_p4 = i_mZ(RCA,RCA);
double **EigsVector = i_mZ(RCA,RCA);
double **T_EigsVector = i_mZ(RCA,RCA);
double **EigsValue = i_mZ(RCA,RCA);
double **f_EigsValue = i_mZ(RCA,RCA);
double **T1 = i_mZ(RCA,RCA);
 clrscrn();
 printf(" A "); 
 p_mRZ(A, S8,P0, C6); 
 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,f_EigsValue);
//A == EigsVector * EigsValue * T_EigsVector 
 mul_mZ(EigsVector,f_EigsValue,T1);
 mul_mZ(T1,T_EigsVector,A_p4);
 printf(" A**4 : EigsVector * EigsValue**4 * T_EigsVector"); 
 pE_mRZ(A_p4,S12,P4,C6); 
 printf(" A**4"); 
 pE_mRZ(pow_mZ(4,A,T1),S12,P4,C6); 
 f_mZ(A);
 f_mZ(A_p4);
 f_mZ(EigsVector);
 f_mZ(T_EigsVector);
 f_mZ(EigsValue);
 f_mZ(f_EigsValue); 
 f_mZ(T1);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun();
} while(stop_w());
 return 0;
/* ------------------------------------ */
 A**4== V * EValue**4 * T_V
 Exemple de sortie écran :
 A 
 +7044 +6440 +1894 +6788 
 +6440 +14485 +12220 +5986 
 +1894 +12220 +18273 -1622 
 +6788 +5986 -1622 +19996 
 A**4 : EigsVector * EigsValue**4 * T_EigsVector
 +1.2213e+17 +2.1386e+17 +1.5965e+17 +1.8631e+17 
 +2.1386e+17 +4.4674e+17 +4.0186e+17 +2.6604e+17 
 +1.5965e+17 +4.0186e+17 +4.1575e+17 +1.4140e+17 
 +1.8631e+17 +2.6604e+17 +1.4140e+17 +3.3621e+17 
 A**4
 +1.2213e+17 +2.1386e+17 +1.5965e+17 +1.8631e+17 
 +2.1386e+17 +4.4674e+17 +4.0186e+17 +2.6604e+17 
 +1.5965e+17 +4.0186e+17 +4.1575e+17 +1.4140e+17 
 +1.8631e+17 +2.6604e+17 +1.4140e+17 +3.3621e+17 
 Press return to continue
 Press X to stop

Mathc matrices/a37
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
void fun(void)
double **A = rPsymmetric_mR(i_mR(RCA,RCA),99.);
double **SqrtA = i_mR(RCA,RCA);
double **EigsVector = i_mR(RCA,RCA);
double **T_EigsVector = i_mR(RCA,RCA);
double **EigsValue = i_mR(RCA,RCA);
double **f_EigsValue = i_mR(RCA,RCA);
double **T1 = i_mR(RCA,RCA);
 clrscrn();
 printf(" A :");
 p_mR(A, S7,P0, C8); 
 eigs_V_uv_mR(A,EigsVector); 
 transpose_mR(EigsVector,T_EigsVector);
/* EigsValue : T_EigsVector * A * EigsVector */
 mul_mR(T_EigsVector,A,T1);
 mul_mR(T1,EigsVector,EigsValue); 
 f_eigs_uv_mR(sqrt,EigsValue,f_EigsValue);
 //A == EigsVector * EigsValue * T_EigsVector 
 mul_mR(EigsVector,f_EigsValue,T1);
 mul_mR(T1,T_EigsVector,SqrtA); 
 printf(" sqrt(A) = EigsVector * sqrt(EigsValue) * T_EigsVector\n");
 p_mR(SqrtA,S10,P4,C8); 
 printf(" A = sqrt(A) * sqrt(A)"); 
 mul_mR(SqrtA,SqrtA,A);
 p_mR(A, S7,P0, C8); 
 f_mR(A);
 f_mR(SqrtA);
 f_mR(EigsVector);
 f_mR(T_EigsVector);
 f_mR(EigsValue);
 f_mR(f_EigsValue); 
 f_mR(T1);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun();
} while(stop_w());
 return 0;
/* ------------------------------------ */
 sqrt(A) = V sqrt(EValue) T_V
 Exemple de sortie écran :
 A :
 +7770 +40 -48 -71 
 +40 +8769 +20 -28 
 -48 +20 +555 -39 
 -71 -28 -39 +3663 
 sqrt(A) = EigsVector * sqrt(EigsValue) * T_EigsVector
 +88.1450 +0.2200 -0.4321 -0.4787 
 +0.2200 +93.6424 +0.1708 -0.1804 
 -0.4321 +0.1708 +23.5492 -0.4660 
 -0.4787 -0.1804 -0.4660 +60.5188 
 A = sqrt(A) * sqrt(A)
 +7770 +40 -48 -71 
 +40 +8769 +20 -28 
 -48 +20 +555 -39 
 -71 -28 -39 +3663 
 Press return to continue
 Press X to stop