PROGRAM mymatmul ! c Manfred Ries IMPLICIT NONE INTEGER :: n, i, j REAL, ALLOCATABLE :: A(:,:), B(:,:) REAL, ALLOCATABLE :: C(:,:) n = 2 ALLOCATE ( A(n,n), B(n,n) ) ALLOCATE ( C(n,n) ) A = reshape( (/1,2,3,4/), (/2,2/) ) B = TRANSPOSE(A) C = MATMUL(A, B) WRITE(*,'(2F4.0)') ((C(i,j), j=1,n), i=1,n) END PROGRAM mymatmul |
IMPLICIT NONE
INTEGER :: n, i, j, k
REAL A(2,2), B(2,2)
REAL C(2,2), summe
n = 2
A(1,1) = 1
A(2,1) = 2
A(1,2) = 3
A(2,2) = 4
DO 100 i=1,n
DO 200 j=1,n
B(i,j) = A(j,i)
200 CONTINUE
100 CONTINUE
DO 300 i=1,n
DO 400 j=1,n
summe = 0.0
DO 500 k=1,n
summe = summe + A(i,k) * B(k,j)
500 CONTINUE
C(i,j) = summe
400 CONTINUE
300 CONTINUE
WRITE(*,10000) ((C(i,j), j=1,n), i=1,n)
10000 FORMAT(2F4.0)
END
|