Matrices de Toeplitz

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

c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
#define   RC  RC6
/* ------------------------------------ */
int main(void)
{
/* Toeplitz Matrix 
   
        V
 
   U    1 5 6 7
        2 
        3         
        4
     
  */
  
double u1[R1*RC]={ 1,2,3,4,5,6};
double v1[RC*C1]={ 1,
	               6,
	               5,
	               4,
	               3,
	               2};

double u2[R1*RC]={ 7,5,6,8,9,4};
double v2[RC*C1]={ 7,
	               4,
	               9,
	               8,
	               6,
	               5};
	              	                 
double **V1   = ca_A_mR(v1,i_mR(RC,C1));	
double **U1   = ca_A_mR(u1,i_mR(R1,RC));
double **A1   =            i_mR(RC,RC);

double **V2   = ca_A_mR(v2,i_mR(RC,C1));	
double **U2   = ca_A_mR(u2,i_mR(R1,RC));
double **A2   =             i_mR(RC,RC);

double **A1A2  =            i_mR(RC,RC);

  rToeplitz_mR(U1,V1,A1);
  rToeplitz_mR(U2,V2,A2);
  
  clrscrn();
  printf(" A1 : \n");
  p_mR(A1,S4,P0,C10);

  printf(" A2 : \n");
  p_mR(A2,S4,P0,C10);
  stop();
  
  clrscrn();
  printf(" A1A2 : ");
  p_mR(mul_mR(A1,A2,A1A2),S8,P0,C6);
  printf(" A2A1 : ");
  p_mR(mul_mR(A2,A1,A1A2),S8,P0,C6);
  stop();
      
  f_mR(U2);
  f_mR(V2);  
  f_mR(U1);
  f_mR(V1);   
  f_mR(A1);
  f_mR(A2);
  f_mR(A1A2);  
    
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


En algèbre linéaire, une matrice circulante est une matrice carrée dans laquelle on passe d'une ligne à la suivante par permutation circulaire (décalage vers la droite) des coefficients. Une matrice circulante constitue un cas particulier de matrice de Toeplitz.


Ainsi la somme, le produit de matrices circulantes sont circulantes, et un tel produit est commutatif. Wikipedia


Exemple de sortie écran :

 A1 : 

  +1   +2   +3   +4   +5   +6 
  +6   +1   +2   +3   +4   +5 
  +5   +6   +1   +2   +3   +4 
  +4   +5   +6   +1   +2   +3 
  +3   +4   +5   +6   +1   +2 
  +2   +3   +4   +5   +6   +1 

 A2 : 

  +7   +5   +6   +8   +9   +4 
  +4   +7   +5   +6   +8   +9 
  +9   +4   +7   +5   +6   +8 
  +8   +9   +4   +7   +5   +6 
  +6   +8   +9   +4   +7   +5 
  +5   +6   +8   +9   +4   +7 

 Press return to continue. 


 A1A2 : 
    +134     +143     +146     +137     +122     +137 
    +137     +134     +143     +146     +137     +122 
    +122     +137     +134     +143     +146     +137 
    +137     +122     +137     +134     +143     +146 
    +146     +137     +122     +137     +134     +143 
    +143     +146     +137     +122     +137     +134 

 A2A1 : 
    +134     +143     +146     +137     +122     +137 
    +137     +134     +143     +146     +137     +122 
    +122     +137     +134     +143     +146     +137 
    +137     +122     +137     +134     +143     +146 
    +146     +137     +122     +137     +134     +143 
    +143     +146     +137     +122     +137     +134 

 Press return to continue.