Trailing-Edge
-
PDP-10 Archives
-
decuslib20-02
-
decus/20-0026/apch.ssp
There are 2 other files named apch.ssp in the archive. Click here to see a list.
C APCH 10
C ..................................................................APCH 20
C APCH 30
C SUBROUTINE APCH APCH 40
C APCH 50
C PURPOSE APCH 60
C SET UP NORMAL EQUATIONS OF LEAST SQUARES FIT IN TERMS OF APCH 70
C CHEBYSHEV POLYNOMIALS FOR A GIVEN DISCRETE FUNCTION APCH 80
C APCH 90
C USAGE APCH 100
C CALL APCH(DATI,N,IP,XD,X0,WORK,IER) APCH 110
C APCH 120
C DESCRIPTION OF PARAMETERS APCH 130
C DATI - VECTOR OF DIMENSION 3*N (OR DIMENSION 2*N+1) APCH 140
C CONTAINING THE GIVEN ARGUMENTS, FOLLOWED BY THE APCH 150
C FUNCTION VALUES AND N (RESPECTIVELY 1) WEIGHT APCH 160
C VALUES. THE CONTENT OF VECTOR DATI REMAINS APCH 170
C UNCHANGED. APCH 180
C N - NUMBER OF GIVEN POINTS APCH 190
C IP - DIMENSION OF LEAST SQUARES FIT, I.E. NUMBER OF APCH 200
C CHEBYSHEV POLYNOMIALS USED AS FUNDAMENTAL FUNCTIONS APCH 210
C IP SHOULD NOT EXCEED N APCH 220
C XD - RESULTANT MULTIPLICATIVE CONSTANT FOR LINEAR APCH 230
C TRANSFORMATION OF ARGUMENT RANGE APCH 240
C X0 - RESULTANT ADDITIVE CONSTANT FOR LINEAR APCH 250
C TRANSFORMATION OF ARGUMENT RANGE APCH 260
C WORK - WORKING STORAGE OF DIMENSION (IP+1)*(IP+2)/2 APCH 270
C ON RETURN WORK CONTAINS THE SYMMETRIC COEFFICIENT APCH 280
C MATRIX OF THE NORMAL EQUATIONS IN COMPRESSED FORM APCH 290
C FOLLOWED IMMEDIATELY BY RIGHT HAND SIDE APCH 300
C AND SQUARE SUM OF FUNCTION VALUES APCH 310
C IER - RESULTING ERROR PARAMETER APCH 320
C IER =-1 MEANS FORMAL ERRORS IN DIMENSION APCH 330
C IER = 0 MEANS NO ERRORS APCH 340
C IER = 1 MEANS COINCIDING ARGUMENTS APCH 350
C APCH 360
C REMARKS APCH 370
C NO WEIGHTS ARE USED IF THE VALUE OF DATI(2*N+1) IS APCH 380
C NOT POSITIVE. APCH 390
C EXECUTION OF SUBROUTINE APCH IS A PREPARATORY STEP FOR APCH 400
C CALCULATION OF LEAST SQUARES FITS IN CHEBYSHEV POLYNOMIALS APCH 410
C IT SHOULD BE FOLLOWED BY EXECUTION OF SUBROUTINE APFS APCH 420
C APCH 430
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED APCH 440
C NONE APCH 450
C APCH 460
C METHOD APCH 470
C THE LEAST SQUARE FIT IS DETERMINED USING CHEBYSHEV APCH 480
C POLYNOMIALS AS FUNDAMENTAL FUNCTION SYSTEM. APCH 490
C THE METHOD IS DISCUSSED IN THE ARTICLE APCH 500
C A.T.BERZTISS, LEAST SQUARES FITTING TO IRREGULARLY SPACED APCH 510
C DATA, SIAM REVIEW, VOL.6, ISS.3, 1964, PP. 203-227. APCH 520
C APCH 530
C ..................................................................APCH 540
C APCH 550
SUBROUTINE APCH(DATI,N,IP,XD,X0,WORK,IER) APCH 560
C APCH 570
C APCH 580
C DIMENSIONED DUMMY VARIABLES APCH 590
DIMENSION DATI(1),WORK(1) APCH 600
C APCH 610
C CHECK FOR FORMAL ERRORS IN SPECIFIED DIMENSIONS APCH 620
IF(N-1)19,20,1 APCH 630
1 IF(IP)19,19,2 APCH 640
C APCH 650
C SEARCH SMALLEST AND LARGEST ARGUMENT APCH 660
2 IF(IP-N)3,3,19 APCH 670
3 XA=DATI(1) APCH 680
X0=XA APCH 690
XE=0. APCH 700
DO 7 I=1,N APCH 710
XM=DATI(I) APCH 720
IF(XA-XM)5,5,4 APCH 730
4 XA=XM APCH 740
5 IF(X0-XM)6,7,7 APCH 750
6 X0=XM APCH 760
7 CONTINUE APCH 770
C APCH 780
C INITIALIZE CALCULATION OF NORMAL EQUATIONS APCH 790
XD=X0-XA APCH 800
M=(IP*(IP+1))/2 APCH 810
IEND=M+IP+1 APCH 820
MT2=IP+IP APCH 830
MT2M=MT2-1 APCH 840
C APCH 850
C SET WORKING STORAGE AND RIGHT HAND SIDE TO ZERO APCH 860
DO 8 I=1,IP APCH 870
J=MT2-I APCH 880
WORK(J)=0. APCH 890
WORK(I)=0. APCH 900
K=M+I APCH 910
8 WORK(K)=0. APCH 920
C APCH 930
C CHECK FOR DEGENERATE ARGUMENT RANGE APCH 940
IF(XD)20,20,9 APCH 950
C APCH 960
C CALCULATE CONSTANTS FOR REDUCTION OF ARGUMENTS APCH 970
9 X0=-(X0+XA)/XD APCH 980
XD=2./XD APCH 990
SUM=0. APCH1000
C APCH1010
C START GREAT LOOP OVER ALL GIVEN POINTS APCH1020
DO 15 I=1,N APCH1030
T=DATI(I)*XD+X0 APCH1040
J=I+N APCH1050
DF=DATI(J) APCH1060
C APCH1070
C CALCULATE AND STORE VALUES OF CHEBYSHEV POLYNOMIALS APCH1080
C FOR ARGUMENT T APCH1090
XA=1. APCH1100
XM=T APCH1110
IF(DATI(2*N+1))11,11,10 APCH1120
10 J=J+N APCH1130
XA=DATI(J) APCH1140
XM=T*XA APCH1150
11 T=T+T APCH1160
SUM=SUM+DF*DF*XA APCH1170
DF=DF+DF APCH1180
J=1 APCH1190
12 K=M+J APCH1200
WORK(K)=WORK(K)+DF*XA APCH1210
13 WORK(J)=WORK(J)+XA APCH1220
IF(J-MT2M)14,15,15 APCH1230
14 J=J+1 APCH1240
XE=T*XM-XA APCH1250
XA=XM APCH1260
XM=XE APCH1270
IF(J-IP)12,12,13 APCH1280
15 CONTINUE APCH1290
WORK(IEND)=SUM+SUM APCH1300
C APCH1310
C CALCULATE MATRIX OF NORMAL EQUATIONS APCH1320
LL=M APCH1330
KK=MT2M APCH1340
JJ=1 APCH1350
K=KK APCH1360
DO 18 J=1,M APCH1370
WORK(LL)=WORK(K)+WORK(JJ) APCH1380
LL=LL-1 APCH1390
IF(K-JJ)16,16,17 APCH1400
16 KK=KK-2 APCH1410
K=KK APCH1420
JJ=1 APCH1430
GOTO 18 APCH1440
17 JJ=JJ+1 APCH1450
K=K-1 APCH1460
18 CONTINUE APCH1470
IER=0 APCH1480
RETURN APCH1490
C APCH1500
C ERROR RETURN IN CASE OF FORMAL ERRORS APCH1510
19 IER=-1 APCH1520
RETURN APCH1530
C APCH1540
C ERROR RETURN IN CASE OF COINCIDING ARGUMENTS APCH1550
20 IER=1 APCH1560
RETURN APCH1570
END APCH1580