53 lines
772 B
Text
53 lines
772 B
Text
PROGRAM MAT_PROD
|
|
|
|
!$MATRIX
|
|
|
|
!-----------------
|
|
! calculate A[]^N
|
|
!-----------------
|
|
|
|
CONST ORDER=1
|
|
|
|
DIM A[1,1],B[1,1],ANS[1,1]
|
|
|
|
BEGIN
|
|
|
|
DATA(3,2,2,1)
|
|
DATA(10) ! integer power only
|
|
|
|
FOR I=0 TO ORDER DO
|
|
FOR J=0 TO ORDER DO
|
|
READ(A[I,J])
|
|
END FOR
|
|
END FOR
|
|
|
|
READ(M) N=M-1
|
|
|
|
IF N=0 THEN ! A[]^0=matrice identit…
|
|
for I=0 TO ORDER DO
|
|
B[I,I]=1
|
|
END FOR
|
|
ELSE
|
|
B[]=A[]
|
|
FOR Z=1 TO N DO
|
|
ANS[]=0
|
|
FOR I=0 TO ORDER DO
|
|
FOR J=0 TO ORDER DO
|
|
FOR K=0 TO ORDER DO
|
|
ANS[I,J]=ANS[I,J]+(A[I,K]*B[K,J])
|
|
END FOR
|
|
END FOR
|
|
END FOR
|
|
B[]=ANS[]
|
|
END FOR
|
|
END IF
|
|
|
|
! print answer
|
|
FOR I=0 TO ORDER DO
|
|
FOR J=0 TO ORDER DO
|
|
PRINT(B[I,J],)
|
|
END FOR
|
|
PRINT
|
|
END FOR
|
|
|
|
END PROGRAM
|