Mathc complexes/Fichiers c : mul low
Apparence
Installer et compiler ce fichier dans votre répertoire de travail.
mul_low.c |
|---|
/* ------------------------------------ */
/* Save as : mul_low.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
double **xrlower_mZ(
double **A,
int n
)
{
int r;
int c;
isquare_mZ(A,"r_lower_mZ;","(A)");
for (r=R1; r<A[R_SIZE][C0]; r++)
for (c=C1; c<A[C_SIZE][C0]; c+=C2)
if(( 2*r)>=c) { A[r][c ] = r_I(n);
A[r][c+C1] = r_I(n);}
return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */
void fun(int rc)
{
double **A = rlower_mZ(i_mZ(rc,rc),9);
double **B = rlower_mZ(i_mZ(rc,rc),9);
double **AB = i_mZ(rc,rc);
clrscrn();
printf(" A : ");
p_mZ(A, S5,P0, S4,P0,C6);
printf(" B : ");
p_mZ(B, S5,P0, S4,P0,C6);
printf(" AB : ");
p_mZ(mul_mZ(A,B,AB), S5,P0, S4,P0,C6);
f_mZ(A);
f_mZ(B);
f_mZ(AB);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
fun(rp_I(RC5));
while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Si nous multiplions deux matrices triangulaires inférieures, nous obtenons une matrice triangulaire inférieure.
Exemple de sortie écran :
A :
+6 +2i +0 +0i +0 +0i
-7 +4i -7 +8i +0 +0i
-5 -1i -3 +6i -7 -9i
B :
-3 +2i +0 +0i +0 +0i
-1 -1i -3 +6i +0 +0i
+4 +6i +4 +4i -9 -9i
AB :
-22 +6i +0 +0i +0 +0i
+28 -27i -27 -66i +0 +0i
+52 -88i -19-100i -18+144i
Press return to continue
Press X to stop