home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 December / simtel1292_SIMTEL_1292_Walnut_Creek.iso / msdos / turbopas / pas_sci.arc / SQUARE.LIB < prev    next >
Text File  |  1985-07-21  |  640b  |  33 lines

  1.  
  2. procedure square(x: ary2;
  3.          y: ary;
  4.          var a: ary2s;
  5.          var g: arys;
  6.      nrow,ncol: integer);
  7.  
  8. { matrix multiplication routine }
  9. { a= transpose x times x }
  10. { g= y times x }
  11.  
  12. var
  13.  i,k,l    : integer;
  14.  
  15. begin        { square }
  16.   for k:=1 to ncol do
  17.     begin
  18.     for l:=1 to k do
  19.       begin
  20.         a[k,l]:=0.0;
  21.         for i:=1 to nrow do
  22.         begin
  23.           a[k,l]:=a[k,l]+x[i,l]*x[i,k];
  24.           if k<>l then a[l,k]:=a[k,l]
  25.         end
  26.      end;        { l-loop }
  27.      g[k]:=0.0;
  28.      for i:=1 to nrow do
  29.      g[k]:=g[k]+y[i]*x[i,k]
  30.   end    { k-loop }
  31. end;    { square }
  32.  
  33.