Update: even Free42 v3 has the problem.
e.g. A*inv(A)[2,1] = -1.2+i24.5e-3 instead of zero, or close.
In CODE format, to easily turn into a RAW file:
Code: Select all
00 { 688-Byte Prgm }
01▸LBL "CM"
02 5
03 ENTER
04 NEWMAT
05 ENTER
06 COMPLEX
07 EDIT
08 0.001
09 0
10 COMPLEX
11 →
12 0
13 0
14 COMPLEX
15 →
16 -0.0005
17 0
18 COMPLEX
19 →
20 -0.0005
21 0
22 COMPLEX
23 →
24 0
25 0
26 COMPLEX
27 →
28 0
29 0
30 COMPLEX
31 →
32 1
33 9.999997292456363677763963228030219ᴇ-2
34 COMPLEX
35 →
36 -1
37 0
38 COMPLEX
39 →
40 0
41 -9.999997292456363677763963228030219ᴇ-2
42 COMPLEX
43 →
44 0
45 0
46 COMPLEX
47 →
48 -0.0005
49 0
50 COMPLEX
51 →
52 -1
53 0
54 COMPLEX
55 →
56 1.0005
57 1.999999458491272735552792645606044
58 COMPLEX
59 →
60 0
61 0
62 COMPLEX
63 →
64 0
65 -1.999999458491272735552792645606044
66 COMPLEX
67 →
68 -0.0005
69 0
70 COMPLEX
71 →
72 0
73 -9.999997292456363677763963228030219ᴇ-2
74 COMPLEX
75 →
76 0
77 0
78 COMPLEX
79 →
80 2.46078431372549019607843137254902ᴇ-3
81 9.999997292456363677763963228030219ᴇ-2
82 COMPLEX
83 →
84 -1.96078431372549019607843137254902ᴇ-3
85 0
86 COMPLEX
87 →
88 0
89 0
90 COMPLEX
91 →
92 0
93 0
94 COMPLEX
95 →
96 0
97 -1.999999458491272735552792645606044
98 COMPLEX
99 →
100 -1.96078431372549019607843137254902ᴇ-3
101 0
102 COMPLEX
103 →
104 3.670186023127199597787833081950729ᴇ-3
105 1.999999458491272735552792645606044
106 COMPLEX
107 →
108 EXITALL
109 END
And there is indeed a problem.
But perhaps it is this, release notes from Free42 v2.5.21:
* Complex matrix division, INVRT, and DET would return incorrect results for
large matrices (20x20 or greater). Fixed.
Even if this is only a 5x5. And the DM42 has Free42 v2.5.20..
Thomas, what was the problem?
Werner