Aller au contenu

Mathc matrices/00z

Un livre de Wikilivres.


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)   ); 

double **b  = r_mR(            i_mR(r,C3),9);

double **Ab = i_Abr_Ac_bc_mR(   r,   r,  C3);
/*            i_Abr_Ac_bc_mR(R_Ab, C_A, C_b);  */

  clrscrn();
  printf(" A :");
  p_mR(A,S4,P0,C8);
  
  printf(" b :");
  p_mR(b,S4,P0,C8);
  
  printf(" Ab :");
  c_A_b_Ab_mR(A,b,Ab);
  p_mR(Ab,S4,P0,C8);
  stop();

  clrscrn();
  printf(" Copy/Past into the octave window.\n\n");
  p_Octave_mR(Ab,"Ab",P0);
  printf("\n rref(Ab,.00000000001)\n\n");

  printf("  gj_TP_mR(Ab) :");
  gj_TP_mR(Ab);
  p_mR(Ab,S8,P3,C8);

  f_mR(Ab);
  
  f_mR(b);
  
  f_mR(U);
  f_mR(V); 
  f_mR(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
do
{
  fun(rp_I(RC4)+R1);


} while(stop_w());

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


Matrice de Toeplitz.

Exemple de sortie écran :

 A :
  +8   +3   +6   +9 
  -3   +8   +3   +6 
  +5   -3   +8   +3 
  -7   +5   -3   +8 

 b :
  +2   -6   -6 
  +2   +5   +2 
  -3   +5   -2 
  -3   +1   +3 

 Ab :
  +8   +3   +6   +9   +2   -6   -6 
  -3   +8   +3   +6   +2   +5   +2 
  +5   -3   +8   +3   -3   +5   -2 
  -7   +5   -3   +8   -3   +1   +3 

 Press return to continue. 


 Copy/Past into the octave window.

 Ab=[
+8,+3,+6,+9,+2,-6,-6;
-3,+8,+3,+6,+2,+5,+2;
+5,-3,+8,+3,-3,+5,-2;
-7,+5,-3,+8,-3,+1,+3]


 rref(Ab,.00000000001)

  gj_TP_mR(Ab) :
  +1.000   +0.000   +0.000   +0.000   +0.628   -1.417   -0.763 
  +0.000   +1.000   +0.000   +0.000   +0.945   -0.204   -0.012 
  +0.000   -0.000   +1.000   +0.000   -0.225   +1.582   +0.289 
  +0.000   +0.000   +0.000   +1.000   -0.501   -0.394   -0.177 


 Press   return to continue
 Press X return to stop