Matrices de Toeplitz

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

c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **U   =         r_mR(    i_mR(R1,r),9);
double **V   =         r_mR(    i_mR(r,C1),9);	
double **A   = rToeplitz_mR(U,V,i_mR(r,r)   );

            /* Orthogonalize :    Normalize : YES;  Normalize  : NO; */
double **Orth   =       orth_mR(A,   i_mR(r,r),YES);
double **Orth_T =  transpose_mR(Orth,i_mR(r,r));    

  clrscrn();
  printf(" A :");
  p_mR(A, S8,P4, C6); 
  stop();
  
  clrscrn();
  printf(" Orth :");
  p_mR(Orth, S8,P4, C6);  
  
  printf(" Orth_T :");
  p_mR(Orth_T, S8,P4, C6); 
  
  printf(" Orth_T * Orth  :");
  mul_mR(Orth_T,Orth, A);
  p_mR(A, S10,P4, C6);  
    
  f_mR(U);
  f_mR(V);
  f_mR(A);
  f_mR(Orth);
  f_mR(Orth_T);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

do
{
  fun(rp_I(R3)+R2);
} while(stop_w());

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


Matrice de Toeplitz.

Exemple de sortie écran :

 A :
 +2.0000  +7.0000  -2.0000  -5.0000  -3.0000 
 -8.0000  +2.0000  +7.0000  -2.0000  -5.0000 
 +6.0000  -8.0000  +2.0000  +7.0000  -2.0000 
 +4.0000  +6.0000  -8.0000  +2.0000  +7.0000 
 +1.0000  +4.0000  +6.0000  -8.0000  +2.0000 

 Press return to continue. 


 Orth :
 +0.1818  +0.5733  +0.1656  -0.0095  -0.7815 
 -0.7273  +0.0425  +0.2351  +0.6362  -0.0960 
 +0.5455  -0.5379  +0.3531  +0.4989  -0.1989 
 +0.3636  +0.5237  -0.3472  +0.5676  +0.3883 
 +0.0909  +0.3256  +0.8198  -0.1550  +0.4355 

 Orth_T :
 +0.1818  -0.7273  +0.5455  +0.3636  +0.0909 
 +0.5733  +0.0425  -0.5379  +0.5237  +0.3256 
 +0.1656  +0.2351  +0.3531  -0.3472  +0.8198 
 -0.0095  +0.6362  +0.4989  +0.5676  -0.1550 
 -0.7815  -0.0960  -0.1989  +0.3883  +0.4355 

 Orth_T * Orth  :
   +1.0000    +0.0000    -0.0000    -0.0000    -0.0000 
   +0.0000    +1.0000    -0.0000    +0.0000    +0.0000 
   -0.0000    -0.0000    +1.0000    +0.0000    +0.0000 
   -0.0000    +0.0000    +0.0000    +1.0000    +0.0000 
   -0.0000    +0.0000    +0.0000    +0.0000    +1.0000 


 Press   return to continue
 Press X return to stop