Mathc complexes/Fichiers c : ctranspose
Installer et compiler ce fichier dans votre répertoire de travail.
ctranspose.c |
---|
/* ------------------------------------ */
/* Save as : ctranspose.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r,int c)
{
double **A = r_mZ( i_mZ(r,c),9);
double **A_t = ctranspose_mZ(A, i_mZ(c,r));
clrscrn();
printf(" A \n");
p_mZ(A, S5,P0, S4,P0,C6);
printf("\n A^t (ctranspose_mZ)\n");
p_mZ(A_t, S5,P0, S4,P0,C6);
f_mZ(A);
f_mZ(A_t);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
fun(rp_I(R6),rp_I(C6));
while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
La fonction ctranspose_mZ() qui échange les lignes et les colonnes et qui prend le conjuguer.
Exemple de sortie écran :
A
+6 +6i +8 -7i +4 +2i -7 +6i +2 +2i
+2 +4i +8 +8i -9 +6i -9 -9i -5 -9i
-1 +6i -1 +6i +4 -7i -9 -3i +2 +4i
A^t (ctranspose_mZ)
+6 -6i +2 -4i -1 -6i
+8 +7i +8 -8i -1 -6i
+4 -2i -9 -6i +4 +7i
-7 -6i -9 +9i -9 +3i
+2 -2i -5 +9i +2 -4i
Press return to continue
Press X to stop