Matrice de Hankel

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  = rHankel_mR(U,V,i_mR(r,r)   ); 

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

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

  clrscrn();
  printf(" A :");
  p_mR(A,S4,P0,C6);
  
  printf(" b :");
  p_mR(b,S4,P0,C6);
  
  printf(" Ab :");
  c_A_b_Ab_mR(A,b,Ab);
  p_mR(Ab,S4,P0,C6);
  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_PP_mR(Ab) :");
  gj_PP_mR(Ab,YES);
  p_mR(Ab,S8,P3,C6);

  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 Hankel.

Exemple de sortie écran :

 A :
  +1   -7   +1   +2   -8 
  -7   +1   +2   -8   -7 
  +1   +2   -8   -7   +7 
  +2   -8   -7   +7   -3 
  -8   -7   +7   -3   -9 

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

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

 Press return to continue. 


 Copy/Past into the octave window.

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


 rref(Ab,.00000000001)

  gj_PP_mR(Ab) :
  +1.000   +0.000   +0.000   +0.000   +0.000   +1.188 
  +0.000   +1.000   +0.000   +0.000   +0.000   -1.903 
  +0.000   +0.000   +1.000   +0.000   +0.000   +1.352 
  +0.000   +0.000   +0.000   +1.000   +0.000   -1.130 
  +0.000   +0.000   +0.000   +0.000   +1.000   +1.075 


 Press   return to continue
 Press X return to stop