FISHERIES RESEARCH BOARD OF CANADA
Technical Reports
FRS Technical Reports are research documents that are of sufficient
importance to be preserved, but which 'for some feason are not appropriate for
primary scientific publication. No restriction is placed on subject matter and the
series should renect the broad research interests of FRS.
These Reports can be cited in publications, but care should be taken
to indicate their manuscript status. Some of the material in these Reports will
eventually appear in the primary scientific literature.
Inquiries concerning any particular Report should be directed to the
issuing FRO establishment which is indicated on the title page.
FISHERIES RESEARCH OOARD OF CANADA
TECHNICAL REPORI 00. 212
IiJ,\ 1130 PROGRAMS FOR MULTIPLE DISCRIMINATION
ANALYSIS OF X-RAY SPECTROSCOPY DATA (FORTRAN)
by
J. A. Thomson and J. R. Calaprice
FISHERIES RESEARCH OOARD OF CANADA
Biological Station, Nanaimo, B. C.
September 1970
HlTRODlCTlON
The following report lists a series of programs which were wri Hento process data accumulated with an x-ray spectroscopy apparatus. Theprograms provide a means whereby paper tape from the analyzer may be readinto the IBM 1130 computer, spectra plotted, and multiple discriminationanalysis performed on the data. The apparatus used has been described indetail in an earlier report (Calaprice and Calaprice, 1970).
The programs are written in Fortran 1130, a subset of Fortran IV.Only one disk and 16K core is required. Peripheral devices used include1442-7 card read punch, 1132 line printer, 1621-2 plotter and an 1134 papertape reader. The programs are under control of disk monitor system V2.L6.In order to acconmodate the MUL40 program, a disk must be cleared of allunused system subroutines, including the assembler compiler, in order toallow for storage of the required files.
FORMAT OF THE DATA
A. From the analyzer
After an analysis, data is stored in the S.A.41 intertechnique 400channel pulse height analyzer. The data may be stored in the form of anarray of either 100, 200, or 400 6-digi t words.
One may set the controls to transfer the results of an analysis toan A.S.R.33 teletype unit where it may be coded on paper tape (A.S.C.1.2).Individual samples may be analyzed or the samples may be mounted in acircular sample changer, so that either a single data record. or a series ofdata records may be combined on one tape. The data from the pulse heightanalyzer is printed in fixed format with 10 words per line on the teletype.The only option is that the length of the data array may vary. Up to 70alpha-numeric symbols may proceed each data series as identification. Thislabel is written on the teletype unit and is preceded by and followed bythe symbols for carriage return, and line feed. Data is stored 11l1llediatelyafter the label.
B. From the Series A. programs
The format of card output from the series A programs are fixed.The data deck must usually be stacked by sorting on the group 1.0. number,and appropriate control cards, and 1.0. cards added.
- 2 -
OPTIONS AND CONTROL CARDS FORTHE SERIES A PROGlAMS
This first program converts data from paper tape to cards. We havefound it easier to deal with card output in most cases especially when thedata is to be analyzed more than one time. As an option the data may beplotted on the Cal-Comp (IBM 1627). Additional options are availablethrough data switch numbers 1, 2, 3, 4, 5, 6, 7 r 10 on the computer console.
Data switch 1 (on) prints paper tape record on typewriter
2 (on) allows for a change of options
3 (on) initiates pause for error correction in tapes
4 (on) card output
5 (on) error trap - aborts run when error occurs onpaper tape
6 (on) plots data - enter ~ on console
K = 1 single channel plot
~ = 2 sums over n. channels and plotssum - enter !l on console
k = 3 running average over m. channels enter!!! on console
!s.. = 4 combination of 2 and 3, enter nand IT!.
7 (on) automatic labelling
(off) type in label on console (A(I), I = 1, 5)
10 (on) call exit
- no control cards
B. ATTOC
This program accepts data from the automatic sample changer. Thesample changer presently used holds 40 samples. After each analysis, a newsample is automatically moved into the field of radiation, and the contentsof the memory are printed on the teletype. The position of the first sampleon the wheel is detennined from a total of random numbers and a sample fromone group is followed by a sample from a secord group, until one individualfrom each of the 2. groups is mounted on the sample changer. The procedure
- 3 -
~:m~~~e~~~~r~n~~le~~:yS~~l:O~~:~~~rO~St~~l;hee~~ a9r~:u~~~ ~~~;V~~r.The program converts the data from paper tape to cards and labels the cardswith alpha-numeric characters and with a unique two part number. The firstpart is 2,., the group number, and the second part is the replicate numbE-r !l.
Control card
Columns 1-5 starting replicate number - !l for first sample
6-15 run label - alpha numeric field of 10
16-20 modulus number g, the number of groups
21-35 alpha numeric characters for group identi fieation
t-.OTE: Both these programs use a modified version of the IBIwt "PAPT2 1• routineto accept ASCI I code.
OPT IONS AND CONTROL CARDS FOR THESERIES 8 PROGRAMS
The function of this second series of programs is to compute discriminant functions and to classify unknowns on the basis of the observed x-rayfluorescence patterns.
This computes discriminant functions and is essentially a series ofmodified subroutines taken from Cooley and Lohnes (1966) and adapted for theIBM 1130 (Pienaar and Thomson, 1969). The programs have been furthermodified to handle more variables and more groups. The program is describedin detail by the above authors. In this version, the maximum number ofindividuals, N, in all groups is 550, where
The number of individuals in each group need not be equal. The total numberof groups ~ must be .(15 and m the number of variables <40.
- 4 -
Control cards (2)
Coltunn
Card 1
1-5 k - the number of groups
6-10 m - the number of variables
15 0 or .Q. - no additional data to be classified
1 - additional data to be classified - thisis placed at the end of the data stack
20 0 or .Q. - no printing of raw and deviationsums of squares
Card 21-;
6-BO
number of observations per group
alpha m.uneric group t1 tle
There must be as many of the second control cards as groups of data.One of these control cards must precede the data on each group.
Output options
Data switches 3-9 when on suppress the printing of certainmatrices - see listing.
***Data switch 11 when on causes the functions, the matricesneeded to compute probabilities of group membership and theclassification of unknowns to be punched out on cards.
B. UOCLS
Inputs discriminant functions and matrices from MUL40 output (dataswitch 11 on) and classifies unknowns yielding discriminant scores, classification chi-squares and probabilities of group membership (the first twomay be suppressed by turning data switch ion).
AVAILABILITY
Source decks of the programs are available from the
Computer CentreFisheries Research Board of CanadaBiological StationNanaimo, 8. C.
- 5 -
REFERE~ES
Calaprice, J. R., and F. P.. Calaprice. 1970. Marking animals with microtags of chemical elements for identification by X-ray spectroscopy.J. Fish. Res. ad. Canada 27: 317-330.
Cooley, W. W., and P. R. Lohnes_ 1962. Multivariate procedures for thebehavioural sciences. J. Wiley and Sons, Inc., New York. 211 p.
Pienaar, L. V., and J. A. Thomson. 1969. A program for multiple discriminant analysis (Fortran 1130, Extended Version). Fish. Res. Bd. CanadaTech. Rept. No. 112, 26 p.
- 7 -
II JOBII FOR-ONE wORD INTEGERS
SUARQUTINE EHRORIN.~N,NERR)
DIMENSIO~ LDATAI31171COMMON LDATANEqR=ODO 1000 I=N.NNIFILD~TAIII-2361611000.1001.1000
1000 CONTINUERETUqN
1001 NERR-IRETURNEND
II DUP-DELETE ERROR-STORE WS UA E~ROR
II JOBII FOR-ONE WORD INTEGERS-LIST ALL-IOCSITYPEWRITERI-IOCSICA~D.1132 pqINTER.PAPER TAPE.PLOTTERI-IOCSIKEYAOARDI
PAPER TAPE SPECTRUM READER TO PLOT OR PUNCH EXTENDED VERSION ITCDPTI01 MENS I O-l LDATA I 31171. DATA1I3991 .DATA21 399' .LABELl73 ,DIMENSION IDENTI51CO~,~ON LDATA
C THIS PROGRAM _ILL READ PAPER TA"E PRODUCED BY THE INTERTECHNI~UE
C ~NALYSER WITH A VARIABLE NUMBER OF CHANNELSC VARIOUS DATA SWITCH CONTROLLED OPITONS ARE P~OVIDED
C OUTPUT IS A PLOT ION SMALL PAPER' OR CARDS OR BOTHC TAPE IS CHECKED FOR ERRORS IASTERISKI AND ~LLOWS REPOSITIONINGC OPTIONAL PRINTING OF ORIGINAL RECORD IS ALLOWED FOR CHECKI~G INPUTC INITIAL RUN REOUIRES OPTIONS TO BE STATEDCC INITIAL INSTRUCTIONS ~EVER REPEATEDC
WRITEI2.~251
525 FOqwATIBOXIWRITECl,'jOO}
500 FORMATI'DATA SWITCH OPTIONS IF ON'.I.'NO I PRINTS TAPE qECORD IN ~
II TURN OFF ANY TI~E'.I.'NO 2 ALLOWS CHANGE OF OPTIONS TURN ON DURI2NG PRIOR TAPE RUN',I.INO 3 INITIATES PAUSE BfT',trJEEN RECORDS USE F'J~
3fRROR',I,'NQ 4 OUTPUTS ON CARDS WITH SEQUENCE NOSI.I.INO 5 CAUSF.~
4SINGLE RUN TO ABORT AND PAUSE TO REPOSITION TAPEI.I.'~O 6 FOR PLOT5TING GRAPH',I,' 01 FOR AUTOMATIC LARElSt.I,'~O 10 TO CALL EXIT'1
WRITE(l,4991499 FOR~ATI 'ENTER STARTING VALUE MINUS I OF SEQUENCE NUMBER USE 13'1
READI6.<99INOSEQ49A FOR~ATII31
PAUSE
- 8 -
100001000110
CALL DATSWIZ,KZJGO TO IS01.S0ZI,KZWRITEl1,S101FORMATI'ENTER OPTION NO 1 FOR SINGLE CHANNEL,Z FOR SUMMING,3 FOR R
lUNNING AVERAGE I ./,14 FOR COMBINATION OF 2 AND 3 1 IREADI6,Sll1NOPTFORMATlI11IFINOPT-1IS01,SOZ,S03WR I TE I 1 , SlZ IFOR~ATI'ENTER NO OF CHANNELS TO SU~' IREADI6,Sll1NGPIFINOPT-ZISOZ,SOZ,504\oJRITEIl.5131FORMATI'ENTER NO FOR RUNNING AVERAGE' IREADI6,Sll1MEANCONTINUE
NI =1N4 ::c:73
96 READI4ol01 ILDATAI II ol=NI,N4JCALL DATSI<II,KIIGO TO 110000ol0001J,KIWRITEI1,101ILDATAIII.I·N1,N41CO!'lTIr~UE
FORvATI73A11GO TO 1003
SOlS10
S OZCC COM~FNCE READING PAPER TAPE WITH 8LANK TAPE FIRSTC HLANK TAPE READ SECTION FROM 10003 TO 10001C10003
S04513
S03SIZ
S 11
C OPTIO~ CHANGE SECTION FROM 677 TO SOZC677
I<RITFl1,SZOIFORMATI 'E1ROR FOUND REPOSITION TAPE AT 8LANK SPACE'IPAUSEGO TO 10003
CC ERROR TRAP IDECREMENTSC
1001S ZO
SEOUENCE COUNTER I FROM lOCI TO SZO +3
CC LAALE qEA0 SECTION 1003 TO 97C
1003 N= 1DO 1002 1-1.399
100Z DATA1III·0.0X"1AX=O.aN1=1N4=13READ (4, 10l (LDATA (I I. I a",il.N41CALL DATSWl1,KlIGO TO (2COOO.200011.Kl
ZOOOO 'NRITEI1,101ILDATAI II,I·N1.N41ZOOOI CONTINUE
CALL ERRORIN1,N4.~ERRI
IF INERRI 1001,97,1001C
- 9 -
C TI~E READ SECTION 97 TO 2000C
97 1--744-90
READI4010) ILDATAI I I oI=NI.N4)RE~O(4.101(LDATAlll.t·~1,N4)
CALL DATSWII.KIIGO TO 130000.30001).KI
30000 WRITEII.IO)ILDATAII).I=NI.N4130001 CONTINUE
CALL ERRORINI.N4.NERRIIF INERR) 100102000.1001
200n CONTINUECC DATA READ SECTION 2000 TO 602 WITH OPTIONAL ABORT ON SWITCH 5C
NI-~6
,N4=153RE AD (4.10) IlOAfA ( I 1 ,I -N 1 .N4)CALL OATSWll.Kl)GO TO 140000.40001).KI
40000 WRlTEII.IOI ILDPTAI 11.I·NI.N4)40001 CONTINUE
CALL ERRORINI.N4.NERR)IF INERRI 1001010001001
100 CONTINUENO~N*75
I'il·~O+79
N2-NO+151N3-NO+152N4 -NO+154READI4.10)ILDATAIII.I-NI.N2)READ(4,lO)(LDATAIJl.I-N3.N4)CALL DATSWII.KlIGO TO 150000.500011.KI
50000 WRITEfl.1l1 lLDATAlll,IaNl,N4)II FORMATI76AlI
50001 CONTINUECALL ERRORINI.N4.NERR)IF INERRI 1001.600.1001
600 CONTINUEIFILDATAIN41-192541601.602.601
601 NaN+lCALL DATSWI5.K51GO TO (10010100) .K5
602 CONT I NUECC PAPER TAPE RECORD OF SINGLE RUN NOW READ IN IN Al FORMATC CONVERSION TO REAL VARIABLES 602 TO 4000 FOLLOWED BY ABORT OPTION
00 3000 1-1.733000 LABELII)'LDATAIII
DO 3010 1.74.N4IFILDATAIII-1644BI3009.3010.3D09
3009 LDATAIII-ILDATAIII+40321/2563010 CONTINUE
- 10 -
TIMEaFLOATILOATAIBSIITIMEaTIME+FLOATILOATAIB411*10.0TIMEaTIME+FLOATILDATAIB311*100.0TIMEaTIME+FLOATILDATAIBZll*lOOO.OTIMEaTIME+FLOATILDATAIB1II*10000.0TIMEaTI~E+FLOATILDATAIBOII*lOOOOO.O
NI a92DO 30Z0 lal.9DATAZIIlaFLOATILDATAINIII*100000.+FLOATILDATAINI+111*1OOOO.+FLOATI
lLDATAINI+Zl 1*1000.+FLOATILDATAINI+311*100.+FLOATILDATAINI+411*10.+ZFLOATILDATAINI+SII
30Z0 NlaNI+7Nl a1S3J a 9DO 4000 I-l,N00 3S00 Ka l.10JaJ+lfH ='-:1+7OATAZIJlaFLOATILOATAINIII*100000.+FLOATILDATAINI+111*1OCOO.+FLOATI
lLDATA(t\J+2) l*lOOO .....FLO,6,T(LDATA( 1+3) ).lOO ....FLOATILOATAINI+41 }*lO.+ZFLOATILDATAINI+SII
3S00 cOIn I NUE4000 NJlI''lI+ 5
CC DATA NOW IN VECTOR OATAZC
CALL DAT5WI5.KSIGO TO 11001.BOOll.KS
aOOl CONTINUECC PUNCH OPTION ROUTINE ISWITCH 4 ONI BOOI TO 611C
CALL OATSWI4.K41GO TO 16030.6S01.K4
6030 CALL DATSWI7.K7IGO TO 16031.6031.K7
6031 NOSEQ=NOSEO+lCC OPTIONAL PUNCH WITH AUTOMATIC LABELS 6030 TO 60339C
WRITE(Z.6032INOSEO.(LABELIIl),IIcl,10I,(OATAZ(JJl,JJal,916032 FCR~AT(I3.' l',lOAl,2X.9F1.0)
N .. ··HIDO 6033 J-l,NNJJaJ*lO-lOJJJ=JJ+9.'..~ I TE (2 .60341~OSEO,J,(LABEL (I I I .ll e l.5I. (DATA2 (I J. I=JJ .JJJ I
~034 F0qvATIJ3,12.5Al,lOF7.0)6033 corn INUE
(;0 TO 650~03 ~~ITE(lt66C)
560 FOR~ATI'ENTER S CHARACTEH IDE,TIFICATION'Ir<OSEO=N05EO+lRE6.DI6.661IIDENT
5f.l FO~vATI5All
- 11 -
ON) 550 TO 678
CALL DATSWI5.K61GO TC (690,618I,K6KK = ~*lO+9
GO TO (4010.4020,4030.40401.NOPT590
WR I TE I2.510 II OENT • NOSEO. IDA TA2 l I I • I-I. 9)610 FO~\1AT(5Alt13tl l'.7X.9F7.0l
,'m-N+lDO 611 J·Z.NNJJ-J*10-10JJJ-JJ+9WR I TE I2.612 II DENT. NOSEO. J. I OAT A2 I I I • I-JJ .JJJ I
612 FOq~ATl5Al.13.12.10F7.01
61 1 CONT I "UECC PLOT ~PTION ROUTINE lSWITCHC550
CC STRAIGHT PLOT 4010 TO 4011C
4010 DO 4011 r-l,KIC,4011 QA TAI I I I =DA TA2 l I )
GO TO 5000CC SU~~I~G ROUTINE 4020 TO 4030C
4020 KK·(~r+l'/NGP
JJ-lDO 4021 J=I.KKJJJ-J*NC,PDO 4022 I=JJ.JJJ
4022DATAlIJI=DATAIIJI+DATA21IJJJ sJJJ+l
4021 CO'T I WEKK-(K-lGO TO 5000
CC RUN'ING AVE~AGE ROUTINE 4030 TO 4040C
4030 NMEAN-MEAN-lNN-(MEArHll/2KK-l(K-NNDO 4031 J=I.KKJJ.J+MEANDO 4032 I=JdJ
4032DATAllJI=DATAIIJI+DATA21!14031 OATA11JI=DATAlIJI/FLOATIMEANI
KK-IC,K-lGO TO 5000
CC CO~BI~ATION ~OUTINE 4040 TO 5000C
4040 ~EA~·~EAN-l
,'IN·I·...EA'l+l) /2KK""I(I(-rmDO 4042 J-l.KK
- 12 -
JJ:lJ+r..t-'EANDO 4041 I=JdJ
4041DATAllJI=DATA1IJI+DATAZIII404Z DATAllJl=DATAllJl/FlOATIMEANI
DO 4043 l"l,KKCATAZlll'DATA1III
4043DATAllll·0.0Kl(-(KK+II/NGPJJ-lno 4044 J-l.KKJJJ:IlJ*~GC
DO 4045 I·JJ.JJJ40450ATA1IJl'DATA1IJI+DATAZIII
JJ·JJJ+l4044 CONTI'\lUE
KK-KK-lCC MAXI~U. FINDING AND SCALE SETTING 5000 TO 6000C
5000 DO 500Z I'l,XXIFIXMAX-OATAllII15001.500Z.500Z
5001 X AX'DATAll!1500Z CO~TI~UE
SCALE=X~AX/IO.O+O.501
CC PLOTTING 6000 TO 678C~OOO XSCAl·l.O/ISCAlE • Z.OI
CALL SCALfCO.l,XSCAL,O.O,O.OICALL FG~ID(l.O.O.O.O.SCALE.IOI
YSCAl'SCAlE • 10.0DO 6001 I-lollCALL FCHARI-B.O,VSCAL,O.l,O.l,O.OJ-_,R I TE 17.21 YSCAl
2 FORMATlF7.016001 YSCAl'YSCAL-SCAlE
CALL ~ATS-"15,X51
GO TO 11001,80021,X5R002 CONT! NUE
CALL FGRID(O.O.O.O.O,l.O.KKIXs O. 0HSCAl·SCAlE/2.0CALL FCHAq(X,-HSCAL,O.l,O.l.O.O)~RJTEI1,3)LABEL.TI~E,~OPT
FOR~~AT (73Al, I 11'1E- 1 ,F7.0,SX, I OPT ION' 1121CALL FOLOTI-2,O.O,O.OIX= O. 0DO 7000 l'l,XXY')ATA1I! 1X=X+l.O
7000 CALL FPLJTIO,X,VI(ALL FPLOT(+l,X,VlCALL FPLOTIQ,X+60.0,O.OI
CC DATA SWITCH 10 SHOULD RE ON DURING THE PLOTTING OF THE lAST S"T
- 13 -
C TO INITIATE A VALID CAll EXIT RRANCHC678 CAll DATSWl10.~101
GO TO 19999.1010).~lD
9999 CAll EXITCC PAUSE REPOSITION AND OPTION CHANGE ROUTINEC
1010 CAll DATSWI3.~31
GO TO 1675.1003).~3
675 WRITEl1.6761676 FORMATI'PAUSE CAllED REPOSITION TAPE AT RlAN~ SPACE'.I.'TO CHANGE
1UPTIONS TURN ON SWITCH 2')PAUSEGO TO 677END
II DUP*DElETE TCPDT*STORE WS UA TCPDT
- 14 -
II JOBII FOR*ONE wORD INTEGERS*IOCSITYPEwRITERI*IOCSICARD.PAPER TAPE.1132 PRINTER I*IOCS12501 READER)
01 MENSION LDATAl 29201 .DATAI 400 I .LABEL(10) • TABLE I 251CC CHA~GING LNC ON INPUT WILL ALLOW USE OF 2501 READER.BUT LNC OUTPUTC wiLL HAVE TO BE RETAINED AS TWOCC THiS PROGRAM IS DESIGNED FOq CALAPRICES AUTOMATIC SAMPLE ANALYSERC wHERE SA~PLES HAVE BEEN ARRA~GED IN MODULAR FOR~AT wiTH ,EPLICATESC
L C=2L R=8L pa3
C D\J~n WRlTE1?\JNCHI FO~ USE wITH UTILITY 3.4.007C
WRITE1LNCoiOl10 FO,~ATl80XI
~E~D(LNR.ll)~REPtLABEL,MODUL.ITABLE(IJ,lal,MOOULI
II FOR~ATlI5.IOAI.15.25A21
CC THiS CARD CONTAINS EXPERIMENT TITLE.MODUL~ REPEAT AND I'DIVIDUALC IDE~TIFICATION wHICH IS REPEATED BY MODULE NO.CC STA~T READING BLANK TAPEC
~OO~O'I
799 ~EAD(4,201 (LDAlA! I) ,1=1,70)REI\[') ( 4.201 (LDAlA (1).1=1,70)Wq I TE 11.20 J lLDATAl 11.1 =1.701<EADl4,201 lLDATAl I J 01=1.701
CC THIS READS FIRST BLANK TAPE THE~ FREE TEXT THEN BLANK TAPE ANDC POSITIONS FIRST TIMING MARKC RE_D TI~E IE CHANNEL ONE198 CONTINUE
.h.EA.O(4,20J (LDAlAt I I tI=1.70120 FORYAT113A11C CONVERT TI~E TO REAL NUMBER
OJ 100 1-1.70IF I LDATA 1I 1-16448199.100.99
99 LDATA I I I- ILJATA 111+40321/256IDe CONTl,~UE
11','E·FLOATlLDATAI121111"'E~T I METFLOAT (LDATA (111 )*10.ltYEzTl~·E+FLOATILDAT.llO)I·lOO.
TIME'TI~E+F OAT1LDATAl0911*100D.TI~E_TIYE+FLOATlLDATA(08)1*10000.
TIME·TIME+FLCATlLDATA(071)*100000.
- 15 -
C NO. ~EAD FIRST LINEC
REI\O(4,201ILDATA(Il,l z l.101CCC
40004001
199
;000;002;001
201
200
299300
400
450;00
THIS SECTION IS FOR INPUT CHECKING - IF DATA SWITCH 1 IS ON ARRAYIN Al WILL BE PRINTED - SECTION RUNS FROM 4000 TO ;001CALL DATSWI1.K11GO TO 14000.40011.K1WR I TE 11.5002J ILOATAIII oJ-1.701CONTINUE
N-1Oa~N*75
.~1-NO-6
1'12·'\10+66N3-NQ+67N4=NQ+69HEADI4.701ILDATAllloJ-N1.N21qE~DI4.201ILDATAIII.I-N3.N41
CALL DATSWI1.K11GO TOI;000.;OOll.K1WRITEl1.50021ILOATAIII.I-N1.N41FOR~ATI76A11
CONT I NUEIFILDATAIN41-192641201.200.201NI'lKNN+lGO TO 199CONTINUEN-':4-N4-1DO 300 t-l,NN4I F I LDATA II 1-16448 1299.300.299LDATAIII-ILDATAIII+4032112;6CONTINUENO-700 400 1-2,10D~TAIII-FLOATILDATAINOII*10DOOO.D
DATAIII-DATAI11+FLOATILDAT~INO+1l1*10000.0
DATAIII-DATAIII+FLOATILDATAINO+2J 1*1000.0OATAIII-OATAIII+FLOATILDATAII;0+311*100.0OATAIII-DATAI11+FLCATILOATAINO+411*10.0OATAIII-OATAIII+FLOATILOATAINO+;IJ~O·NO+1
;-10 =68JO-10DO 500 I=l.NN00 450 K-1 dOJO-JD+11'10=1'10+1OATAIJOI-FLOATILOATAINOII*1000DO.0OATAIJOI-OATAIJOI+FLOATILOATAINO+111*10DOO.0OATAIJOI=OATAIJOI+FLOATILDATAINO+211*1000.0OATAIJOI-QATAIJOI+FLOATILOATAINO+311*100.0OATA(JOlsOATA(JOI+FlOATllDATAINO+411*10.0OATAIJOI-OATAIJOI+FLOATILOATAINO+;11CONTINUe:NO • NO + 5
- 16 -
DATAlll·TIMECC THIS SECTION IS FOR DATA CHECKING ONLY TURNING ON SWITCH TWO wILLC CAUSE THE DATA ARRAY TO BE PRINTED - CA~ BE TURNED OFF ANY TIMEC SECTION RUNS FROM 500+Z TO 5011
CALL DATSWIZ.KZIGO TOI5010.50111.KZ
5010 11-1II 1'10
5013 \~RITE(lt5012I(DATA[Il,IztI,III)
I I - I 1+10IIJ=III+IOCALL DATSWIZ.KZIGO TOI5013.50111.KZ
5011 CO TI~UE
501Z FOR~ATllOF10.01
NNC·NWR I TEl LNC. 6011 TABLE (MOONO) ,MOONO .NREP, I LABEL ( I I , I ""I. 9 J , (DATA [ I I I , I
lI'ZolOI601 FOR~AT(lA2,212,2H 1.9Al,9F7.01
DO 600 Lal,NNe1= L+lIla{ 1-11*10+1I I I =It +9WRITE(LNC.602ITABLE(MOONOI,MOONO,NREP,I,(LABEl(KI,Kz l, 21,(DATA{K~1
1 ,KKz I I • I I I I60Z FOR~ATllAZ.3I2.ZA1.10F7.01
600 CO~TINUE
IFIMODNO-MODULI650.660.600~50 ""00~O·tl0DNO + 1
GO TO 700~f:O "'".ODNO"l
NREO"NREP+l700 CALL DATSWI9.K9J
GO TOleOO,7gel.K9BOO PAUSE 10
CALL DATSWllO,K101GO TOI900.7991.K10
900 CALL EX ITC OPERATI~G INSTRUCTIONS ON READING LAST RECORD ON A TAPE TURN ONC SWITCH 9 THIS WILL CAUSE A PAUSE - TURNING ON SWITCH 10 WILL THE'C CALL ExIT - IF OFF A NEW TAPE WILL HAVE BEEN MOU~TED WITH THF SAMEC TABLE AND ~ODULE FORMAT AND IDENTIFICATION - NREP WILL CONTINUE TOC BE AUGMENTED - IF A NEw ~UN IS WANTED - CALL EXIT AND RESTAqT WITHC NEW MODULE LABEL.AND TABLE CARD
.[NDII DUP-DELETE AlToe*STORE wS UA ATTOC
- 17 -
II JOBII FOR"ONE WORD INTEGERS"IOCS12501 READERl"IOCS11132 PRINTERI"IOCSIDISKl"EXTENDED PRECISION"NAME MUL40•• FIRST LI~K OF DISCRIMINANT ANALYSIS PROGRAM GROUP INPUT
INTEGER C.PDIMENSION TITLEl181DIMENSION XMI40l.SS140.401.SXI401.XI401.GNI151COMMON M.K.NO,N,NNODEFINE FILE 11 550.123.U.JJJIDEFINE FILE 71 30.120.U.KKKIDEFINE FILE 31 600.120.U.KKK)DEFINE FILE 41 600.120.U.KKKlDEFINE FILE 51 600.120.U.KKKIDEFINE FILE 61 3.120.U.KKKIDEFINE FILE 71 40.120.U.KKK)DEFINE FILE 81 40.120.U.KKKl
C C-CARD READER P-PRINTERC·8P-3
MUL40
CC THIS PROGRAM IS AN EXTENDED VERSION OF MULDA IF.R.B.NANAIMO TECH.C REPORT NO. 112 1969 PIENAAR AND THOMSON) IT WILL HANDLE A MAXIMUMC OF 40 VARIABLES.15 GROUPS AND 550 SAMPLES TO DETERMINE THE DISCR-C IMINANT FUNCTION NO RESTRICTION ON ADDITIONAL DATAC THE PROGRAM WILL RUN ON AN IBM 1130 USING VERSION TWO MONITOR ATC LEVELS 5 PROVIDING THAT THE 1130 HAS AT LEAST 16K CORE AND THAT AC DISK WITH ALL UNUSED SUBROUTINES INCLUDING ASSEMBLER DELETED TOC PROVIDE ENOUGH WORKING STORAGE FOR THE DISK FILES - 1/0 UNITS AREC 1442-7 CARD READER AND 1132 PRINTERC DISK FILE 1 HOLDS ORIGINAL DATA MUL40 TO CLS41C DISK FILE 2 HOLDS VECTORS OF GROUP TOTALS AND MEANS MUL40 TO RSP40C DISK FILE 3 HOLDS GROUP RAW SUM OF SQUARES MUL40 TO POL40C THEN EIGENVALUES AND VECTORS DC240 TO DC340C THEN DISPERSION MATRICES IN R-SPACE RSP40 TO CLS40C OISK FILE 4 HOLDS DEVIATION SUM OF SQUARES. PRODUCTMUL40 TO POL40C THEN THE 3 DIMENSIONAL MATRIX DIMD.MD.KICLS4D TO CLS42C DISK FILE HOLDS VARIANCE-COVARIANCE BY GROUPS MUL40 TO RSP40C DISK FILE HOLDS ASSORTED VECTORS AND CONTROLS MUL40 TO CLS42C DISK FILE HOLDS POOLED W MATRIX POL40 TO DC24DC THEN TEMPORARY STORAGE OF WORKING MATRIXDC240 TO DC340C THEN TEMPORARY STORAGE WITHIN 0040C THEN EIGENVECTORS AS COLUMNS 0040 TO RSP40C THEN CENTROIDS OF GROUPS IN R-SPACE RSP40 TO CLS42C DISK FILE 8 HOLDS THE A MATRIX POL4D TO DC240C THEN TEMPORARY STORAGE TWICE WITHIN DC240C THEN FINAL A MATRI X DC240 TO 0040C THEN V MATRIX VIM.MDI RSP40 TO CLS42CC PROGRAM LINKAGE FLOW AS FOLLOWS MUL40-POL40-DC240-DC340-RSP40-C CLS40-CLS41-UNDER OPTION-CLS42
250
CCCCCCCCCCCCCCCCCCCCCCCCCCCC100101102103
104105106107loe109110
200
- 18 -
TIMING FOR 6 GROUPS - 40 VARIA8LES - 13 SAMPLES PER GROUP USINGALL PRINTING OPTIONS IS 4 IREAL-TIMEIHOURS
INPUTI. NUM8ER OF GROUPS IKI. NUM8ER OF VARIATES (MI. OPTIONS---4I5
OPTION I- 0 OR 8LANK IF NO ADDITIONAL DATA TO 8E READ- I OTHERWISE
OPTION 2- 0 OR 8LANK. DOES NOT PRINT RAW AND DEVIATIONS SUMS OFSQUARES AND PRODUCTS MATRICES
- I OTHERWISE2. NUM8ER OF 08SERVATIONS PER GROUP. GROUP TITLE --- 15.18A43. DATA CARDS --- CONFORMING TO FORMAT 30 IN SU8ROUTINE READS
08SERVATION 10 AND M-VARIATE 08SERVATIONITEMS 2 AND 3 REPEATED K TIMESFOLLOW WITH BLANK CARDDATSW 3 ON SUPRESSES PRINTING OF VARIANCE-COVARIANCE MATRIXIMUL40)DATSW 4 ON SUPRESSES PRINTING OF CORRELATION MATRIX (~UL401
DATSW 5 ON SUPRESSES PRINTING OF POOLED W MATRIX IPDL401DATSW 6 ON SUPRESSES PRINTING OF TOTAL CORRELATION MATRIX IPOL40)DATSW 7 ON SUPRESSES PRINTING OF THE A MATRIX (POL401DATSW 8 ON SUPRESSES PRINTING OF VECTORS OF W INVERSE * A (DC340)DATSW 9 ON SUPRESSES PRINTING OF SCALED VECTORS (OC3401DATA SWITCH II IF ON WILL CAUSE THE VARIOUS MATRICES TO BEPUNCHED OUT ON CARDS FOR USE AT A LATER TIME WITH NEW UNKNOWNSTrlE OUTPUT DECK WILL THEN RE USED BY INP40 AS IT STANDSIF THE PRESENT RUN INCLUDES UNKNOWNS THE HOPPER SHOULD 8ECLEARED WHILE THE ORIGI~AL DECK IS GOING THROUGH CLS4I AND THEUNKNOWNS LOADED FOR USE BY CLS42
FORMATl4151FOR~A TI 15,1 8A4)FOR~ATIIHI,'MULTIPLE DISCRIMINANT ANALYSIS OF ',I8A41FOR~ATIIHO,IX,'NUMBEROF VARIA8LES - ',13,' NUMBER OF OBSERVATIONS
C IN THIS GROUP· ',lSIFOR.~ATllllolX.'MEANSOF THIS GROUP' 1FORMATIIHN.SF14.71FOR~ATIIHO,IX,'STANDARD DEVIATIONS OF THIS GROUP')FORMATIIHI,IX,'RAW SUMS OF SQUARES AND CROSS PRODUCTS')FORMATIIHI,lX,'DEvIATIONS SUMS OF SQUARES AND CROSS PRODUCTS' IFOR~ATIIHI,IX,'VARIANCE CO-VARIANCE MATRIX')FOR~ATIIHI,lx,'CORRELATION MATRIX')~EAO(C,lOO)K.M,NO.NNO
JJJ-IN-ODO 300 Ll-l.KREAD ICol011 NG.lT lTLEIII 01-1.18)WR I TEl P ,102 I ITIT LE( I ) , I-I ,18 IWRITEtP,103)M,NGENG-NGDO 200 I-I,MSX(I)-O.ODO 200 J-I,MSSII.JI-O.ONN-NGCALL RED40IM,XID.X)WRITEll'JJJIXIO,(XILl.L-l.M)
- 19 -
CCC
201
251252CCC
253202
FILE 1 CONTAINS ORIGINAL OBSERVATIONS
00 201 J-l.'1SXIJ)-SXIJI+XIJ)DO 201 KK-loMSStJ,KK)-SS(J,KKI+XIJ).xtKKINN·N~-l
IFINNI250.251.250IFINNOI252.253.252WRlTEIP.I07)
RAW SUMS OF SQUARES AND CROSS PRODUCTS
CALL MPR40ISS.M.2)DO 202 Lal,MXM IL I-SX ILl/ENGiliRITECZtLL IISXCII,l-l.M)KKK-LL+15WR I TE ( 2 I KKK I ( XM ( I I , I-I,M)
FILE 3 CONTAINS RAW SUM OF SQUARES MATRIX BY GROUPS
FILE 2 CONTAINS VECTORS OF GROUP TOTALS AND GROUP MEANS
DEVIATION SUMS OF SQUARES AND CROSS PRODUCTS
WRITEIP.l051IXMIII.I-1.M)DO 204 I-l.M00 204 J-l.MSS I I.J I-SSI I.J 1- SXI I I*SXIJ) IENG
NOW IN SS
NOW IN XMSTANDARD DEVIATIONS
W~ITEIP.l041
'IIR I TE (P .10 51 I X~ I 1 ) , I -l.M)KKK-ILL-ll*40+1DO 203 I -1.MWRlTEI3'KKK)ISSII.JI.J-l.MI
"RITEIP.I06)DO 20fol I-1.MX'1 I I I-SQRT I ISS I I • I )-SX I I )*SX I I IIENG II IENG-I. 0) )
203CCC
206CCC
204CCC
CCC
IFINNOI254.255.254254 WRITEIP.IDB)
CALL ~PR40ISS.V,.2)
255 KKK-llL-l)*"O+l[)() 205 I-l.M
205 WRITEI4'KKK)(SSII,JI,J-1.M)CC FILE 4 CONTAINS DEVIATIONS SUMS OF SQUARES AND PRODUCTS MATRIXC
DO 201 I-I,M00 207 Jal.M
- 20 -
207 551 I.JI-SSI I.JI/IENG-l.01CALL DA7SWI3.K31GO 70 130001.3DOODI.K3
30000 CO~T I NUEwR I TE I30109 1CALL ~PR40(SS.~.2)
30001 CONTINUECC VARIANCE CO-VARIANCE - DISPERSION MATRIX NOW IN 55C
KKK-tLL-IJ*40+1DO 208 1-1.1'1
208 WR I TEl 5 0 KKK I (55 I I • J I • J -I .1'11CC FILE 5 CONTAINS VARIANCE - COVARIANCE MATRIX BY GROUPSC
DO 209 l-l.MDO 209 J-l.M
209 55 I I .JI-SSI I.J)/ I Xl'll I I *XMIJ IICC CORRELATION MATRIX NOW IN 55C
CALL DATSWI4.K41GO TO 140001.400001.K4
40000 CONT I NUEWRITEIP.llOICALL MPR40ISS.M.21
40001 CO~TI~UE
N-N+NGGNILLI-FLOATINGI
300 CONTINUEWRITEI6'11IGNILLl.lL a l.K)
CC FILE 6.1 CONTAINS GROUP TOTALSC
CALL LINKIPOL401END
II DUP*DELETE MUL4D*STORE WS UA MUL40II JOBII FOR*IOCSIDISK.1132 PRINTERI.EXTENDED PRECISION*O~E wOR~ INTEGERS
POOLED GROUP CALCULATIONS SECOND LINK OF DISCRIMINANT ANAL POL40.NAME POL40
INTEGER P01 MENS ION TX (40 I .SX I40 I.X 140 1.55 I40 .401 .WI 40 .40 1.50 I40 IDIMENSION 52140.401.53140.401COM,,",O"" '-1,I<.,NO,N,NNOEQUIVALENCE 155140.401.52140.401.53140.4011DEFINE FILE II 550.123.U.JJJIDEFINE FILE 21 30.120.U.KKKIDEFINE FILE 31 600.120.U.KKKI
- 21 -
DEFINE FILE 41 600.120.U.KKKIDEFINE FILE 51 600.120.U.KKKIDEFINE FILE 61 3.120.U.KKKlDEFINE FILE 71 40.120.U.KKKlDEFINE FILE 81 40.120.U.KKKI
C P-PR I~7ERP- 3DO 200 I-l.M
200 TXIII-O.O00 300 I-l.MDO 300 ;-1.101
300 Wll.j)aO.ODO 201 LL-l.KREADl2'LL lISXIII.I-l.MIDO 201 1-I.M
201 TXlll-TXIIl+SXIII00 202 tal.,-,
202 XIIl-TXIII/FLOATINlCC T0TAL SA~PLE MEANS ARE NOW IN XIIIC
DO 203 LL-l.KKK.1(1IIll-11*40+1DO 203 l-l.MREADI4'KKKIISSII.JI.J-1.MIDO 203 J-l.M
203 WII,J)IIWlItJ)+SSI I .JIDO 204 l-l.M
204 SXIII-SORTIWllolllCC SQUARE ROOTS OF OIAGONALS OF W ARE NOW IN SXIIIC
CALL DATSWI5.K5)GO TO 150D01.5DOOOl.KS
50000 CO~TI~UE
wR I TE IP.100 I100 FORMATI1Hl.'POOLED W MATRIX')
CALL MPR4DIW.M.2)50001 CONTINUE
DO 400 I-l.M400 lo'lRtTE17'1 I(WIJ.JltJ-l.M)CC FILE 7 CONTAINS POOLED W MATRIXC
DO 301 l-l.MDO 301 J·l.~
301 WII.JI-O.ODO 205 LL-l,1(I<.KK.aILL-l)*40+1~o 205 I-I,MREAD I 3 I KKK I 1521 I • J) .J-l.M)CO 205 J-l.M
2:)5 W(I.JI-WlItJI + 52(I.J)CC TOTAL SA~PLE SUM OF SQUARES AND PRODUCTS ARE NOW IN WII.JI
- 22 -
DO 206 I-I,MDO 206 J-l.M52(I.J)·WII.J)
206 Wlldl_S2IIdl-ITXII)*TXIJ)/FLOATINI)CC TOTAL SAMPLE DEVIATIONS SUMS OF SQUARES AND PRODUCTS NOW IN WII,J)C
DO 207 I-l.M207 SDIII_SQRTIIoIII,II/IFLOATINI-1,O)1CC TOTAL SAMPLE STANDARD DEVIATIONS ARE NOIol IN 50111C
IFINNOl251,252,251251 IoIRITEIP,1011101 FORMATl1H1,'TOTAL DEVIATION SUMS OF SQUARES AND CROSS PRODUCTS'1
CALL MPR40IW,~.2)
252 IoIRITEIP,102)N102 FDRMATl1H1,'TOTAL NUMBER OF OBSERVATIONS -',151
ARITEIP,1031103 FORMATl1HO,'MEANS FOR TOTAL SAMPLE'I
WQ;ITEIP,1041IXIII,I-l."",104 FOR~AT(lH ,8F1S.4)
IoIRITEIPol051105 FORMATl1HO,'STANDARD DEVIATIONS FOR TOTAL SAMPLE')
wR I TE IPol0411 SDIII,I-1,MIDO 20R I-l,MDO 208 J-1,M5211 .J 1-10111 .JI/IIFLOAT IN 1-1.0 I* SDIII*SDIJ) I
20P S2 (J.ll~S2( ItJ)CC SSII,JI NOW CONTAINS TOTAL CORRELATION MATRIXC
CALL DATSWI6,K61GO TO 1600D1,60000l,K6
60000 CONTINUEWRITEIP,1061
106 FOR~ATl1H1,'TOTAL CORRELATION MATRIX'ICALL MPR40lS2,M,21
60001 CONT I NUEDO 2Dq I-I,M
209 ~E"D(7'1 )IS3CI,J),J-l.'-l)DO 210 I-I,MDO 210 J-1,M
210 S3ll.JI·W(I,JI-S3tltJICC 5511,.)) NOIol CONTAINS THE A MATRIXC
CALL DATSIoI17,K71GO TO 170001,70000l,K7
70000 CONT I UEwR I TE IPol07)
101 FOR~AT(lHl.'A MATRIXI)CALL MPR40lS3,M,21
70001 CONTINUE
- 23 -
00 211 I-I,M211 WRITEI8'1 I(S3II,JI,J-l.MICC FILE 8 CONTAI~S A MATRIXC
CALL L1NKIDC2401END
II DUP- DELETE POL40-STORE WS UA POL40II JOBII FOR-ONE WORD INTEGERS-EXTENOED PRECISION-IOCSIDISKI-NAME DC24D_. THIRD LINK OF DISCRIMINANT ANALYSIS X AND A MATRICES
DI~ENSION AXI40I,B(40,40I,X(40,401COMMO~ "'t,K.NO,NDEFINE FILE 11 550,123,U,JJJIDEFINE FILE 2( 30.120.U,KKKIDEFINE FILE 31 600,120,U,KKKIOEFINE FILE 4( 600,120,U,KKKIOEFINF FILE 5( 600,120,U.KKKIDEFINE FILE 61 3.120,U,KKKIDEFINE FILE 7( 40.120,U,KKKIOEFINE FILE B( 40,120,U,KKKIno 200 I-I,M
200 RE~D[7It )IBlItJItJ-l.M)00 201 I-l.M
201 AX I I I-SORT IBI to I I )WR I TEl 6 12 I (AX ( I ) • I-I. M)
CC FILE 6.2 CONTAINS VECTOR OF SOUARE ROOTS OF DIAGONAL OF WC
DO 303 I-l.M303 AXIII-O.O
CALL DIA40IB,M.O.X,NR)DO 202 I-l.M
202 AX(II-I.0 ISORTIABS(BII,III IDO 203 I-l.Mno 203 J-1.M
203 AII,J).XII.JI*AX(JI00 213 l-l.M
213 WRITEl7 1 1 IIBII,JI.J*l,MICC FILE 7 FOR TEMPORARY STORAGEC
DO 204 I-I,M204 REAOI8'1 IIXlltJItJ-l.M)CC A MATRIX NOW IN XII,JIC
KI(,I(-1DO 206 I-I,M
DC240
- 24 -
DO 2050 LL-l.M2050 AXtLLlsO.O
00 205 J-l.MDO 205 KK-l,M
205 AXtJlaAXtJI+8(KK.ll*XIKK.JI206 WRITE(8IK~K)(AXIJI.J·1.M)
CC FILE 8 CONTAINS TEMPORARY STORAGE
CKKK-lDO 201 I-l.M
207 REAO(8 I KKKIIXII.JI,ja 1 ,M)
CC Xl I.J) NO~ CONTAINS X MATRIXC
00 301 1-1."1301 AX(ll-O.O
J<.I<K-lDO 209 I-l.M00 2090 LL-l.M
2090 AXILLI-O.ODO 208 J-l.MDO 20e KK a l,t-1
208 AXIJ)sAXIJI+X(I,KK)*B(KK,JI209 WRITEI8'~KKIIAXIJI.J-I.MI
CC FILE 8 CONTAINS TEMPORARY STORAGE
C
CALL DIA40IB,M,O.X.NRIDO 211 t·l • ...,
211 WRITEIS'l IIBll.JltJal.M)
CC FILE 8 cnNTAINS FINAL A MATRIXC
00 3000 Ll·l.~
3000 WRITEl3 1 LL ) ()((LL,lltl a l,MIC FILE 3 CONTAINS X MATRIX USED IN OC340 AS A
CALL LINKIOC3401END
II OUP*OELETE OC240*STORE WS UA OC240II JOBII FOR*ONE wORD INTEGERS*EXTENDEO PRECISION.NAME 011\40C ~URROUTINE 0lAG2C
KKK-IDO 210 t-l.'1
210 READI8 I KKK}(BII,JI,J s l,MI
CC 81 I.J) NOW CONTAINS FINAL A MATRIXC
- 25 -
C THIS SUBROUTINE COMPUTES THE EIGENVALUES AND EIGENVECTORS OF AC ~EAL SYM~ETRIC MATRIX, H, OF ORDER N IWHERE N MUST BE LESS T~AN
C 4DI. AND PLACES THE EIGENVALUES IN THE DIAGONAL ELEMENTS OF THEC MATRIX H. AND PLACES THE EIGENVECTORS (NORMALISEDI IN THE COLU~NS
C OF THE ~ATRIX U. IGEN IS SET AS I IF ONLY EIGENVALUES ARE DESIREDC AND IS SET AS ZE~O WHEN VECTORS ARE ALSO REOUIRED. NR CONTAINS THEC NU~BER OF ROTATIONS DONE.CC THE SUBROUTINE OPERATES ONLY ON THE ELEMENTS OF H THAT ARE TO THEC RIGHT OF THE MAIN DIAGONAL, THUS ONLY A TRIANGULAR SECTION NEED HEC 5TOREO IN THE ARRAY H.C
SUBROUTI~E OIA40(H,N,IGEN,U,NR)DI"'1ENSJON HI4Q.40) ,UI4Q.40I,X(401.IO(40)CO~MON IDUMY,JDU~y.KDUMy.LDUMY
IFIIGENII5olD,1510 DO 14 I-I,N
DO 14 J-l.NIF I I -J I I Z.l1, 12
11 Ul I,JI-l.OGO TO 14
12 ue I,J)=O.O14 CONTINUE15 NR-O
IFIN-IIIOOD,IDOO,17CC SCAN FOR LARGEST OFF-DIAGONAL ELEMENT IN EACH ROwC XIII CONTAINS LARGEST ELEMENT IN ITH ROWC 10(1 I HOLDS SECOND SUBSCRIP7 DEFINING POSITION OF ELEMENTC17 N"tJ 1-"'-1
00 30 I-"NMIIXl I 1-0.0IPLl-I+IDO 30 JaIPLl,NIF(XIIl-ABS(H(I.J))120,20,30
20 XIII-ABSIHII,JIII~ ( 1 ) aJ
30 CONTINUECC SET INDICATOR FOR SHUT-OFF. RAP-2**-27, NR-NO. OF ROTATIONSC
HAPa7.4505806E-09HDTST-I.DEJB
CC FIND ~AXIMUM OF XlilS FOR PiVOT ELEMENT AND TEST FOR ENDC OF PROBLEMC40 DO 70 t-l.NMll
IFII-1l60,60.4545 IF(X~AX-XIII160.70.70
60 X~AX.X(II
IP IV-IJPIValO( I)
7D CONTINUE
- 26 -
CC IS MAX. Xl I' EoUAL TO ZERO. IF LESS THAN HOTEST. REVISE HDTESTC
IFIX~AX'1000.1000.80
~o IFIHDTSTI90,90,A585 tFIX~AX-HOTST)90,90.148
90 HD""lN-AB5IH(l,lI100 110 1=2.NIF IHD~ I N-ARS IHII • II , 1110.110.100
100 HOMINsAB5IH(I.I})110 CONTINUE
HDTST-HD~IN·RAP
CC ~ETURN IF MAX. HII,JI LESS THAN IZ*·-21)ABSIHCK,K)-MINIC
TANr,.SIG~(2.0.IH(lPIV.IPIVI-H(JPIV,JPIV}II*HIIPIV.JPIV )!IABSIHIIPIlV, 1p t V I-HI JPIV ,JP I V) I +SQRT ( (H liP IV, IP IV I-HI JP I V ,JPIV I I ·*Z+4.0*H( tP2IV,JPIVI**211COS~_1.0/S0RTl1.0+TANG·.2'
51 'E-TA, c;*CQSNH11 =H ( I P IV, t P IV1H( 1P Iv, I PI VI.COSt~.*2*( HI I+TANG*12 .O*H ( IPI V,JP 1VI+TANG*H (JP I V,JPI V I
IIIHtJPtV.JPIV)=COSN**Z*IHIJPIV,JPIVI-TANG*IZ.O*HIIPIV.JPlVI-lANG-HIt
IIIHIIPIV,JPIVI-O.O
IFIHDTST-X~AXl1.8.10DO.1000
148 ~R·"'A+l
CC COMPUTE TAN. SINE AND COSINE. HII.I), H*J.JIC
CC PSEUDO RANK THE EIGENVALUESC ADJUST SINE AND COS FOR COMPUTATION OF HIIK' AND UIIK'C
I F I HI I P I V. I P I V, -H IJP IV. JP IV, , 152 .153.153152 HTE~P-HI IPIVoIPIV'
HIIPIVt!PIV):aHIJPIV,JPIV)HIJPIV.JPIVlzHTE~P
CC RECOMPUTE SINE AND COSC
HTEMPzSIGN(1.0.-SINEI*COSNCOSN-ABS(SINEISI"lE-HTE"1P
153 CONTINUECC INSPECT THE IDS BETWEEN 1+1 A 0 N-l TO DETERMINE WHETHER A NEWC MAXIMUN VALUE SHOULD BE CONPUTED SINCE THE PRESENT MAXIMU IS INC THE I OR J ROWC
DO 35~ 1-!.NMllIFII-IPIVI210.350.200
200 IFII-JPIV'21~.350.210
210 IF(I':)III-IPIVI230.240.230
- 27 -
no IFIIOIII-JPIVI3,0.240.350lilO !C.-IO( 11
HTE"'1P-HII.KIHlt.IO-O.OIPLI-I+lXII) '0.0
CC SEARCH IN DEPLETED ROW FOR NEW MAXIMUM
C00 320 J-IPLl.NI F I X( I I -ABS! HII • J I I 1300.300.320
300 Xln-.AASIHlItJI)10111-J
320 CONTINUEHII,K)-HTEMP
35C CONTINUEXIIPIV)-O.OXIJPIVI-o.a
CC CHANGE THE OTHER ELEMENTS OF HC
00 530 I-I.NIFII-IPIVI370.530.420
370 HTEYP-HII.IPIVIHII,IPlv)aCOSN*HTEMP+SINE*HCI,JPIVII F I XI I I-ABS I HII • I P I vI I 1380.390.390
380 Xii )·ARSIHII.IPIVII10 II I -IPIV
390 HII,JPIVI--SINE*HTEMP+COSN*HII.JPIV)I F I xII I-ABS I HI I • JP I VI I 1400.530.530
400 XIIl-ABSIH(I.JPIV1)IOIII*JPIVGO TO 530
420 IFI1-JPIVI430.530.480410 HTE<J.PaH( I?IV,I I
H( IPIV,llaCOSN*HTEMP+SINE*HI I ,JPIVIIF IXIIPIVI-ABSIHI lPIVoI I) 1440.450.450
440 XIIPIVI-ABSIHIIPIVoIl I10 I I PIV I-I
450 HII,JPIVI.-SINE*HTEMP+COSN*HII.JPIVIIFIX! I I-ABSIHI1.JPIVII )400.530.530
4RO HTEtolP-HI IPIV. I)HI IPIV.ll.COSN*HTE~P+SINE·HIJPlV,I)IF IXI IPIV)-ABSIHI IPIVoI II )490.500.500
490 ·XIIPIVI=ABSIHIIPIVoIIIIOIIPIVI-1
500 n(JPIV,lla-SINE*HTEM?+COSN*HIJPIV,I)lFIXIJPIVI-ABSIHIJPIV.II)1510.530.530
510 XIJPIV)-ABSIHIJPIV.IIII~IJPIVI·1
530 CONTINUECC TEST FOR COMPUTATION OF EIGENVECTORSC
IFllGEN140,540.40
- 2B -
0040
550.123.UtJJJI30.120,U,KKKI
600,llO,V,KKK)600,lZO,U,KKKI600,IZO,V,KKK)
3,120,U,KKKI40,120.U,KKKI40,120,U.KKKI
DIA40DIA40UAWS
FILE 7 CONTAINS TEMPORARY STORAGE
202
205206CCC
203
201
200
DO 550 l=l.NHT E"'1P.U ( 1 • I P 1V IVi I.IPIVI·COSN.HTE~P+SINE*U(I.JPIV)Vl i.JPIV}.-SINE*HTE~P+COSN*U(I,JPIV)GO TO 40
1000 RETURNEND
/ / DUP*DELETE* STORE/ / JOB/ / FOR*EXTENDED PRECISION*ONE WORD INTEGERS*IOCS(DIS~.1132 PRINTERI*NA~E DC )40** FOURTH LINK OF DISCRIMINANT A ALVSIS SCALED VECTORS W
INTEGER POl~E~SION XL(40I,AXI401,BI40,401,AI40.401COY"10N '''.K,NO.NDEFINE FILE 11DEFINE FILE 21OEFI~E FILE 31DEFINf FILE 41DEFINE FILE 51DEFINE FIL~ 61I)EFINE FILE 71DEFIN~ FILE 81
P=PR INTERp- 3EN aNDO 3000 LL-1.M
3000 REAOt3 l LL ) IAILL.I I ,1-1."'11DO ZOO l-l.MREADISI! IIBlItJI.J-l,MIDO 201 tal,MXL ( I ,-e (I ,IIVO 203 1-1 •."1RE AD ( l' I ) IB( I ,J) ,J-l.M)~KK-1
00 206 I-I,M00 202 LL-l.MAXILLI-O.ODO 205 J-l,MDO 205 KKsl.MAXIJlaAXIJ)+Bll,KKI*AIKK,JIWRITEI1'KKKI (AXIJI.J-l,M)
550
540
KKK-IDO 207 1-1.M
201 REAO(7 I KKK)(All.JI.J s l,,.,.'CC AII.JI NOW CONTAINS EIGENVECTORS
- 29 -
C00 210 J-l.Msur~v·o.o
DO 208 I-10M208 SUMV.SU~V+ AII.J)*AtJ,J)
DEN-SORTISU~VI
DO 209 1-1.M209 BII.JI-AII.JI/DEN210 CO~TINUE
CC COLUMNS OF BII.J) ARE NOW NORMALIZEDC ROOTS OF W-INVERSE A ARE NOW IN XLIIIC VECTORS ARE COLUMNS OF BII.J)C
WRITEIP.1021102 FOR~ATI1HO.'ROOTS OF W INVERSE TIMES A')
~IRITE(P.103)(XL(! l.t-l,M)103 FORMATI1HO.8F15.41
TRACE-O.O00 211 I-l.M
211 TRACE-TRACE+XLIIIDO 212 I-l.M
212 AXIII-IOO.O -IXLIII/TRACEIWRITEIP.IOOITRACE
100 FORMATI1HO.'TRACE OF W INVERSE TIMES A -'.FI5.51'.RITEIP.1011
101 FORMATIIHO.'PERCENTAGE WHICH EACH ROOT IS OF TRACE')WRITElP,1041 [AX! I) .I-l.lot)
104 FO~~ATIIHo.lOFe.4)
CALL DATSWI8.KAIGU TO 180001.800001,K8
90000 CONT I NUEWRITEIP.1051
105 FORMATIIHI.'VECTORS OF W INVERSE TIMES A.AS COLUMNS' ICALL ~PR40(B.M.2l
AOOOI CONTINUE00 213 I-l.M
213 WRITEI1'1 I(BII.J),J-l.MICC FILE 7 CONTAINS EIGENVECTORS AS COLUMNSC
RE~DI612'(AX(II.I·l.M)
00 214 I-l.MDO 214 J-1.M
214 BtI,JI-BCI.JI*AXClICC BI I.J) NOW CONTAINS SCALED VECTORS TO SHOW RELATIVE CONTRIBUTIONSC OF VARIABLES TO FUNCTIONSC
CALL DATSWI9.K91GO TO 190001.900001.K9
90000 CONTINUEWRITEIP.1061
106 FOR~ATI1H1.'SCALED VECTORS')(ALL ~PR40IB.M.21
- 30 -
90001 CONTINUEIFI~-KI300.301.301
300 "'10·'"GO TO 302
301 MOaK-l302 XLAMA-l.O
DO 215 I-l.MD215 XLAMRaXLAMB *(l.O/(l.O+XlIIlll
WRITEIP.107IXLA~B
101 FOR~ATIIHlt'LA~BOA FOR TEST OF HZ .',F20.71Ej/.~
E<.a(SaSORTI [(EM•• 21*( IEK-l.O)."2)-4.01/( (EM".21+( (EK-l.0)."2)-5.0) IY=XLAMB··ll.O/S)XMl=IEN-l.DI-IIEM+EKI/2.DIXLl·-IIE~·IEK-l.O)I-2.0)/4.0
RlalE'''·(EK-l.OIIIZ.OFlaZ.O-RIF2·(X~1·SI+(2.0*XLLI
F-111.0-Yl/YI*IF2IFlIWRlTEIP,J08IFl
108 FORI,olAT(lHO,'Fl. ',F14.7)WRITEIP,J09IF2
109 FOq~AT(lHO,fF2" ',F14.7)WRlTEIP.IIOIF
110 FOR~AT(lHO.fFOR TEST OF HZ. F • ',F14.71WRITEI6'3IMD
CC FILE 6.3 CONTAINS DIMENSION OF REDUCED SPACEC
CALL LINKIRSP401END
II DUP* DELETE DC340*STORE WS UA DC340II JOBII FOR*EXTENDED PRECISION*ONE WORD INTEGERS*IOCSIlI32 PRINTER.DISKI.. "4AME RSP40
** FIFTH LINK OF DISCRIMINANT ANALYSIS DISPERSION-CENTROIDS RSP40I~ TEGER PDIME"45ION XBARI15.40),CENT(15.141,DI40,40I,V(40,141COMMON M,K,NO,NGDEFINE FILE 11 550.123.U.JJJIDEFINE FILE 21 30.120.U.KKKIOEFINE FILE 31 600.120.U.KKKIDEFINE FILE 41 600.120.U.KKKIDEFI~E FILE 51 600.120.U.KKKIDEFINE FILE 61 3.120.U.KKKIDEFINE FILE 71 40.120.U.KKKIDEFINE FILE 81 40.120.U.KKKI
C P-pqI NTERP= 3
- 31 -
READl6'31MDDO 200 1-1,'1
200 QE.6.0(7'I IIV(l.J).J.l,MDIwRITEIP.IOOIK
lCO FOR~ATIIHO.'NUMBER OF GROUPS zl.I31WRlTEIPoiOllM
101 FOR~ATIIHO.'NUwBER OF TEST VARIABLES _ '.131wRlTEIP.102I:O<D
102 FOR~ATIIHO.'NUMBER OF DISCRIMINANT FUNCTIONS - '.131,.RITEIP,1031
103 FORV,ATIIHO.'VECTOR OF wEIGHTS AS ROwS'100 201 J-t,MO
201 W~ITE(P.104JIV(J.JI.I·l.M)
104 FOR~ATIIHO.8FI5.71
00 202 KK-I.KICKK-IC.K+lS
202 RE.6.D(2IKKKI(XAARIKK.J),J·l.~)
'.RITEIP.1051lOS FOR~ATIIHO.'MEANS OF GROUPS IN TEST SPACE'I
DO 203 1-1,K203 \"RITfCPd041IXeARll ,J) .J=l.\4)
DO 204 l-ltK00 204 Jal."tOCENT(I.JI-O.O00 204 N-l,:-1
204 CENT(I.JI·CE~TII.JI+XBAR(I.NI*V(N.JI
WRITElPol061106 FO~~'ATIIHO.'CE~TROIDS OF GROUPS IN REDUCED SPACE.ROw-WISE' I
DO 205 1-1,K205 WRITEIP,104JeCENTII.JI.J-1,,"tOI
00 206 t-l.I(206 WRllE(7'I lICE'HII,J},J-l"vDICC FILE 7 CONTAINS CENTROIDS OF GROUPS IN REDUCED SPACE IN ROWSC
00 220 Let,1C'.KKK s ll-ll*40+100 207 KJ-I.,V.
207 READI5 I KKKIIDIl(,J,JI,J a l."",)WRITEIPol071L
107 FORVATIIHO.'DISPERSION IN REDUCED SPACE FOR GROUP'.13100 20P I-I.MDDO 20A Jal.MXAAR(I.JI-O.ODO ZO~ Nal,;'"
208 XAAR( I .JI-X8AR( t .JI+V(~,J I*OIN.J)DO 209 1-1.>'000 209 Jat.MO(E"IT (1 ,Jl-O.ODO 209 "'I-l,M
209 CENTll.JlaCENT(l,JI+XBARII.N)*VIN.JI00 210 I-I.MD
210 '..RITE(P,l041ICENTII.JI,J=1.MDl~I(K·IL-11*14+1
DO 211 1-1.1'10
- 32 -
211 WRITE()'KKKIICENT(l,JI,J-l,MD)CC FILE 3 CONTAINS DISPERSION ~ATRICES IN REDUCED SPACE BY GROUPSC270 CONTINUE
DO 3000 LL-l.M3000 WRITEl8'LL IIVILL,JI.J-l,'1D)
CALL Ll~KICLS401
ENOII DUP*DELETE QSP40*STOQE wS UA RSP40II JOBII FOQ*ONE wORD INTEGERS*EXTENOED oRECISION*IOCSIDISKI*NA"E CLS40** SIxTH LINK OF DISCRI~INANT A~ALYSIS CALCULATION OF INVERSE CLS40
Dl~ENSION OI14.14,151,DGI14,141.BllS)CO,...·'ON '·',J(,.fiO.NG
DEFINE FILE II 55Q,123,U.JJJIO<FI E FILE 21 30.120.U.KKKIDEFINE FILE 31 600.120.U.KKKIDEFINE FILE 41 600.120.U.KKKIDEFINE FILE 51 600.12D.u.KKKIoEFINE FILE ~I 3.120.U.KKKIDEFINE FILE 71 40,120.U.KKKID~FINE FILE et 40.120,U,KKKIRt:.AOt6'))i-1D~E AD t 6 I II (A I I I • I a 1. KI1)0 210 KK,;:I,KKI(I(=(I(¥-1}*14+1~O 202 I-l.MD
202 j~EAD(3'KKK)IOG{1,JI,J:z.l,MDI
CALL ~AT15(DG.~D.B,O.DET'
DO 203 I II:l.MDDO 203 J al,rl,D
203 DtI,J,KKI-OGII.JI210 HIKKI-BIKKI/SORTIDETI
',011{ IT E (6 I II IBtl J t I '11'1 ,K I[)O 4QCO 1-1''''',0K~K-II-ll*14 + 1DO 4000 J-l."D
4000 '~RITEI4IKKKI(D(l.J,KKI.KK=1.K)
CALL DATSWll1.NlllGO TO 1500,4001.Nll
530 CALL LINKIPU 401400 CALL LINKICLS411
E~O
II DUP*DELETE CLS40*STOQE W$ UA CLS40II JOB/ I FOR
- 33 -
*ONE wORD I\TEGERS*EXTENDED PRECISION*IOCSICARO,DISKI** PUNCH OUTPUT ROUTINE FOR RETENTION OF DISCRIMINA\T FUNCTION*t~AME PUN4C
PHEr;f:R (,0OIvE"~SIO~ CENTI14,lS),BI151,Ot14.14,15',V(40,14)COM~ON ~.K.NO,NG
DEFINE FILE 11550,123,U,JJJIDEFINE FILE 21 30,120,U,KKKIDoFI~E FILE 31600.120,U,KKKIDEFINE FILE 41600,120,U,KKKIDEFINE FILE 5160D,12D,U.KKKIDEFI~E FILE be 3.120,U,KKKIDEFINE FILE 71 40,12D,U.KKKIDEFI~~ FILE B( 40,120,U,KKK)
C C=CARD READER O-PUNCHC= 80- 2WRITEIO.20DI
200 FORMATl80XIREADI6'3IMDWRITEIO,90IM,K.NO.NG,~D
90 FOR~AT('CONTROL CARD M,K.NO,NG.MO',515)RE" 0 ( 6 I II I 8 I I I • I-I • K)\\'RITFIOdOOIIRIII,I-=l.K)
100 'FORMATI'S ~"TRIX ',5EI4.61DO 10 I-l.KREADI1 1 11(CEfoiTIJ.II.J-l,MO)
10 WRITEIO,lOlII,ICENTIJ.II.J=l,MDI101 FORf~All'CENTROID',12.5E14.6/10X,5E14.6/10X,4E14.6.14X)
DO 20 LL-l,MREAOCA'lL I (VllL.I Itt-I,MOI
20 WRITEIO.I02ILL,(VILL,J I.I-I,MOI102 FORM/lT( IV flATRIX' .12.5E14.6/10X,5E14.6/10X.4f14.6.14XI
DO 30 I-ltMD)(I(,K-II-1 '*14+1DO 30 J-l.~D
READI4 1 KKKI COli ,J,KKI ,KK-1,K)30 WRITEIO,10311,J,(OIItJ,KKI,KK-1.Kl
103 FORMAT(I D '.212,5E14,6/10X,5E14,6/10X.5E14.6lCALL LlNKlCLS411E~D
II DUP*OELETE PUN40*STORE WS UA PUN40II JOBII FOR*ONE WORD INTEGERS*EXTENDED PRECISION*IOCSIDISK,l132 PRINTER I*NAME CLS41** SEVENTH LINK OF DISCRIMINANT ANALYSIS DISCRIMINATION DATA CLS41
INTEGER PDIMENSION PlI151.BI151.CENTI14,15I,DI14,14,15I,XI40I'OISCI141
- 34 -
DIMENSION DIFI141.CHI 1141,CHISQl151 ,VI4D,141CO~~ON M,K,NO,NGDEFINE FILE II 550,123.U.JJJIDEFINE FILE 21 30,120.U,KKKIDEFINE FILE 31 600.120,U,KKKIDEFINE FILE 41 600,120.u.KKKIDEciNE FILE 51 600.120.U.KKKIDEFINE FILE 61 3,120.U.KKKIDEFINE FILE 71 40,120.U.KKKIDEFINE FILE al 40,120.U.KKKI
C P-P{JNTERp- 3
100 FO~~AT(lHO.'OISCRl~INANTSCORES-IO ',15.1X.9FIO.4,/,30x.5FIO.41101 FOR~AT(lH ,'CLASSIFICATION CHI SQUARES • ,9FIO.4.1.30X,6FIO.4)102 FORvATllH ,'PROBABILITY OF GROUP MEMBER ',9FIO.4,1.30X,6FIO.4)
EADI6'3IMD00 3000 lL-l,fooI
3000 RE~~I~'LL I (V(Ll,t),I·l.~O)00 4000 l·l.~O
I<.KI("'( 1-11*14+1DO 4000 Jal,MD
4000 READ(4'KKK) IDII,J,KK) ,KK-l,IODO 201 1-1.K
201 REAOl7tt IICENT(JdhJ=l.MOIH:EAI) ( 6'11 (B I I I, I-I ,1(1JJJ-l
300 IFING-JJJI521.520.520521 IFINO)406.406,405405 CALL LINKICLS421406 CALL EX I T520 RE ADI 1 ' J JJ IXI0 ,( XI I I 01-1 ,M I
DO 211 J-1,MDDISCIJI-D.O00 211 I-I,M
211 DISC IJI-DISCIJI+IXI II*VII,JII10-XIDWRITEIP,lDDIID,IDISCIJI,J-1,MDIDO 220 KK-1,KDO 215 I-I,MO
215DIFIII-DISCIII-CENTII,KKI00 216 J-l.MDCH II J 1-0.000 216 I-I,MO
216 CHIIJ:-CHIIJI+IDIFIII*DII.J,KKIICHISQIKKI-O.ODO 220 1-1,MD
7.20 CHISOIKKI-CHISOIKKI+IDIFIII*CHII IIIWRITEIP,1011ICHISQIKKI,KK-1,KIP2 -0.0DO 221 KI(-I.1(,P1IKKI-BIKKI*EXPI-CHISQIKKI/2.01
221 P2-P2+P1IKKIDO 222 KK-1.K
222 P1IKKI-P1IKKI/P2
----------------------------------
- 3~ -
WRITEIP.1021IP1IKKI.KK*1.KIGO TO 300E~O
II OUP*OELETE CLS41*STORE WS UA CLS41II JOBII FOR*ONE WORD INTEGERS*EXTENDED PRECISION*IOC512501 READER I*IOCS(1132 PRINTERI*IOCSfDISKI*NAME CLS42** EIGHTH LINK OF DISCRIMINANT ANALYSIS DiSCRIMINATION NEW DATA CLS42
INTEGER PDI MENS I ON PIll 5 I .B 115 I .CENT 114.15 I • D114 .14.15 I • XI40) •DISC I 141DIMENSION DIFI14).CHII141.CHISQI151.VI40.141COMMON ~,K.NO.NG
DEFINE FILE 11 550.123.U.JJJIDEFINE FILE 21 30.120.U.KKKIDEFINE FILE 31 600.120.U.KKKIDEFINE FILE 41 600.120.U.KKKIDEFINE FILE 51 600.120.U.KKKIDEFINE FILE 6( 3.1Z0.U.KKKIDEFINE FILE 7( 40.1Z0.U.KKKIDEFINE FILE 8f 40.1Z0.U.KKK)
C P.PRI NTERp. 3
100 FORMATIIHO,IDISCRIMINANT SCORES-ID '.I5,lX,9FIO.4,/,30X.5FIO.41101 FORMA~(lH .'CLASSIFICATION CHI SQUARES '.9F10.4.1.30X.6F10.4)102 FORMATllH ,'PROBABILITY OF GROUP MEMBER '.9FIO.4./.30X,6FIO.41
READI6'31MDDO 3000 LLal,M
3000 READI8'LL IIVILL.I I oJ*l.MDIDO 4000 1-1.MDI<I<K-(1-1)*14"'1DO 4000 J.l,MO
4000 READI4'KKK) lOt [,J,KKl,KK.-l,KIDO 201 1-1,K
ZOl READI7'I IICENTIJoll.J*l.MDIREAOI6'11IBIII.laI.Kl
310 CALL RED40IM.XID.XIIFIXIOI402.406,402
406 CALL EXIT40Z DO 211 J=l.MD
DISCIJI.O.ODO 211 l-l.M
Zll 01 SC IJI*DISClJ)+IXI II*VII.J IIID-X 10WRITEIP,lOOlID,(OlSCIJ).J-l,MDIDO 220 KK-1.KDO 215 1-1.MD
215 DIFIII-DISCIII-CENTII.KKIDO 216 J-1.MD
- 36 -
CHIIJI-O.ODO 216 1-1.MO
216 CHIIJI=CHIIJI*IOIFIII*DII.J.KKIICHISOIKKI-O.ODO 220 I-I,MO
220 CHISQIKKI-CHISOIKKI*IDIFIII*CHIIIIIWRITEIP.1011ICHISOIKKI.KK=1.KIP2 -0. aDO 221 KK-1.KP1IKKI-BIKKI*EXPI-CHISOIKKI/2.01
221 P2-P2*P1IKKIDO 222' KK-1.K
222 P1IKKI-P1IKKI/P2WRITEIP.1021IP1IKKI.KK-1.KIGD TO 310END
II DUP*OElC:T[ CLS42*STORE wS UA CLS4Z
II JORII FOR*ONE WORD INTEGERS*EXTENDED PRECISION*~A""'E "'A115C THIS SUBROUTINE COMPUTES THE INVERSE AND DETERMINANT OF MATRIX A.C OF ORDER N. BY GAUSS-JOn DAN lETHOD. A-INVERSE REPLACES A. AND THEC DETER~INANT OF A IS PLACED IN DET~. IF Mol. THE VECTOR R CONTAINSC THE CONSTANT VECTOR WHEN MATIN IS CALLED. AND THIS IS REPLACEDC WITH THE SOLUTION VECTOR. IF M-O. NO SIMULTANEOUS EOUATIONC SOLUTIONS ARE CALLED FOR AND B IS NOT PERTINENT. N SHOULD NOTC EXCEED 10 WITHOUT FIRST INCREASING DIMENSION.CC
SUBROUTINE MATlS(A,N,B,M,DETMlOIMENSIO"I IPVOTI141,AI14.14I,BI14.1I,INDEX(14,2J,PIVQTI14)COMMON IDUMY,JDUMY,KOU~Y,lDUMY
EQUIVALENCE (IROW.JROW),IIClUM,JClUM1,IAMAX,T.SWAPIC INITIALIZATION
DETMal.ODO 20 J-l.N
20 IPVOTIJI-ODO 550 l-l.NSEARCH FOR PIVOT ELEMENTA,,",AX-O.O00 105 J-l.NIFIIPVOTIJI-1160.105.60
50 DO 100 K-ltNIFIIPVOTIKI-1180.100.740
80 IFIARSIA~AXI-ABSIAIJ.KII185.100.100
AS IROWaJICLUM-K"""AX-A(J,K)
100 CO TINUE105 CONTINUE
- 37 -
IPVOTIICLUM)-IFVOTIICLUMI+1INTERC"ANGE ROWS TO PUT PIVOT ELE~ENT ON DIAGONALIFIIROW-ICLU~1140.260.140
140 OET~--OETM
00 200 L-t.NSWA.P-A( IROW.L1AIIROW.LI-AIICLU~.LI
200 AIICLUM.LI-SWAPIFI~1260.260.210
210 00 250 L-1.~
SWAP -~ II ROW.LIBIIROW.LI-BIICLU~.LI
250 BIICLUM.LI-SWAPHO INOEXII.ll-IROW
INOEXII.21-ICLU~
PI VOT Ill-A IICLUw.ICLUMIOETM-OETM>PIVOTII)OIVIOE PIVOT ROW BY PIVOT ELEMENTAl !CLU..... ICLuro1l·1.0DO 350 Lat,N
350 AIICLUM.LI-AIICLUM.LI/PIVOTIIIIFIMI380.380.360
360 DO 370 L=l.M370 BIICLU~.L1-BIICLUM.L1/PIVOTIII
C REDUCE NON-PIVOT ROWS:lRO 00 5S0 Lt-I.N
IFIL1-ICLUMI400.550.400400 r-AILl,ICLUM)
AILl,IClU"lI-O.ODO 450 L-l.,'l
450 AILl.LI-AILl,LI-A(ICLUV,.LI*TIFIMI550.550.460
460 DO 500 L-l.M500 BIL1.LI-RIL1.LI-BIICLU~.LI>T
550 CONTINUEC INTERCHANGE COLUMNS
DO 710 I-I.NLcN+I-1IF I I NOEX ILoIl-INOEX IL.211630.710.630
630 JROW-INOEXIL.11JCLUM-INDEXIL.2)DO 705 K-l.NSWAP-AIK.JROW)A(K.J~OWI.A(K.JCLUMI
AIK.JCLUMI-SWAP705 CONTINUE710 CONTINUE740 RETURN
ENDII OUP>OELETE ··\A TIS>STORE WS UA MATISII J0BII FOR.EXTF~OEO PP~CISION
- 38 -
*O~E WORD INTEC,ERS*NA'I.E '1PR40CC THIS SUBOOUTINE WILL PRINT SQUARE MATRICES uP TO 12 BY 12CALL qOWS AND COLUMNS ARE APPROPRI~TELY LABELEDC DEFINITION OF SUBROUTINE ARGUMENTSC Rl I.JI - MATRIX TO BE PRINTEDC ~- ORDEqC L - 1 FOR 12F~.4 OUTPUT OR 2 FOR BE14.7C
SuqROUTINE MPR40IR.~.LI
li'HE(;!:R PDlvE~SIO R(40.401,JI401CovvON IDUYY,JDU~y.KDu~y.LDU~Y
P..PR1I'HEQP- 3IFlL-112,2,4Ll-llGO TO
4 Ll-7Jl-0J2-0JSEC-O!)O R 1=1 ,MJl II" IJl-J2+1J7-Jl+LltFIJ2-~I13.13.12
17 J2-M13 JSEC-JSEC+l
IFIJSEC-lI1B.IB.1919 WRITEIP.17IJSEC17 FORMATtltiO,' SECTIOf'I',I311
GO TO 20110 WRITEIP.20IJSEC20 FO~MAT(1HO, SECTION I ,13/)201 IFIL-1l21.21.2621 ....1~ITE1P,22)(JIIld=Jl'J2122 FORvATIlHO,' ROW 1,3Xtl2I81
DO 23 J"'l,M2'3 'IlRITEIP,24II,IRtI,KI,K:JltJ2124 FO~MAr(lHN,I6,4X,12FB.4J
GO TO 312~ WRITE:I~,271(J(Jld=Jl.J2)
27 FOR~AT(lHO, If«OW' .811410:> 29 I a1."1
29 N~ITEIP.30)1.(R(I.KI,K=Jl.J21
30 FOqVATIIH ,14,4X,8E14.1131 IFtJ2-~19,32,32
32 REruqNE '0
/I DUP*DELETE ',PR40*STOqE WS UA vPR40
- 39 -
DATA INPUT SUBROUTINE ALSO USED BY UNCLS PROGRAMTHIS SUBROUTINE CAN ALSO HE USED TC SCREEN OR TRANSFORM THE DATA
1/ JCB1/ FOR*LIST ALL*O~E WORD INTEGERS*EXTENDED P~FCISION
*NA~E RED40CC TIllS SUBROUTI~E READS IN THE TEST DATA MD ADDITIONAL DATAC FOP~AT 30 ~UST CUNFOR~ TO THE INPUT DATAC
SUBROUTINE RED4DI~.XID.XI
DIME'ISION Xl401DI~ENSION RAWl991CO...,,.~O IDUMy.JDUtn.KDU~y.LI)UMY
REAOI8,30IYID,ZID.IRAWIII.I-I,91XIO-YIO*lOO.O+ZIO
30 FOR~AT(F2.0.2x,F2.0,11x.9F7.0)
11-10DO 100 1-1.9111-11+9READI R.311IRAIoIIJI.J-II.IIIIJl-11+10
100 CONT IWEJJ-I0DO 200 1-1.40X( II-RAWeJJ)JJ·JJ+2
200 CONTINUE31 FOR~ATIIOx,10F7.DI
RETURNE'~D
/ / DUP*DELETE RED40* STORE loiS uA RED40
- 40 -
I I JOBI I FOR*ONE WORO INTEGERS*EXTENDED PRECISION*IOCSII132 PRINTER)*IOCSI2S01 READERI.LIST ALL*NA~E UNCLS** UNKNOWN DiSCRIMINANT CLASSiFICATION ROUTINE IS X 40 MAX
INTEGER P.CDlilo1ENSION CENTI14,lS) ,R1151 ,O( 14tl4.1S1 ,VI4Q.141 ,X1401DI~ENSIO~ WORKIIISI.WORK21141.WORK31141.WORK41ISICO~HON IDUMY,JDUMV.KDU~y.LDUMY
C- BP= 3REAO(C.100)M.K.NO.NG,~D
100 FOR~ATI25X.SISI
READ 1C.1011 1BI I I • I =I. KIDO 10 1=1,1(
10 READIC.IOll ICENTIJ.II.J-I.MDI101 FORMATIIOX.SEI4.61
DO 20 I-I.M20 READIC,lOlllVI I ,LI.L=l,MDI
DO 30 I'l:l.MDDO 30 J-I.MD
30 READICoiOll IDII.J.L1.L=I.KI~AT~ICES NOW READ INTO CORE'N~ITEIP.IOSI
105 FJR'1AT(lHl.' ')C CALL IN DATA USING SAME RED40 AS ORIGINAL RUN900 CALL QED40IM.XID.XI
IFIXIDI200.2000.2002000 CALL EXI T
200 DO 201 J=I.MDWORl(l (jl-O.ODO 201 I=l,M
201 WORKIIJI·WORKIIJI+IXIII*VII.JIIID'X 10CALL DATSWII.KIIGO TO 120DI.IOOll.KI
1001 CONTINUE~"R I TE (P .102 I to. (WORKl ( J I • j:l' 1. MD I
102 FJRMATIIHO.'DISCRIMINANT SCORES FOR SAMPLE'.16./IX.SE20.1./IX.SE201.1./IX.5E20.7)
2001 CONT I 'UEDO 204 1<.1( 1I 1,KDO 207 I-I.MD
202 WORK2111=WORKIIII-CENTII.KKIDO 203 J=I.MDWJQK3IJI·O.O00 203 1:1:1."10
203 WO~~3IJlaWORK3IJ)+(WORK2III*DII.JtKK»
\·/ORK41I(K)-O.O
- 41 -
DO 204 I-I.MO204 WORK4IKKI-WORK4IKKI+IWORK2111*WORK3IIII
GO TO 14001.30011.KI3001 CONTINUE
WRITEIP,1031IWORK4IKKI.KK-1,1()103 FORMATIIHO.'CLASSIFICATION CHI-SOUARES'./IX.5E20.7./IX.5E20.7./IX.
15E20.714001 CONTINUE
PROA-O.O00 20S KI(-I.KWORKIIKKI-BIKKI*EXPI-WORK4IKKI/2.01
205 PROB-PROB+'ORKIIKKIDO 206 KI(,-I.K
206.0RKIIKKI-WORKIIKKI/PROBGO TOI6001.50011.KI
5001 CeNT I NUEWR I TE (P,1041 [WORK} O::'K) .KI<::o:1 ,I< I
104 FORMATIIHO.'PROBABILITY OF GROUP MEMAERSHIP'./lx.5F20.5./IX.5F20.51./IX.5F20.5)
GO TO 9005001 CONTINUE
wR I TE IP 01061 ID.IWORKlI KK I .KK=I.K I106 FOR'olATllH ,'IO·fd5,' PROB'" '.15F1.41
GO TO 900END