Mathc complexes/a213
Installer et compiler ce fichier dans votre répertoire de travail.
c00a.c |
---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(void)
{
double **U_T = r_mZ(i_mZ(R1, C3), 9);
double **V_T = r_mZ(i_mZ(R1, C3), 9);
double **W_T = r_mZ(i_mZ(R1, C3), 9);
double **UxV_T = i_mZ(R1, C3);
double **UxV = i_mZ(R3, C1);
double **A = m1_mZ(i_mZ(R3, C3));
double **W = transpose_mZ(W_T, i_mZ(R3 , C1));
c_r_mZ(W_T, R1, A, R1);
c_r_mZ(U_T, R1, A, R2);
c_r_mZ(V_T, R1, A, R3);
// cofactor(A) -> (u x v)
c_z_mZ(cofactor_Z(A, R1, C1), UxV_T, R1, C1);
c_z_mZ(cofactor_Z(A, R1, C2*C2-C1), UxV_T, R1, C2);
c_z_mZ(cofactor_Z(A, R1, C3*C2-C1), UxV_T, R1, C3);
// c*C2 : a number has two columns
// -C1 : The real part of the number
ctranspose_mZ(UxV_T, UxV);
clrscrn();
printf(" u_t :");
p_mZ(U_T, S4, P0, S3, P0, C6);
printf(" v_t :");
p_mZ(V_T, S4, P0, S3, P0, C6);
printf(" w_t :");
p_mZ(W_T, S4, P0, S3, P0, C6);
printf(" uxv_t :");
p_mZ(UxV_T, S4, P0, S3, P0, C6);
printf(" w.(u x v) == "); p_Z(dot_Z(W, UxV),S3,P0, S3,P0); printf("\n");
printf(" det(A) == "); p_Z(det_Z(A),S3,P0, S3,P0); printf("\n");
f_mZ(U_T);
f_mZ(V_T);
f_mZ(UxV_T);
f_mZ(UxV);
f_mZ(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun();
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Les vecteurs en mathématiques sont supposés être des vecteurs colonnes, c'est pour cela que j'utilise _T pour afficher des vecteurs lignes.
Exemple de sortie écran :
u_t :
+5 -9i +6 +3i -9 -3i
v_t :
-7 -7i +4 +3i +7 -8i
w_t :
+6 +6i -4 +9i +3 -8i
uxv_t :
+93+12i +79+187i +68+42i
w.(u x v) == -973+175i
det(A) == -973+175i
Press return to continue
Press X return to stop