Aller au contenu

Mathc complexes/a255

Un livre de Wikilivres.


Application


Installer et compiler ces fichiers dans votre répertoire de travail.


c05b.c
/* ------------------------------------ */
/*  Save as :   c05b.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define   RAT R2
#define   CAT C5
#define   Cb C1
/* ------------------------------------ */
int main(void)
{
double a_Tb[RAT*((CAT+Cb)*C2)]={
 -2,+3, +1,+0, +0,-1,  3,-5,  5,-4, +0,+0,
 -4,+2, -3,+5, -6,+4, -1,+0, -3,+2  +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,S5,P1,S5,P1,C10);
  printf(" b :");
  p_mZ(b,S5,P1,S5,P1,C10);
  printf(" ATb :");
  p_mZ(ATb,S5,P1,S5,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,S5,P2,S5,P2,C10);
  printf(" ATb :  gj_PP_mZ(ATb) :");
  gj_PP_mZ(ATb);
  p_mZ(ATb,S5,P2,S5,P2,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  +5.0 -4.0i 
 -4.0 +2.0i  -3.0 +5.0i  -6.0 +4.0i  -1.0 +0.0i  -3.0 +2.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  +5.0 -4.0i  +0.0 +0.0i 
 -4.0 +2.0i  -3.0 +5.0i  -6.0 +4.0i  -1.0 +0.0i  -3.0 +2.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.00+3.00i +1.00+0.00i +0.00-1.00i +3.00-5.00i +5.00-4.00i +0.00+0.00i 
-4.00+2.00i -3.00+5.00i -6.00+4.00i -1.00+0.00i -3.00+2.00i +0.00+0.00i 

 A_Tb :  gj_PP_mZ(A_Tb) :
+1.00+0.00i +1.10-0.70i +1.60-0.20i +0.20+0.10i +0.80-0.10i +0.00-0.00i 
+0.00+0.00i +1.00-0.00i +1.37+0.23i +1.26+0.49i +1.63+0.96i +0.00+0.00i 

 Press return to continue.