Trailing-Edge
-
PDP-10 Archives
-
decuslib20-02
-
decus/20-0026/mata.ssp
There are 2 other files named mata.ssp in the archive. Click here to see a list.
C MATA 10
C ..................................................................MATA 20
C MATA 30
C SUBROUTINE MATA MATA 40
C MATA 50
C PURPOSE MATA 60
C PREMULTIPLY A MATRIX BY ITS TRANSPOSE TO FORM A MATA 70
C SYMMETRIC MATRIX MATA 80
C MATA 90
C USAGE MATA 100
C CALL MATA(A,R,N,M,MS) MATA 110
C MATA 120
C DESCRIPTION OF PARAMETERS MATA 130
C A - NAME OF INPUT MATRIX MATA 140
C R - NAME OF OUTPUT MATRIX MATA 150
C N - NUMBER OF ROWS IN A MATA 160
C M - NUMBER OF COLUMNS IN A. ALSO NUMBER OF ROWS AND MATA 170
C NUMBER OF COLUMNS OF R. MATA 180
C MS - ONE DIGIT NUMBER FOR STORAGE MODE OF MATRIX A MATA 190
C 0 - GENERAL MATA 200
C 1 - SYMMETRIC MATA 210
C 2 - DIAGONAL MATA 220
C MATA 230
C REMARKS MATA 240
C MATRIX R CANNOT BE IN THE SAME LOCATION AS MATRIX A MATA 250
C MATRIX R IS ALWAYS A SYMMETRIC MATRIX WITH A STORAGE MODE=1 MATA 260
C MATA 270
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED MATA 280
C LOC MATA 290
C MATA 300
C METHOD MATA 310
C CALCULATION OF (A TRANSPOSE A) RESULTS IN A SYMMETRIC MATRIXMATA 320
C REGARDLESS OF THE STORAGE MODE OF THE INPUT MATRIX. THE MATA 330
C ELEMENTS OF MATRIX A ARE NOT CHANGED. MATA 340
C MATA 350
C ..................................................................MATA 360
C MATA 370
SUBROUTINE MATA(A,R,N,M,MS) MATA 380
DIMENSION A(1),R(1) MATA 390
C MATA 400
DO 60 K=1,M MATA 410
KX=(K*K-K)/2 MATA 420
DO 60 J=1,M MATA 430
IF(J-K) 10,10,60 MATA 440
10 IR=J+KX MATA 450
R(IR)=0 MATA 460
DO 60 I=1,N MATA 470
IF(MS) 20,40,20 MATA 480
20 CALL LOC(I,J,IA,N,M,MS) MATA 490
CALL LOC(I,K,IB,N,M,MS) MATA 500
IF(IA) 30,60,30 MATA 510
30 IF(IB) 50,60,50 MATA 520
40 IA=N*(J-1)+I MATA 530
IB=N*(K-1)+I MATA 540
50 R(IR)=R(IR)+A(IA)*A(IB) MATA 550
60 CONTINUE MATA 560
RETURN MATA 570
END MATA 580