1 ! PROGRAM INVE, VERSION 1A (31-AUG-73) ! 2 ! PROGRAM INVE PERFORMS MATRIX INVERSIONS FOR COSAP MODULES. ! IT IS ONE OF THE SEVERAL PROGRAMS AND FILES WHICH COMPOSE COSAP, ! LAWRENCE UNIVERSITY'S CONVERSATIONALLY ORIENTED STATISTICAL 3 ! ANALYSIS PACKAGE. COSAP IS DISTRIBUTED FOR EDUCATIONAL USE, ON ! THE CONDITION THAT IT NOT BE SOLD, RENTED OR LEASED FOR PROFIT. ! 4 ! IF YOU DESIRE FURTHER INFORMATION ABOUT COSAP, PLEASE CONTACT THE !LAWRENCE UNIVERSITY COMPUTER CENTER, APPLETON, WISCONSIN, 54911. ! 10 DIM N%(30%) ! FUNCTION TO CREATE FILE EXT BASED ON JOB # 20 DEF FNZ$ : IF N%(0%)=30% THEN 30 ELSE CHANGE SYS(CHR$(6%)+CHR$(9%)+CHR$(0%)) TO N% : Z8$=".J"+RIGHT(NUM$(N%(1%)/2%),2%) 30 FNZ$=Z8$ ! EXTENSION IS ".J" + JOB # 40 FNEND 110 OPEN "DISC2"+FNZ$ AS FILE 2% 120 OPEN "DISC1"+FNZ$ AS FILE 3% 130 DIM #2%, N2(50%),M2(50%),T9(0%),L6(0%),G9(0%),L1(0%) 140 DIM #3%,R(50%,50%) 150 L6=L6(0%) 160 DIM L(50%),M(50%) 170 D=1 180 FOR K%=1% TO L6 : L(K%)=K% : M(K%)=K% : A6=R(K%,K%) : FOR I%=K% TO L6 : FOR J%=K% TO L6 : IF ABS(A6)>=ABS(R(I%,J%)) THEN 200 190 A6=R(I%,J%):L(K%)=I%:M%(K%)=J% 200 NEXT J% : NEXT I% 210 J=L(K%) : IF L(K%)<=K% THEN 230 220 FOR I%=1% TO L6 : H=-R(K%,I%) : R(K%,I%)=R(J,I%) : R(J,I%)=H : NEXT I% 230 I%=M(K%) : IF M(K%)<=K% THEN 250 240 FOR J%=1% TO L6 : H=-R(J%,K%) : R(J%,K%)=R(J%,I%) : R(J%,I%)=H : NEXT J% 250 FOR I%=1% TO L6 : IF I%=K% THEN 260 ELSE R(I%,K%)=R(I%,K%) /(-R(K%,K%)) 260 NEXT I% : FOR I%=1% TO L6 : FOR J%=1% TO L6 : IF I%=K% THEN 280 ELSE IF J%=K% THEN 280 270 R(I%,J%)=R(I%,K%)*R(K%,J%)+R(I%,J%) 280 NEXT J% : NEXT I% : FOR J%=1% TO L6 : IF J%=K% THEN 290 ELSE R(K%,J%)=R(K%,J%)/R(K%,K%) 290 NEXT J% : D=D*R(K%,K%) : R(K%,K%)=1/R(K%,K%) : NEXT K% 300 K%=L6 310 K%=K%-1% 320 IF K%<=0% THEN 500 330 I%=L(K%) : IF I%<=K% THEN 350 340 FOR J%=1% TO L6 : H=R(J%,K%) : R(J%,K%)=-R(J%,I%) : R(J%,I%)=H : NEXT J% 350 J%=M(K%) : IF J%<=K% THEN 310 360 FOR I%=1% TO L6 : H=R(K%,I%) : R(K%,I%)=-R(J%,I%) : R(J%,I%)=H : NEXT I% : GOTO 310 500 CLOSE 1%,2%,3%,4%,5% : K$=SYS(CHR$(7%)) : N$=LEFT(K$,7%) : S0=VAL(RIGHT(K$,8%)) : CHAIN N$ S0 32767 END