Mathc matrices/c31e

Un livre de Wikilivres.


Application


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


d03a.c
/* ------------------------------------ */
/*  Save as :   d03a.c                  */
/* ------------------------------------ */
#include      "v_a.h"
/* ------------------------------------ */
int main(void)
{
double a[9]={
   -2.,    -2.,   3.,
    0.,    -2.,  -2.,
    0.,     0.,   1.};  
            
double inva[9]={
   -1./2.,  1./2., 5./2.,  
    0.,    -1./2.,-1.,  
    0.,     0.,    1.};
    
double **A     = ca_A_mR(a,   i_mR(R3,C3));
double **invA  = ca_A_mR(inva,i_mR(R3,C3));
double **AinvA =               i_mR(R3,C3);

  printf(" A : ");
  p_mR(A,5,0,6);
  
  printf(" invA : ");
  p_mR(invA,5,3,6);
  
  printf(" A*invA : ");
  mul_mR(A,invA,AinvA);
  p_mR(AinvA,5,3,6);

  printf("\n\n\n Press return to continue");
  
  f_mR(A);
  f_mR(invA);
  f_mR(AinvA);
    
  getchar();

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


Il faut jouer le jeu pour comprendre ce travail. Copier le système de matrice et remplacer au fur et à mesure les lettres par leurs valeurs.


Le fichier c permet simplement de vérifier le résultat.


La méthode de calcul :
 ------------------------------------ 


  a) Ecrire sur un papier au crayon ce système de matrices
     =====================================================
     -2   -2     3          a    b    c         1 0 0 
     0    -2    -2      *   0    d    e      =  0 1 0 
     0     0     1          0    0    f         0 0 1 


    << Remplacer chaque lettre aux fur et à mesure. >>
    

    b) Inverser les coefficients de la diagonale :
       =========================================
        ->  a= -1/2
        ->  d= -1/2
        ->  f=  1


    c) Calculer le produit scalaire des r* lignes par les c* colonnes :
       ==============================================================

         1)  r1*c2 =>  -2b + 1     = 0    =>   b=1/2  
             ---------------------------------------   
     -2    -2     3          -1/2    b    c         1 0 0 
      0    -2    -2      *     0   -1/2   e      =  0 1 0 
      0     0     1            0     0    1         0 0 1 
             
             
        2)   r2*c3 =>  -2e - 2     = 0    =>   e= -1
             ---------------------------------------   
     -2   -2     3          -1/2   1/2   c         1 0 0 
      0   -2    -2      *     0   -1/2   e      =  0 1 0 
      0    0     1            0     0    1         0 0 1   
      
      
        3)   r1*c3 =>  -2c + 2 + 3 = 0    =>   c= 5/2  
             ---------------------------------------   
     -2   -2     3          -1/2   1/2   c         1 0 0 
      0   -2    -2      *     0   -1/2  -1      =  0 1 0 
      0    0     1            0     0    1         0 0 1   
      
        4)              c= 5/2  
             ---------------------------------------      
     -2   -2     3          -1/2   1/2 5/2         1 0 0 
      0   -2    -2      *     0   -1/2  -1      =  0 1 0 
      0    0     1            0     0    1         0 0 1       
       
 

     d) Le résultat :
        =============

    -2    -2     3         -1/2    1/2     5/2      1 0 0 
     0    -2    -2      *   0     -1/2    -1     =  0 1 0 
     0     0     1          0      0       1        0 0 1