_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

MATINVERT.L

FILE INFORMATION

FILENAME(S): MATINVERT.L

FILE TYPE(S): SEQ

FILE SIZE: 889b

FIRST SEEN: 2025-12-01 01:48:21

APPEARS ON: 2 disk(s)

FILE HASH

8a69dced20c8ef63286c6b074816d815f5e558a8c792dbf142dc1d70f583c22a

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
CCS COMAL MATINVERT.L SEQ hedning, Mattias H00r 25 14 DOWNLOAD FILE
CCS COMAL MATINVERT.L SEQ hedning, Mattias H00r 25 14 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 39 30 30 30 20 50 52 4F  43 20 4D 41 54 49 4E 56  |9000 PROC MATINV|
00000010: 45 52 54 28 52 45 46 20  41 28 2C 29 2C 4E 2C 52  |ERT(REF A(,),N,R|
00000020: 45 46 20 41 49 28 2C 29  29 20 43 4C 4F 53 45 44  |EF AI(,)) CLOSED|
00000030: 0D 39 30 31 30 20 44 49  4D 20 41 41 28 4E 2C 4E  |.9010 DIM AA(N,N|
00000040: 29 2C 20 55 28 4E 2C 4E  29 0D 39 30 32 30 20 4D  |), U(N,N).9020 M|
00000050: 41 54 45 51 55 41 4C 28  41 2C 4E 2C 4E 2C 41 41  |ATEQUAL(A,N,N,AA|
00000060: 29 0D 39 30 33 30 20 4D  41 54 55 4E 49 54 28 55  |).9030 MATUNIT(U|
00000070: 2C 4E 29 0D 39 30 34 30  20 46 4F 52 20 4B 23 3A  |,N).9040 FOR K#:|
00000080: 3D 31 20 54 4F 20 4E 20  44 4F 0D 39 30 35 30 20  |=1 TO N DO.9050 |
00000090: 46 4F 52 20 49 23 3A 3D  31 20 54 4F 20 4E 20 44  |FOR I#:=1 TO N D|
000000A0: 4F 0D 39 30 36 30 20 41  49 28 4B 23 2C 49 23 29  |O.9060 AI(K#,I#)|
000000B0: 3A 3D 41 28 4B 23 2C 49  23 29 2F 41 28 4B 23 2C  |:=A(K#,I#)/A(K#,|
000000C0: 4B 23 29 0D 39 30 37 30  20 55 28 4B 23 2C 49 23  |K#).9070 U(K#,I#|
000000D0: 29 3A 3D 55 28 4B 23 2C  49 23 29 2F 41 28 4B 23  |):=U(K#,I#)/A(K#|
000000E0: 2C 4B 23 29 0D 39 30 38  30 20 45 4E 44 46 4F 52  |,K#).9080 ENDFOR|
000000F0: 20 49 23 0D 39 30 39 30  20 46 4F 52 20 49 23 3A  | I#.9090 FOR I#:|
00000100: 3D 31 20 54 4F 20 4E 20  44 4F 0D 39 31 30 30 20  |=1 TO N DO.9100 |
00000110: 41 28 4B 23 2C 49 23 29  3A 3D 41 49 28 4B 23 2C  |A(K#,I#):=AI(K#,|
00000120: 49 23 29 0D 39 31 31 30  20 45 4E 44 46 4F 52 20  |I#).9110 ENDFOR |
00000130: 49 23 0D 39 31 32 30 20  46 4F 52 20 49 23 3A 3D  |I#.9120 FOR I#:=|
00000140: 31 20 54 4F 20 4E 20 44  4F 0D 39 31 33 30 20 49  |1 TO N DO.9130 I|
00000150: 46 20 49 23 3D 4B 23 20  54 48 45 4E 20 47 4F 54  |F I#=K# THEN GOT|
00000160: 4F 20 53 4B 49 50 0D 39  31 34 30 20 46 4F 52 20  |O SKIP.9140 FOR |
00000170: 4A 23 3A 3D 31 20 54 4F  20 4E 20 44 4F 0D 39 31  |J#:=1 TO N DO.91|
00000180: 35 30 20 41 49 28 49 23  2C 4A 23 29 3A 3D 41 28  |50 AI(I#,J#):=A(|
00000190: 49 23 2C 4A 23 29 2D 41  28 49 23 2C 4B 23 29 2A  |I#,J#)-A(I#,K#)*|
000001A0: 41 28 4B 23 2C 4A 23 29  0D 39 31 36 30 20 55 28  |A(K#,J#).9160 U(|
000001B0: 49 23 2C 4A 23 29 3A 3D  55 28 49 23 2C 4A 23 29  |I#,J#):=U(I#,J#)|
000001C0: 2D 41 28 49 23 2C 4B 23  29 2A 55 28 4B 23 2C 4A  |-A(I#,K#)*U(K#,J|
000001D0: 23 29 0D 39 31 37 30 20  45 4E 44 46 4F 52 20 4A  |#).9170 ENDFOR J|
000001E0: 23 0D 39 31 38 30 20 46  4F 52 20 4A 23 3A 3D 31  |#.9180 FOR J#:=1|
000001F0: 20 54 4F 20 4E 20 44 4F  0D 39 31 39 30 20 41 28  | TO N DO.9190 A(|
00000200: 49 23 2C 4A 23 29 3A 3D  41 49 28 49 23 2C 4A 23  |I#,J#):=AI(I#,J#|
00000210: 29 0D 39 32 30 30 20 45  4E 44 46 4F 52 20 4A 23  |).9200 ENDFOR J#|
00000220: 0D 39 32 31 30 20 53 4B  49 50 3A 0D 39 32 32 30  |.9210 SKIP:.9220|
00000230: 20 45 4E 44 46 4F 52 20  49 23 0D 39 32 33 30 20  | ENDFOR I#.9230 |
00000240: 45 4E 44 46 4F 52 20 4B  23 0D 39 32 34 30 20 4D  |ENDFOR K#.9240 M|
00000250: 41 54 45 51 55 41 4C 28  55 2C 4E 2C 4E 2C 41 49  |ATEQUAL(U,N,N,AI|
00000260: 29 0D 39 32 35 30 20 4D  41 54 4D 55 4C 54 28 41  |).9250 MATMULT(A|
00000270: 41 2C 4E 2C 4E 2C 41 49  2C 4E 2C 55 29 0D 39 32  |A,N,N,AI,N,U).92|
00000280: 36 30 20 46 4F 52 20 49  23 3A 3D 31 20 54 4F 20  |60 FOR I#:=1 TO |
00000290: 4E 20 44 4F 0D 39 32 37  30 20 46 4F 52 20 4A 23  |N DO.9270 FOR J#|
000002A0: 3A 3D 31 20 54 4F 20 4E  20 44 4F 0D 39 32 38 30  |:=1 TO N DO.9280|
000002B0: 20 53 3A 3D 53 2B 41 42  53 28 55 28 49 23 2C 4A  | S:=S+ABS(U(I#,J|
000002C0: 23 29 29 0D 39 32 39 30  20 45 4E 44 46 4F 52 20  |#)).9290 ENDFOR |
000002D0: 4A 23 0D 39 33 30 30 20  45 4E 44 46 4F 52 20 49  |J#.9300 ENDFOR I|
000002E0: 23 0D 39 33 31 30 20 53  4D 41 58 3A 3D 31 45 2D  |#.9310 SMAX:=1E-|
000002F0: 30 38 0D 39 33 32 30 20  53 3A 3D 53 2D 4E 0D 39  |08.9320 S:=S-N.9|
00000300: 33 33 30 20 53 3A 3D 53  2F 28 4E 2A 28 4E 2D 31  |330 S:=S/(N*(N-1|
00000310: 29 29 0D 39 33 34 30 20  49 46 20 53 3E 53 4D 41  |)).9340 IF S>SMA|
00000320: 58 20 54 48 45 4E 20 50  52 49 4E 54 20 22 4E 4F  |X THEN PRINT "NO|
00000330: 52 4D 41 4C 49 5A 45 44  20 45 52 52 4F 52 3D 20  |RMALIZED ERROR= |
00000340: 22 2C 53 2C 22 20 49 4E  20 4D 41 54 49 4E 56 45  |",S," IN MATINVE|
00000350: 52 54 20 45 58 43 45 45  44 53 20 4C 49 4D 49 54  |RT EXCEEDS LIMIT|
00000360: 22 0D 39 33 35 30 20 45  4E 44 50 52 4F 43 20 4D  |".9350 ENDPROC M|
00000370: 41 54 49 4E 56 45 52 54  0D                       |ATINVERT.       |
9000 PROC MATINVERT(REF A(,),N,REF AI(,)
) CLOSED.9010 DIM AA(N,N), U(N,N).9020 M
ATEQUAL(A,N,N,AA).9030 MATUNIT(U,N).9040
 FOR K#:=1 TO N DO.9050 FOR I#:=1 TO N D
O.9060 AI(K#,I#):=A(K#,I#)/A(K#,K#).9070
 U(K#,I#):=U(K#,I#)/A(K#,K#).9080 ENDFOR
 I#.9090 FOR I#:=1 TO N DO.9100 A(K#,I#)
:=AI(K#,I#).9110 ENDFOR I#.9120 FOR I#:=
1 TO N DO.9130 IF I#=K# THEN GOTO SKIP.9
140 FOR J#:=1 TO N DO.9150 AI(I#,J#):=A(
I#,J#)-A(I#,K#)*A(K#,J#).9160 U(I#,J#):=
U(I#,J#)-A(I#,K#)*U(K#,J#).9170 ENDFOR J
#.9180 FOR J#:=1 TO N DO.9190 A(I#,J#):=
AI(I#,J#).9200 ENDFOR J#.9210 SKIP:.9220
 ENDFOR I#.9230 ENDFOR K#.9240 MATEQUAL(
U,N,N,AI).9250 MATMULT(AA,N,N,AI,N,U).92
60 FOR I#:=1 TO N DO.9270 FOR J#:=1 TO N
 DO.9280 S:=S+ABS(U(I#,J#)).9290 ENDFOR 
J#.9300 ENDFOR I#.9310 SMAX:=1E-08.9320 
S:=S-N.9330 S:=S/(N*(N-1)).9340 IF S>SMA
X THEN PRINT "NORMALIZED ERROR= ",S," IN
 MATINVERT EXCEEDS LIMIT".9350 ENDPROC M
ATINVERT.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL