home *** CD-ROM | disk | FTP | other *** search
- PROGRAM d14r5(input,output);
- (* driver for routine SVDVAR *)
- CONST
- np=6;
- ma=3;
- ncvm=ma;
- TYPE
- glnpbynp = ARRAY [1..np,1..np] OF real;
- glnparray = ARRAY [1..np] OF real;
- glcvm = ARRAY [1..ncvm,1..ncvm] OF real;
- mabyma = ARRAY [1..ma,1..ma] OF real;
- VAR
- i,j : integer;
- v : glnpbynp;
- w : glnparray;
- cvm : glcvm;
- tru : mabyma;
-
- (*$I MODFILE.PAS *)
- (*$I SVDVAR.PAS *)
-
- BEGIN
- w[1] := 0.0; w[2] := 1.0; w[3] := 2.0;
- w[4] := 3.0; w[5] := 4.0; w[6] := 5.0;
- v[1,1] := 1.0; v[1,2] := 1.0; v[1,3] := 1.0;
- v[1,4] := 1.0; v[1,5] := 1.0; v[1,6] := 1.0;
- v[2,1] := 2.0; v[2,2] := 2.0; v[2,3] := 2.0;
- v[2,4] := 2.0; v[2,5] := 2.0; v[2,6] := 2.0;
- v[3,1] := 3.0; v[3,2] := 3.0; v[3,3] := 3.0;
- v[3,4] := 3.0; v[3,5] := 3.0; v[3,6] := 3.0;
- v[4,1] := 4.0; v[4,2] := 4.0; v[4,3] := 4.0;
- v[4,4] := 4.0; v[4,5] := 4.0; v[4,6] := 4.0;
- v[5,1] := 5.0; v[5,2] := 5.0; v[5,3] := 5.0;
- v[5,4] := 5.0; v[5,5] := 5.0; v[5,6] := 5.0;
- v[6,1] := 6.0; v[6,2] := 6.0; v[6,3] := 6.0;
- v[6,4] := 6.0; v[6,5] := 6.0; v[6,6] := 6.0;
- tru[1,1] := 1.25; tru[1,2] := 2.5; tru[1,3] := 3.75;
- tru[2,1] := 2.5; tru[2,2] := 5.0; tru[2,3] := 7.5;
- tru[3,1] := 3.75; tru[3,2] := 7.5; tru[3,3] := 11.25;
- writeln;
- writeln('matrix v');
- FOR i := 1 to np DO BEGIN
- FOR j := 1 to np DO write(v[i,j]:12:6);
- writeln
- END;
- writeln;
- writeln('vector w');
- FOR i := 1 to np DO write(w[i]:12:6);
- writeln;
- svdvar(v,ma,np,w,cvm,ncvm);
- writeln;
- writeln('covariance matrix from svdvar');
- FOR i := 1 to ma DO BEGIN
- FOR j := 1 to ma DO write(cvm[i,j]:12:6);
- writeln
- END;
- writeln;
- writeln('expected covariance matrix');
- FOR i := 1 to ma DO BEGIN
- FOR j := 1 to ma DO write(tru[i,j]:12:6);
- writeln
- END
- END.
-