+ All Categories
Home > Documents > FISHERIES RESEARCH BOARD OF CANADA TECHNICAL … · FISHERIES RESEARCH BOARD OF CANADA Technical...

FISHERIES RESEARCH BOARD OF CANADA TECHNICAL … · FISHERIES RESEARCH BOARD OF CANADA Technical...

Date post: 20-Apr-2018
Category:
Upload: vuquynh
View: 230 times
Download: 3 times
Share this document with a friend
44
FISHERIES RESEARCH BOARD OF CANADA TECHNICAL REPORT NO. 212 1970
Transcript

FISHERIES RESEARCH BOARD OF CANADA

TECHNICAL REPORT NO. 212

1970

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 discri­minant 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, classi­fication 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 micro­tags 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 discrimi­nant analysis (Fortran 1130, Extended Version). Fish. Res. Bd. CanadaTech. Rept. No. 112, 26 p.

LISTING OF PROGRAMS

- 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


Recommended