home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_200 / 228_01 / chkmat.c < prev    next >
Text File  |  1987-07-31  |  2KB  |  77 lines

  1. /*
  2. HEADER:         CUGXXX;
  3. TITLE:          Matrix mathematics checker;
  4. DATE:           3-20-86;
  5. DESCRIPTION:    Checks matrix functions;
  6. KEYWORDS:       Matrix, mathematics;
  7. FILENAME:       CHKMAT.C;
  8. WARNINGS:       Undocumented;
  9. AUTHORS:        Unknown;
  10. COMPILER:       Lattice C;
  11. REFERENCES:     US-DISK 1308;
  12. ENDREF
  13. */
  14. #include "stdio.h"
  15. #define CDIMA 5
  16. #define CDIMB 5
  17. main()
  18. {
  19.     float a[CDIMA][CDIMA],b[CDIMA][CDIMB];
  20.     int row,col,n,m;
  21.     int intr1[CDIMA];
  22.     double det;
  23.     int i;
  24.  
  25.     printf("input n and m ");
  26.     scanf("%d %d",&n,&m);
  27.     for (row = 1 ; row <= n ; row++)
  28.     {
  29.         for (col = 1 ; col <= n ; col++)
  30.         {
  31.         printf("read in row %2d and column %2d of A ",row,col);
  32.         scanf("%f",&a[row-1][col-1]);
  33.         }
  34.     }
  35.     for (row = 1 ; row <= n ; row++)
  36.     {
  37.         for (col = 1 ; col <= m ; col++)
  38.         {
  39.         printf("read in row %2d and column %2d of B ",row,col);
  40.         scanf("%f",&b[row-1][col-1]);
  41.         }
  42.     }
  43.     printf("a is:\n");
  44.     for (row = 1 ; row <= n ; row++)
  45.     {
  46.         for (col = 1 ; col <= n ; col++)
  47.         printf("%10.4f",a[row-1][col-1]);
  48.         printf("\n");
  49.     }
  50.     printf("b is:\n");
  51.     for (row = 1 ; row <= n ; row++)
  52.     {
  53.         for (col = 1 ; col <= m ; col++)
  54.         printf("%10.4f",b[row-1][col-1]);
  55.         printf("\n");
  56.     }
  57.  
  58.     i = mdecomp(a,n,intr1,CDIMA,&det);
  59.     printf("det is %e, mdecomp is %d\n",det,i);
  60.     printf("a is:\n");
  61.     for (row = 1 ; row <= n ; row++)
  62.     {
  63.         for (col = 1 ; col <= n ; col++)
  64.         printf("%10.4f",a[row-1][col-1]);
  65.         printf("\n");
  66.     }
  67.     i = mback(b,m,CDIMB,intr1,a,n,CDIMA);
  68.     printf("mback is %d\n",i);
  69.     printf("b is:\n");
  70.     for (row = 1 ; row <= n ; row++)
  71.     {
  72.         for (col = 1 ; col <= m ; col++)
  73.         printf("%10.4f",b[row-1][col-1]);
  74.         printf("\n");
  75.     }
  76. }
  77.