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

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE CTIE
  5. C
  6. C        PURPOSE
  7. C           ADJOIN TWO MATRICES WITH SAME ROW DIMENSION TO FORM ONE
  8. C           RESULTANT MATRIX (SEE METHOD)
  9. C
  10. C        USAGE
  11. C           CALL CTIE(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,B,R
  18. C           M - NUMBER OF COLUMNS IN A
  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 COLUMNS 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 ROWS 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 RIGHT OF MATRIX A .
  36. C           THE RESULTANT MATRIX R CONTAINS N ROWS AND M+L COLUMNS
  37. C
  38. C     ..................................................................
  39. C
  40.       SUBROUTINE CTIE(A,B,R,N,M,MSA,MSB,L)
  41.       DIMENSION A(1),B(1),R(1)
  42. C
  43.       MM=M
  44.       IR=0
  45.       MSX=MSA
  46.       DO 6 JJ=1,2
  47.       DO 5 J=1,MM
  48.       DO 5 I=1,N
  49.       IR=IR+1
  50.       R(IR)=0.0
  51. C
  52. C        LOCATE ELEMENT FOR ANY MATRIX STORAGE MODE
  53. C
  54.       CALL LOC(I,J,IJ,N,MM,MSX)
  55. C
  56. C        TEST FOR ZERO ELEMENT IN DIAGONAL MATRIX
  57. C
  58.       IF(IJ) 2,5,2
  59. C
  60. C        MOVE ELEMENT TO MATRIX R
  61. C
  62.     2 GO TO(3,4),JJ
  63.     3 R(IR)=A(IJ)
  64.       GO TO 5
  65.     4 R(IR)=B(IJ)
  66.     5 CONTINUE
  67. C
  68. C        REPEAT ABOVE FOR MATRIX B
  69. C
  70.       MSX=MSB
  71.       MM=L
  72.     6 CONTINUE
  73.       RETURN
  74.       END
  75.