File: PMPY.FT of Tape: Various/ETH/eth11-1
(Source file text)
C .................................................................. C C SUBROUTINE PMPY C C PURPOSE C MULTIPLY TWO POLYNOMIALS C C USAGE C CALL PMPY(Z,IDIMZ,X,IDIMX,Y,IDIMY) C C DESCRIPTION OF PARAMETERS C Z - VECTOR OF RESULTANT COEFFICIENTS, ORDERED FROM C SMALLEST TO LARGEST POWER C IDIMZ - DIMENSION OF Z (CALCULATED) C X - VECTOR OF COEFFICIENTS FOR FIRST POLYNOMIAL, ORDERED C FROM SMALLEST TO LARGEST POWER C IDIMX - DIMENSION OF X (DEGREE IS IDIMX-1) C Y - VECTOR OF COEFFICIENTS FOR SECOND POLYNOMIAL, C ORDERED FROM SMALLEST TO LARGEST POWER C IDIMY - DIMENSION OF Y (DEGREE IS IDIMY-1) C C REMARKS C Z CANNOT BE IN THE SAME LOCATION AS X C Z CANNOT BE IN THE SAME LOCATION AS Y C C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED C NONE C C METHOD C DIMENSION OF Z IS CALCULATED AS IDIMX+IDIMY-1 C THE COEFFICIENTS OF Z ARE CALCULATED AS SUM OF PRODUCTS C OF COEFFICIENTS OF X AND Y , WHOSE EXPONENTS ADD UP TO THE C CORRESPONDING EXPONENT OF Z. C C .................................................................. C SUBROUTINE PMPY(Z,IDIMZ,X,IDIMX,Y,IDIMY) DIMENSION Z(1),X(1),Y(1) C IF(IDIMX*IDIMY)10,10,20 10 IDIMZ=0 GO TO 50 20 IDIMZ=IDIMX+IDIMY-1 DO 30 I=1,IDIMZ 30 Z(I)=0. DO 40 I=1,IDIMX DO 40 J=1,IDIMY K=I+J-1 40 Z(K)=X(I)*Y(J)+Z(K) 50 RETURN END C