Mathc complexes/a74
Apparence
Installer et compiler ce fichier dans votre répertoire de travail.
c01d.c |
---|
/* ------------------------------------ */
/* Save as : c01d.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
void fun(int r, int c)
{
double **Ab = r_mZ(i_Abr_Ac_bc_mZ(r,c,C1),99.);
double **A = i_mZ(r,c);
double **subA = i_mZ(r,r);
clrscrn();
printf(" Ab :");
p_mZ(Ab,S5,P0,S4,P0,C6);
printf(" A : i_mZ(R,C);");
p_mZ(c_Ab_A_mZ(Ab,A),S5,P0,S4,P0,C6);
printf(" subA : i_mZ(R,R); \t\t c_Ab_subArxr_mZ(Ab,subA); ");
p_mZ(c_Ab_subArxr_mZ(Ab,subA),S5,P0,S4,P0,C6);
f_mZ(A);
f_mZ(Ab);
f_mZ(subA);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun(rp_I(R3)+R1, rp_I(R3)+R3);
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Copier la sous-matrice de Ab dans subA :
// La matrice Ab doit être initialiser avec la fonction :
double **Ab = i_Abr_Ac_bc_mZ( RAb, CA, Cb);
// Cette fonction installe la bonne taille pour les matrices Ab, A, b.
Cette méthode permet par exemple de faire croire à la fonction det_mR(); que la matrice est carrée. On peut calculer le déterminant de cette sous-matrice. Si il n'est pas nul, le système Ab peut être résolu avec l'algorithme du Total Pivoting.
Exemple de sortie écran :
--------------------------------
Ab :
-43 -88i +30 -60i +26 +75i -97 -66i +52 -47i +64 +29i
+86 -23i +69 +93i +92 -78i -57 -87i +65 +59i -58 +70i
-88 +26i -36 -60i -81 +13i -91 -60i +84 -99i -72 +21i
-47 -96i -3 +15i -81 -39i +88 +35i +80 -16i -50 +51i
A : i_mZ(R,C);
-43 -88i +30 -60i +26 +75i -97 -66i +52 -47i
+86 -23i +69 +93i +92 -78i -57 -87i +65 +59i
-88 +26i -36 -60i -81 +13i -91 -60i +84 -99i
-47 -96i -3 +15i -81 -39i +88 +35i +80 -16i
subA : i_mZ(R,R); c_Ab_subArxr_mZ(Ab,subA);
-43 -88i +30 -60i +26 +75i -97 -66i
+86 -23i +69 +93i +92 -78i -57 -87i
-88 +26i -36 -60i -81 +13i -91 -60i
-47 -96i -3 +15i -81 -39i +88 +35i
Press return to continue
Press X to stop