Mathc complexes/a251
Apparence
Installer et compiler ces fichiers dans votre répertoire de travail.
![]() |
c04b.c |
---|
/* ------------------------------------ */
/* Save as : c04b.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define RAT R2
#define CAT C4
#define Cb C1
/* ------------------------------------ */
int main(void)
{
double a_Tb[RAT*((CAT+Cb)*C2)]={
-2,+3, +1,+0, +0,-1, 3,-5, +0,+0,
-4,+2, -3,+5, -6,+4,-1,+0, +0,+0
};
double **ATb = ca_A_mZ(a_Tb, i_Abr_Ac_bc_mZ(RAT,CAT,Cb));
double **AT = c_Ab_A_mZ(ATb, i_mZ(RAT,CAT));
double **b = c_Ab_b_mZ(ATb, i_mZ(RAT,Cb));
clrscrn();
printf(" Verify if AT is Basis for a Row Space by Row Reduction :\n\n");
printf(" AT :");
p_mZ(AT,S6,P1,S6,P1,C10);
printf(" b :");
p_mZ(b,S6,P1,S6,P1,C10);
printf(" ATb :");
p_mZ(ATb,S6,P1,S6,P1,C10);
stop();
clrscrn();
printf(" The nonzero row vectors of ATb form a basis\n"
" for the row space of AT, and hence form a \n"
" basis for the column space of A \n\n"
" ATb :");
p_mZ(ATb,S7,P3,S7,P3,C10);
printf(" ATb : gj_PP_mZ(ATb) :");
gj_PP_mZ(ATb);
p_mZ(ATb,S7,P3,S7,P3,C10);
stop();
f_mZ(ATb);
f_mZ(b);
f_mZ(AT);
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Trouver une projection sur un sous-espace vectoriel par une application linéaire :
- Dans cet exemple nous vérifions si les vecteurs lignes de AT sont linéairement indépendant. Il ne doit pas y avoir des lignes de zéro.
Exemple de sortie écran :
------------------------------------
Verify if AT is Basis for a Row Space by Row Reduction :
A_T :
-2.0 +3.0i +1.0 +0.0i +0.0 -1.0i +3.0 -5.0i
-4.0 +2.0i -3.0 +5.0i -6.0 +4.0i -1.0 +0.0i
b :
+0.0 +0.0i
+0.0 +0.0i
A_Tb :
-2.0 +3.0i +1.0 +0.0i +0.0 -1.0i +3.0 -5.0i +0.0 +0.0i
-4.0 +2.0i -3.0 +5.0i -6.0 +4.0i -1.0 +0.0i +0.0 +0.0i
Press return to continue.
------------------------------------
The nonzero row vectors of A_Tb form a basis
for the row space of A_T, and hence form a
basis for the column space of A
A_Tb :
-2.000 +3.000i +1.000 +0.000i +0.000 -1.000i +3.000 -5.000i +0.000 +0.000i
-4.000 +2.000i -3.000 +5.000i -6.000 +4.000i -1.000 +0.000i +0.000 +0.000i
A_Tb : gj_PP_mZ(A_Tb) :
+1.000 +0.000i +1.100 -0.700i +1.600 -0.200i +0.200 +0.100i +0.000 -0.000i
+0.000 +0.000i +1.000 -0.000i +1.373 +0.232i +1.264 +0.491i +0.000 +0.000i
Press return to continue.