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.