home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / fortran / library / ssp / matops / rtie.for < prev    next >
Text File  |  1985-11-29  |  2KB  |  80 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE RTIE
  5. C
  6. C        PURPOSE
  7. C           ADJOIN TWO MATRICES WITH SAME COLUMN DIMENSION TO FORM ONE
  8. C           RESULTANT MATRIX (SEE METHOD)
  9. C
  10. C        USAGE
  11. C           CALL RTIE(A,B,R,N,M,MSA,MSB,L)
  12. C
  13. C        DESCRIPTION OF PARAMETERS
  14. C           A - NAME OF FIRST INPUT MATRIX
  15. C           B - NAME OF SECOND INPUT MATRIX
  16. C           R - NAME OF OUTPUT MATRIX
  17. C           N - NUMBER OF ROWS IN A
  18. C           M - NUMBER OF COLUMNS IN A,B,R
  19. C           MSA - ONE DIGIT NUMBER FOR STORAGE MODE OF MATRIX A
  20. C                  0 - GENERAL
  21. C                  1 - SYMMETRIC
  22. C                  2 - DIAGONAL
  23. C           MSB - SAME AS MSA EXCEPT FOR MATRIX B
  24. C           L - NUMBER OF ROWS IN B
  25. C
  26. C        REMARKS
  27. C           MATRIX R CANNOT BE IN THE SAME LOCATION AS MATRICES A OR B
  28. C           MATRIX R IS ALWAYS A GENERAL MATRIX
  29. C           MATRIX A MUST HAVE THE SAME NUMBER OF COLUMNS AS MATRIX B
  30. C
  31. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  32. C           LOC
  33. C
  34. C        METHOD
  35. C           MATRIX B IS ATTACHED TO THE BOTTOM OF MATRIX A .
  36. C           THE RESULTANT MATRIX R CONTAINS N+L ROWS AND M COLUMNS.
  37. C
  38. C     ..................................................................
  39. C
  40.       SUBROUTINE RTIE(A,B,R,N,M,MSA,MSB,L)
  41.       DIMENSION A(1),B(1),R(1)
  42. C
  43.       NN=N
  44.       IR=0
  45.       NX=NN
  46.       MSX=MSA
  47.       DO 9 J=1,M
  48.       DO 8 II=1,2
  49.       DO 7 I=1,NN
  50.       IR=IR+1
  51.       R(IR)=0.0
  52. C
  53. C        LOCATE ELEMENT FOR ANY MATRIX STORAGE MODE
  54. C
  55.       CALL LOC(I,J,IJ,NN,M,MSX)
  56. C
  57. C        TEST FOR ZERO ELEMENT IN DIAGONAL MATRIX
  58. C
  59.       IF(IJ) 2,7,2
  60. C
  61. C        MOVE ELEMENT TO MATRIX R
  62. C
  63.     2 GO TO(3,4),II
  64.     3 R(IR)=A(IJ)
  65.       GO TO 7
  66.     4 R(IR)=B(IJ)
  67.     7 CONTINUE
  68. C
  69. C        REPEAT ABOVE FOR MATRIX B
  70. C
  71.       MSX=MSB
  72.     8 NN=L
  73. C
  74. C        RESET FOR NEXT COLUMN
  75. C
  76.       MSX=MSA
  77.     9 NN=NX
  78.       RETURN
  79.       END
  80.