home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / n / newmat06.zip / TMT8.CXX < prev    next >
C/C++ Source or Header  |  1992-11-26  |  1KB  |  64 lines

  1.  
  2. //#define WANT_STREAM
  3.  
  4.  
  5. #include "include.h"
  6.  
  7. #include "newmat.h"
  8.  
  9.  
  10. /**************************** test program ******************************/
  11.  
  12. void Print(const Matrix& X);
  13. void Print(const UpperTriangularMatrix& X);
  14. void Print(const DiagonalMatrix& X);
  15. void Print(const SymmetricMatrix& X);
  16. void Print(const LowerTriangularMatrix& X);
  17.  
  18. void trymat8()
  19. {
  20. //   cout << "\nEighth test of Matrix package\n";
  21.    Tracer et("Eighth test of Matrix package");
  22.    Exception::PrintTrace(TRUE);
  23.  
  24.    int i;
  25.  
  26.  
  27.    DiagonalMatrix D(6);
  28.    for (i=1;i<=6;i++)  D(i,i)=i*i+i-10;
  29.    DiagonalMatrix D2=D;
  30.    Matrix MD=D;
  31.  
  32.    DiagonalMatrix D1(6); for (i=1;i<=6;i++) D1(i,i)=-100+i*i*i;
  33.    Matrix MD1=D1;
  34.    Print(Matrix(D*D1-MD*MD1));
  35.    Print(Matrix((-D)*D1+MD*MD1));
  36.    Print(Matrix(D*(-D1)+MD*MD1));
  37.    DiagonalMatrix DX=D;
  38.    {
  39.       Tracer et1("Stage 1");
  40.       DX=(DX+D1)*DX; Print(Matrix(DX-(MD+MD1)*MD));
  41.       DX=D;
  42.       DX=-DX*DX+(DX-(-D1))*((-D1)+DX);
  43. #ifdef GXX
  44.       Matrix MX = Matrix(MD1);
  45.       MD1=DX+(MX.t())*(MX.t()); Print(MD1);
  46. #else
  47.       MD1=DX+(Matrix(MD1).t())*(Matrix(MD1).t()); Print(MD1);
  48. #endif
  49.       DX=D; DX=DX; DX=D2-DX; Print(DiagonalMatrix(DX));
  50.       DX=D;
  51.    }
  52.    {
  53.       Tracer et1("Stage 2");
  54.       D.Release(2);
  55.       D1=D; D2=D;
  56.       Print(DiagonalMatrix(D1-DX));
  57.       Print(DiagonalMatrix(D2-DX));
  58.       MD1=1.0;
  59.       Print(Matrix(MD1-1.0));
  60.    }
  61.  
  62. //   cout << "\nEnd of eighth test\n";
  63. }
  64.