Removed determinant solver because it is buggy.
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sun, 8 Sep 2024 13:46:25 +0000 (16:46 +0300)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Sun, 8 Sep 2024 13:46:25 +0000 (16:46 +0300)
Math/determ.bas [deleted file]

diff --git a/Math/determ.bas b/Math/determ.bas
deleted file mode 100755 (executable)
index a7177dc..0000000
+++ /dev/null
@@ -1,379 +0,0 @@
-' Determinant solver\r
-' made by Svjatoslav Agejenko\r
-' in 2002\r
-' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslav@svjatoslav.eu\r
\r
-DECLARE SUB mulr2 (a!, b!)\r
-DECLARE SUB show2 ()\r
-DECLARE SUB mulr (a!, b!)\r
-DECLARE SUB mkback ()\r
-DECLARE SUB sut (a!, b!, c!)\r
-DECLARE SUB addz ()\r
-DECLARE SUB tee ()\r
-DECLARE SUB lihts ()\r
-DECLARE SUB findz ()\r
-DECLARE SUB addkord (a!, t!)\r
-DECLARE SUB misjag ()\r
-DECLARE SUB teejag (a!)\r
-DECLARE SUB subjag (b!)\r
-DECLARE SUB show ()\r
-DECLARE SUB sisend ()\r
-DECLARE SUB start ()\r
-\r
-DIM SHARED siz\r
-DIM SHARED det(1 TO 100, 1 TO 100)\r
-DIM SHARED det2(1 TO 100, 1 TO 100)\r
-DIM SHARED jau(1 TO 1000)\r
-DIM SHARED jam\r
-DIM SHARED kord(1 TO 100)\r
-DIM SHARED kordt(1 TO 100)\r
-DIM SHARED kordj\r
-DIM SHARED zerol\r
-DIM SHARED zerom\r
-DIM SHARED zerot\r
-DIM SHARED oli\r
-\r
-start\r
-tee\r
-\r
-SUB addkord (a, t)\r
-kordj = kordj + 1\r
-kord(kordj) = a\r
-kordt(kordj) = t\r
-END SUB\r
-\r
-SUB addz\r
-'DIM SHARED zerol\r
-'DIM SHARED zerom\r
-'DIM SHARED zerot\r
-\r
-IF zerot = 1 THEN\r
-y = zerol\r
-FOR x = 1 TO siz\r
-a = det(x, y)\r
-IF a <> 0 THEN\r
-FOR x1 = x + 1 TO siz\r
-b = det(x1, y)\r
-IF b <> 0 THEN\r
-sut a, b, c\r
-mkback\r
-IF a <> c THEN\r
-mulr x, c / a\r
-addkord c / a, 1\r
-END IF\r
-IF b <> c THEN\r
-mulr x1, c / b\r
-addkord c / b, 2\r
-END IF\r
-'show2\r
-FOR y1 = 1 TO siz\r
-det(x1, y1) = det2(x1, y1) - det2(x, y1)\r
-NEXT y1\r
-GOTO 7\r
-END IF\r
-NEXT x1\r
-END IF\r
-NEXT x\r
-\r
-\r
-\r
-\r
-ELSE\r
-\r
-x = zerol\r
-FOR y = 1 TO siz\r
-a = det(x, y)\r
-IF a <> 0 THEN\r
-FOR y1 = y + 1 TO siz\r
-b = det(x, y1)\r
-IF b <> 0 THEN\r
-sut a, b, c\r
-mkback\r
-IF a <> c THEN\r
-mulr2 y, c / a\r
-addkord c / a, 1\r
-END IF\r
-IF b <> c THEN\r
-mulr y1, c / b\r
-addkord c / b, 2\r
-END IF\r
-'show2\r
-FOR x1 = 1 TO siz\r
-det(x1, y1) = det2(x1, y1) - det2(x1, y)\r
-NEXT x1\r
-GOTO 7\r
-END IF\r
-NEXT y1\r
-END IF\r
-NEXT y\r
-\r
-\r
-\r
-\r
-END IF\r
-\r
-\r
-\r
-\r
-\r
-7\r
-PRINT "null lisatud"\r
-show\r
-END SUB\r
-\r
-SUB findz\r
-zerom = -1\r
-\r
-'DIM SHARED zerol\r
-'DIM SHARED zerom\r
-'DIM SHARED zerot\r
-\r
-FOR y = 1 TO siz\r
-z = 0\r
-FOR x = 1 TO siz\r
-IF det(x, y) = 0 THEN z = z + 1\r
-NEXT x\r
-IF z > zerom THEN\r
-zerol = y\r
-zerot = 1\r
-zerom = z\r
-END IF\r
-NEXT y\r
-\r
-FOR x = 1 TO siz\r
-z = 0\r
-FOR y = 1 TO siz\r
-IF det(x, y) = 0 THEN z = z + 1\r
-NEXT y\r
-IF z > zerom THEN\r
-zerol = x\r
-zerot = 2\r
-zerom = z\r
-END IF\r
-NEXT x\r
-\r
-'PRINT "max nulle", zerom\r
-\r
-END SUB\r
-\r
-SUB lihts\r
-IF zerot = 1 THEN\r
-y = zerol\r
-FOR x = 1 TO siz\r
-IF ABS(det(x, y)) > 0 THEN x1 = x: GOTO 3\r
-NEXT x\r
-3\r
-addkord det(x1, y), 1\r
-x4 = x1\r
-y4 = y\r
-ELSE\r
-x = zerol\r
-FOR y = 1 TO siz\r
-IF ABS(det(x, y)) > 0 THEN y1 = y: GOTO 4\r
-NEXT y\r
-4\r
-addkord det(x, y1), 1\r
-x4 = x\r
-y4 = y1\r
-END IF\r
-\r
-FOR y2 = 1 TO siz\r
-FOR x2 = 1 TO siz\r
-x3 = x2\r
-y3 = y2\r
-d = det(x3, y3)\r
-IF x3 > x4 THEN x3 = x3 - 1\r
-IF y3 > y4 THEN y3 = y3 - 1\r
-det(x3, y3) = d\r
-NEXT x2\r
-NEXT y2\r
-\r
-siz = siz - 1\r
-PRINT "taandatult"\r
-show\r
-\r
-END SUB\r
-\r
-SUB misjag\r
-l = 0\r
-FOR y = 1 TO siz\r
-teejag det(1, y)\r
-FOR x = 2 TO siz\r
-subjag det(x, y)\r
-NEXT x\r
-\r
-IF jam > 0 THEN\r
-s = -1\r
-FOR a = 1 TO jam\r
-IF jau(a) > s THEN s = jau(a)\r
-NEXT a\r
-FOR x = 1 TO siz\r
-det(x, y) = det(x, y) / s\r
-NEXT x\r
-addkord s, 1\r
-l = 1\r
-END IF\r
-NEXT y\r
-\r
-\r
-\r
-\r
-FOR x = 1 TO siz\r
-teejag det(x, 1)\r
-FOR y = 2 TO siz\r
-subjag det(x, y)\r
-NEXT y\r
-\r
-IF jam > 0 THEN\r
-s = -1\r
-FOR a = 1 TO jam\r
-IF jau(a) > s THEN s = jau(a)\r
-NEXT a\r
-FOR y = 1 TO siz\r
-det(x, y) = det(x, y) / s\r
-NEXT y\r
-addkord s, 1\r
-l = 1\r
-END IF\r
-NEXT x\r
-\r
-\r
-IF l = 1 THEN\r
-PRINT "lihtsustatult"\r
-show\r
-END IF\r
-\r
-\r
-END SUB\r
-\r
-SUB mkback\r
-FOR y = 1 TO siz\r
-FOR x = 1 TO siz\r
-det2(x, y) = det(x, y)\r
-NEXT x\r
-NEXT y\r
-END SUB\r
-\r
-SUB mulr (a, b)\r
-FOR y = 1 TO siz\r
-det2(a, y) = det2(a, y) * b\r
-NEXT y\r
-END SUB\r
-\r
-SUB mulr2 (a, b)\r
-FOR x = 1 TO siz\r
-det2(x, a) = det2(x, a) * b\r
-NEXT x\r
-END SUB\r
-\r
-SUB show\r
-FOR a = 1 TO kordj\r
-IF kordt(a) = 1 THEN PRINT " *";  ELSE PRINT " /";\r
-PRINT STR$(kord(a));\r
-NEXT a\r
-PRINT " "\r
-\r
-FOR y = 1 TO siz\r
-FOR x = 1 TO siz\r
-PRINT CHR$(9) + STR$(det(x, y));\r
-NEXT x\r
-PRINT " "\r
-PRINT " "\r
-NEXT y\r
-a$ = INPUT$(1)\r
-END SUB\r
-\r
-SUB show2\r
-FOR y = 1 TO siz\r
-FOR x = 1 TO siz\r
-PRINT CHR$(9) + STR$(det2(x, y));\r
-NEXT x\r
-PRINT " "\r
-PRINT " "\r
-NEXT y\r
-a$ = INPUT$(1)\r
-\r
-END SUB\r
-\r
-SUB sisend\r
-INPUT "sisesta determinandi suurus ", siz\r
-\r
-FOR y = 1 TO siz\r
-FOR x = 1 TO siz\r
-PRINT "rida" + STR$(y) + "  veerg" + STR$(x)\r
-INPUT det(x, y)\r
-NEXT x\r
-NEXT y\r
-\r
-PRINT "sisestatud determinant"\r
-show\r
-END SUB\r
-\r
-SUB start\r
-WIDTH 80, 50\r
-kordj = 0\r
-END SUB\r
-\r
-SUB subjag (b)\r
-IF oli = 1 THEN teejag b: GOTO 2\r
-IF jam = 0 THEN GOTO 2\r
-a = 1\r
-1\r
-c = jau(a)\r
-IF b / c <> INT(b / c) THEN\r
-jau(a) = jau(jam)\r
-jam = jam - 1\r
-a = a - 1\r
-END IF\r
-a = a + 1\r
-IF a <= jam THEN GOTO 1\r
-2\r
-\r
-END SUB\r
-\r
-SUB sut (a, b, c)\r
-c = a * b\r
-END SUB\r
-\r
-SUB tee\r
-sisend\r
-5\r
-misjag\r
-\r
-IF siz = 2 THEN\r
-a = det(1, 1) * det(2, 2) - det(1, 2) * det(2, 1)\r
-PRINT "vahepealne vastus oli:" + STR$(a)\r
-FOR b = 1 TO kordj\r
-IF kordt(b) = 1 THEN a = a * kord(b): c$ = "*" ELSE a = a / kord(b): c$ = "/"\r
-PRINT c$ + STR$(kord(b)) + " = " + STR$(a) + " ";\r
-NEXT b\r
-PRINT " "\r
-PRINT "vastus on:" + STR$(a)\r
-GOTO 6\r
-END IF\r
-\r
-findz\r
-IF zerom = siz THEN PRINT "vastus on: 0": GOTO 6\r
-IF zerom = siz - 1 THEN\r
-lihts\r
-ELSE\r
-addz\r
-END IF\r
-GOTO 5\r
-6\r
-END SUB\r
-\r
-SUB teejag (a)\r
-oli = 0\r
-jam = 0\r
-IF a = 0 THEN oli = 1: GOTO 8\r
-FOR b = 2 TO ABS(a)\r
-IF a / b = INT(a / b) THEN\r
-jam = jam + 1\r
-jau(jam) = b\r
-END IF\r
-NEXT b\r
-8\r
-END SUB\r
-\r