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

  1.  
  2. //#define WANT_STREAM
  3.  
  4. #include "include.h"
  5.  
  6. #include "newmat.h"
  7.  
  8.  
  9. /**************************** test program ******************************/
  10.  
  11. void Print(const Matrix& X);
  12. void Print(const UpperTriangularMatrix& X);
  13. void Print(const DiagonalMatrix& X);
  14. void Print(const SymmetricMatrix& X);
  15. void Print(const LowerTriangularMatrix& X);
  16.  
  17. void trymat6()
  18. {
  19. //   cout << "\nSixth test of Matrix package\n";
  20.    Tracer et("Sixth test of Matrix package");
  21.    Exception::PrintTrace(TRUE);
  22.  
  23.    int i,j;
  24.  
  25.  
  26.    DiagonalMatrix D(6);
  27.    UpperTriangularMatrix U(6);
  28.    for (i=1;i<=6;i++) { for (j=i;j<=6;j++) U(i,j)=i*i*i-50; D(i,i)=i*i+i-10; }
  29.    LowerTriangularMatrix L=(U*3.0).t();
  30.    SymmetricMatrix S(6);
  31.    for (i=1;i<=6;i++) for (j=i;j<=6;j++) S(i,j)=i*i+2.0+j;
  32.    Matrix MD=D; Matrix ML=L; Matrix MU=U; Matrix MS=S;
  33.    Matrix M(6,6);
  34.    for (i=1;i<=6;i++) for (j=1;j<=6;j++) M(i,j)=i*j+i*i-10.0;  
  35.    {
  36.       Tracer et1("Stage 1");
  37.       Print(Matrix(MS+(-MS)));
  38.       Print(Matrix((S+M)-(MS+M)));
  39.       Print(Matrix((M+U)-(M+MU)));
  40.       Print(Matrix((M+L)-(M+ML)));
  41.    }
  42.    {
  43.       Tracer et1("Stage 2");
  44.       Print(Matrix((M+D)-(M+MD)));
  45.       Print(Matrix((U+D)-(MU+MD)));
  46.       Print(Matrix((D+L)-(ML+MD)));
  47.       Print(Matrix((-U+D)+MU-MD));
  48.       Print(Matrix((-L+D)+ML-MD));
  49.    }
  50.  
  51.  
  52.  
  53. //   cout << "\nEnd of sixth test\n";
  54. }
  55.  
  56.