10 LET d=2000: GO SUB 1000: GO SUB 4000: GO SUB 5000 20 LET d=3000: GO SUB 1000: GO SUB 4000: GO SUB 5000 30 STOP 1000 RESTORE d 1010 READ a,b 1020 DIM m(a,b) 1040 FOR i=1 TO a 1050 FOR j=1 TO b 1060 READ m(i,j) 1070 NEXT j 1080 NEXT i 1090 RETURN 2000 DATA 3,3,25,15,-5,15,18,0,-5,0,11 3000 DATA 4,4,18,22,54,42,22,70,86,62,54,86,174,134,42,62,134,106 4000 REM Cholesky decomposition 4005 DIM l(a,b) 4010 FOR i=1 TO a 4020 FOR j=1 TO i 4030 LET s=0 4050 FOR k=1 TO j-1 4060 LET s=s+l(i,k)*l(j,k) 4070 NEXT k 4080 IF i=j THEN LET l(i,j)=SQR (m(i,i)-s): GO TO 4100 4090 LET l(i,j)=(m(i,j)-s)/l(j,j) 4100 NEXT j 4110 NEXT i 4120 RETURN 5000 REM Print 5010 FOR r=1 TO a 5020 FOR c=1 TO b 5030 PRINT l(r,c);" "; 5040 NEXT c 5050 PRINT 5060 NEXT r 5070 RETURN