Linear Algebra and the C Language/a0jd


Install and compile this file in your working directory.

/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
double  **X_c_Uc_r_mR(
double **U,
int     Uc,
double **A,
int     rA
)
{
int c;

    for(c=C1; Uc<U[C_SIZE][C0]-C1; c++,Uc++)

            A[rA][c] = U[R1][Uc];
return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
double **U   = r_mR(i_mR(R1, RC5),99);	
double **A   =      i_mR(RC4,RC4);

  clrscrn();
  printf(" U:");
  p_mR(U, S5,P0,C6);
     
  c_Uc_r_mR(U,C1,A,R1);
  c_Uc_r_mR(U,C2,A,R2);
  c_Uc_r_mR(U,C3,A,R3);
  c_Uc_r_mR(U,C4,A,R4);  
      
  printf(" A:");
  p_mR(A, S5,P0,C6);  
 

  f_mR(U);
  f_mR(A); 

  stop();

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Copy vector U into A as a Hankel matrix.

Screen output example:

                                                                                       
 U:
  +29   -73   -24   +56   -70 

 A:
  +29   -73   -24   +56 
  -73   -24   +56    +0 
  -24   +56    +0    +0 
  +56    +0    +0    +0 

 Press return to continue.