File: MACHK1.FT of Tape: Various/ETH/eth11-1
(Source file text) 

C	RT-11 FORTRAN SCIENTIFIC SUBROUTINE PACKAGE
C	DEC-11-XXXXX-A-LA
C
C
C
C
C
C
C
C
C
C
C	COPYRIGHT (C) 1974 BY DIGITAL EQUIPMENT CORPORATION
C	MAYNARD, MASSACHUSETTS  01754
C
C
C
C
C
C
C
C
C
C	THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE
C	WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT
C	BY DIGITAL EQUIPMENT CORPORATION.  DIGITAL EQUIPMENT
C	CORPORATION ASSUMES NO RESPONSIBILITY FOR ANY ERRORS
C	THAT MAY APPEAR IN THIS DOCUMENT.
C
C	THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO
C	THE PURCHASER UNDER A LICENSE FOR USE ON A SINGLE COMPUTER
C	SYSTEM AND CAN BE COPIED (WITH INCLUSION OF DIGITAL'S
C	COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT AS
C	MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
C
C	DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
C	FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT
C	THAT IS NOT SUPPLIED BY DIGITAL.
C
C
C
C
C
C
C
C
C
C
C
C
C	R. SHIELDS	OCTOBER 1974
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C	MACHK1.FTN - SAMPLE TO CHECK THE FOLLOWING MATRIX ROUTINES:
C  GMADD	- GENERAL MATRIX ADDITION
C  GMSUB	- GENERAL MATRIX SUBTRACTION
C  GMTRA	- GENERAL MATRIX TRANSPOSE
C  GMPRD	- GENERAL MATRIX MULTIPLICATION
C  GTPRD	- TRANSPOSE OF A MATRIX TIMES ANOTHER MATRIX
C  ARRAY	- ARRAY CONVERSION ROUTINE (BETWEEN MODES)
C  MADD		- MATRIX ADDITION
C
	DIMENSION A(3,3),B(4,4),C(3,3),D(3,3)
	DATA B/1.,2.,-1.7,0.,3.,2.6,1.9,1.,4.7,-2.,3.4,5*0./
	DATA C/1.2,3.4,-2.9,6.4,2*0.,-1.,0.,2.5/
C	OUTPUT CHANNEL = IOUT
	IOUT=2
C
	WRITE(IOUT,100) ((B(I,J),J=1,4),I=1,4)
100	FORMAT(/' ORIGINAL 4X4 MATRIX:'//(4F8.2))
	CALL ARRAY(2,3,3,4,4,A,B)
	WRITE(IOUT,101) ((A(I,J),J=1,3),I=1,3)
101	FORMAT(//' TOP 3X3 CORNER EXTRACTED BY ARRAY:'//(3F8.2))
	WRITE(IOUT,102)  ((C(I,J),J=1,3),I=1,3)
102	FORMAT(//' ADD TO IT THE FOLLOWING ARRAY:'//(3F8.2))
	CALL GMADD(A,C,D,3,3)
	WRITE(IOUT,103) ((D(I,J),J=1,3),I=1,3)
103	FORMAT(//' SUM OF TWO ARRAYS USING GMADD IS:'//(3F8.2))
	CALL MADD(A,C,D,3,3,0,0)
	WRITE(IOUT,203) ((D(I,J),J=1,3),I=1,3)
203	FORMAT(//' SUM OF TWO ARRAYS USING MADD IS:'//(3F8.2))
	CALL GMSUB(D,C,A,3,3)
	WRITE(IOUT,104) ((A(I,J),J=1,3),I=1,3)
104	FORMAT(//' SUBTRACTING SECOND ARRAY OUT BY GMSUB:'//(3F8.2))
	CALL GMTRA(A,D,3,3)
	WRITE(IOUT,105)  ((D(I,J),J=1,3),I=1,3)
105	FORMAT(//' TRANSPOSE MATRIX VIA GMTRA IS:'//(3F8.2))
	CALL GMPRD(D,D,C,3,3,3)
	WRITE(IOUT,106)  ((C(I,J),J=1,3),I=1,3)
106	FORMAT(//' THE TRANSPOSE SQUARED VIA GMPRD IS:'//(3F10.4))
	CALL GTPRD(A,D,C,3,3,3)
	WRITE(IOUT,107)  ((C(I,J),J=1,3),I=1,3)
107	FORMAT(//' WHICH SHOULD ALSO BE (VIA GTPRD):'//(3F10.4))
	STOP
	END