home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 31 / CDASC_31_1996_juillet_aout.iso / vrac / tsmatr12.zip / TSMATR.INF < prev    next >
Text File  |  1996-03-15  |  5KB  |  143 lines

  1.                                   - 1 -
  2. Fri 15-March-1996
  3.  
  4. About TSMATR in General                         All rights reserved
  5. =======================
  6.  
  7. This package may be used and distributed freely for  NON-COMMERCIAL,
  8. NON-INSTITUTIONAL,  PRIVATE  purposes, provided it is not changed in
  9. any way. (Repacking with another method  is  ok,  though.)  For  ANY
  10. other  usage,  such as use in a business enterprise or a university,
  11. contact the author for registration. Uploading to bulletin boards is
  12. encouraged.  Please  do  not  distribute  any  part  of this package
  13. separately.
  14.  
  15. The programs are under development. If you have any comments or  bug
  16. reports,   please  do  not  hesitate  to  use  electronic  mail  for
  17. communication.
  18.  
  19. The author shall not be liable to the user for any direct,  indirect
  20. or  consequential loss arising from the use of, or inability to use,
  21. any program or file howsoever caused. No warranty is given that  the
  22. programs will work under all circumstances.
  23.  
  24. Timo Salmi (email: ts@uwasa.fi WWW: http://uwasa.fi/~ts/)
  25. Professor of Accounting and Business Finance
  26. Faculty of Accounting & Industrial Management
  27. University of Vaasa
  28. P.O. BOX 700, FIN-65101 Vaasa, Finland
  29.  
  30.  
  31. SUMMARY:
  32.  
  33. TSMATR12        Matrix calculations by T.Salmi
  34. Filename        Comment
  35. --------        --------------------------------
  36. FILE_ID.DIZ     Brief characterization of tsmatr
  37. LINEQ.EXE       Simultaneous linear equations
  38. MATINV.EXE      Inverse of a square matrix
  39. MATMUL.EXE      Multiplication of two matrixes
  40. TSMATR.INF      Document and a readme
  41. TSMATR.NWS      News concerning this package
  42. TSPROG.INF      List of programs from Timo Salmi
  43. VAASA.INF       Info: Finland, Vaasa, U of Vaasa
  44. ----            ------             ------  -----
  45. 0008
  46.  
  47.  
  48.                            - 2 -
  49.  
  50.  
  51. LINEQ (Ver 1.1)  Simultaneous linear equations
  52. ===============
  53.  
  54. Solves simultaneous equations. The maximum capacity of the program
  55. is 30 * 30. You give your problem directly as equations from file or
  56. keyboard. The program will ask for your choices of the options
  57. available.
  58.  
  59. An example of acceptable input to LINEQ:
  60.   !Exclamation marks can be used for comments
  61.    X + 2Y +  Z = 13     !The first equation
  62.              Z =  5
  63.   -X +  Y +  Z =  8
  64.   END                   !To denote the end
  65.  
  66. The program has a built-in help system, which can be invoked by ? at
  67. each interactive question. Use this help for more instructions.
  68.  
  69. The method for solving the simultaneous linear equations is Gaussian
  70. elimination as presented in Turbo Pascal Version 4.0 Numerical
  71. Toolbox. I measure the reliability of the solution x of the
  72. simultaneous equations Ax = b is as follows. The elements of b-Ax
  73. are calculated, and the sum of their absolute values is reported as
  74. the 'inaccuracy of the solution'.
  75.  
  76.  
  77. MATINV (Ver 1.1)  Inverse of a square matrix
  78. ================
  79.  
  80. Usage: MATINV [optional input file name] [optional output file name]
  81.    or: MATINV ?
  82.  
  83. This program calculates the inverse and the determinant of a square
  84. matrix.
  85.  
  86. The input can be taken from a file or the keyboard.
  87. An example of the input:
  88.  !Exclamation marks can be used for optional comments
  89.  100  20  !First row
  90.   80  10  !Second row
  91. A row can be continued by using an & or a * at the end. E.g.
  92.  100 &
  93.   20  !First row
  94. The dimension of the matrix is defined by the number of elements on
  95. the first row. When given from the keyboard, the input can be exited
  96. by entering END.
  97.  
  98. The results are checked by multiplying the inverse with the original
  99. matrix and comparing the result to an unity matrix. (Many, even
  100. professional, programs lack this essential test.)
  101.  
  102. The algorithm used for inverting the matrix, and calculating the
  103. determinant, are exactly the same as used in Turbo Pascal Version
  104. 4.0 Numerical Toolbox routines Inverse and Determinant. The former
  105. applies Gauss-Jordan elimination. The present MATINV program and the
  106. design of the user interface are, however, due to yours truly. As to
  107. the algorithm for calculating the inverse matrix, it is not
  108. satisfactory, which is somewhat surprising considering the source.
  109. Inverting matrixes with elements of a very different scale, the
  110. results are doubtful. Therefore, the deviation from unity measure,
  111. which I have devised, is doubly important. The deviation measure is
  112. calculated as follows. Let A denote the original square matrix, B
  113. the inverse calculated by the program, I and identity matrix. First
  114. I calculate the matrix A*B-I, and then the sum of the absolute
  115. values of the elements of this matrix. This is what I call the
  116. deviation from unity. An example of a problematic case is given by
  117.  
  118. 100000000.00 2.00 3.00
  119.         1.00 2.01 3.00
  120.         0.01 0.02 0.03
  121.  
  122.  
  123. MATMUL (Ver 1.1a)  Multiplication of two matrixes
  124. =================
  125.  
  126. Usage: MATMUL [optional input file name] [optional output file name]
  127.    or: MATMUL ?
  128.  
  129. This program multiplies two matrixes.
  130.  
  131. The input can be taken from a file or the keyboard.
  132. An example of the input:
  133.    !Exclamation marks can be used for optional comments
  134.    100  20  !First row of the first matrix
  135.     80  10  !Second row of the first matrix
  136.    END
  137.     40  15  18    !First row of the second matrix
  138.     11  22 102    !Second row of the second matrix
  139.    END
  140. A row can be continued by using an & or a * at the end. E.g.
  141.    100 &
  142.     20  !First row
  143.