问题

软件 >> Calculator >> Bug
Questions in category: Bug (Bug).

[BUG:20251014-2]

Posted by haifeng on 2025-10-14 14:24:27 last update 2025-10-14 15:29:19 | Answers (0) | 收藏


>> A=[1,a,b,c,d;-a,1,e,f,g;-b,-e,1,h,i;-c,-f,-h,1,j;-d,-g,-i,-j,1]
input> [1,a,b,c,d;-a,1,e,f,g;-b,-e,1,h,i;-c,-f,-h,1,j;-d,-g,-i,-j,1]
--------------------

1       a       b       c       d
-a      1       e       f       g
-b      -e      1       h       i
-c      -f      -h      1       j
-d      -g      -i      -j      1

--------------------
>> A
in> A
1       a       b       c       d
-a      1       e       f       g
-b      -e      1       h       i
-c      -f      -h      1       j
-d      -g      -i      -j      1

>> symbol(a,b,c,d,e,f,g,h,i,j)
out> a is a variable for polynomial.
out> b is a variable for polynomial.
out> c is a variable for polynomial.
out> d is a variable for polynomial.
out> e is a variable for polynomial.
out> f is a variable for polynomial.
out> g is a variable for polynomial.
out> h is a variable for polynomial.
out> i is a variable for polynomial.
out> j is a variable for polynomial.

------------------------

>> :poly_vars
a --> x_1
b --> x_2
c --> x_3
d --> x_4
e --> x_5
f --> x_6
g --> x_7
h --> x_8
i --> x_9
j --> x_10

---------------
x, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10,
---*---*---*---

>> :mode polyn
Switch into polynomial mode.

>> det(A)
out> j*j+h*h+h*j*i-i*h*j+i*i+e*e*j*j+e*e+e*h*f+e*h*j*g-e*i*f*j+e*i*g-f*e*h-f*e*j*i+f*f+f*j*g+f*i*f*i-f*i*h*g+g*e*h*j-g*e*i-g*f*j+g*g-g*h*f*i+g*h*h*g+a*a*j*j+a*a*h*h+a*a*h*j*i-a*a*i*h*j+a*a*i*i+a*a+a*e*b*j*j+a*e*b+a*e*h*c+a*e*h*j*d-a*e*i*c*j+a*e*i*d-a*f*b*h-a*f*b*j*i+a*f*c+a*f*j*d+a*f*i*c*i-a*f*i*h*d+a*g*b*h*j-a*g*b*i-a*g*c*j+a*g*d-a*g*h*c*i+a*g*h*h*d-b*a*e*j*j-b*a*e-b*a*h*f-b*a*h*j*g+b*a*i*f*j-b*a*i*g+b*b*j*j+b*b+b*h*c+b*h*j*d-b*i*c*j+b*i*d+b*f*b*f+b*f*b*j*g-b*f*e*c-b*f*e*j*d-b*f*i*c*g+b*f*i*f*d-b*g*b*f*j+b*g*b*g+b*g*e*c*j-b*g*e*d+b*g*h*c*g-b*g*h*f*d+c*a*e*h+c*a*e*j*i-c*a*f-c*a*j*g-c*a*i*f*i+c*a*i*h*g-c*b*h-c*b*j*i+c*c+c*j*d+c*i*c*i-c*i*h*d-c*e*b*f-c*e*b*j*g+c*e*e*c+c*e*e*j*d+c*e*i*c*g-c*e*i*f*d+c*g*b*f*i-c*g*b*h*g-c*g*e*c*i+c*g*e*h*d+c*g*c*g-c*g*f*d-d*a*e*h*j+d*a*e*i+d*a*f*j-d*a*g+d*a*h*f*i-d*a*h*h*g+d*b*h*j-d*b*i-d*c*j+d*d-d*h*c*i+d*h*h*d+d*e*b*f*j-d*e*b*g-d*e*e*c*j+d*e*e*d-d*e*h*c*g+d*e*h*f*d-d*f*b*f*i+d*f*b*h*g+d*f*e*c*i-d*f*e*h*d-d*f*c*g+d*f*f*d+1

------------------------

>> j*j+h*h+h*j*i-i*h*j+i*i+e*e*j*j+e*e+e*h*f+e*h*j*g-e*i*f*j+e*i*g-f*e*h-f*e*j*i+f*f+f*j*g+f*i*f*i-f*i*h*g+g*e*h*j-g*e*i-g*f*j+g*g-g*h*f*i+g*h*h*g+a*a*j*j+a*a*h*h+a*a*h*j*i-a*a*i*h*j+a*a*i*i+a*a+a*e*b*j*j+a*e*b+a*e*h*c+a*e*h*j*d-a*e*i*c*j+a*e*i*d-a*f*b*h-a*f*b*j*i+a*f*c+a*f*j*d+a*f*i*c*i-a*f*i*h*d+a*g*b*h*j-a*g*b*i-a*g*c*j+a*g*d-a*g*h*c*i+a*g*h*h*d-b*a*e*j*j-b*a*e-b*a*h*f-b*a*h*j*g+b*a*i*f*j-b*a*i*g+b*b*j*j+b*b+b*h*c+b*h*j*d-b*i*c*j+b*i*d+b*f*b*f+b*f*b*j*g-b*f*e*c-b*f*e*j*d-b*f*i*c*g+b*f*i*f*d-b*g*b*f*j+b*g*b*g+b*g*e*c*j-b*g*e*d+b*g*h*c*g-b*g*h*f*d+c*a*e*h+c*a*e*j*i-c*a*f-c*a*j*g-c*a*i*f*i+c*a*i*h*g-c*b*h-c*b*j*i+c*c+c*j*d+c*i*c*i-c*i*h*d-c*e*b*f-c*e*b*j*g+c*e*e*c+c*e*e*j*d+c*e*i*c*g-c*e*i*f*d+c*g*b*f*i-c*g*b*h*g-c*g*e*c*i+c*g*e*h*d+c*g*c*g-c*g*f*d-d*a*e*h*j+d*a*e*i+d*a*f*j-d*a*g+d*a*h*f*i-d*a*h*h*g+d*b*h*j-d*b*i-d*c*j+d*d-d*h*c*i+d*h*h*d+d*e*b*f*j-d*e*b*g-d*e*e*c*j+d*e*e*d-d*e*h*c*g+d*e*h*f*d-d*f*b*f*i+d*f*b*h*g+d*f*e*c*i-d*f*e*h*d-d*f*c*g+d*f*f*d+1

out> a0^2+h^2+i^2+e^2a0^2+e^2+2egha0-2efia0+f^2+f^2i^2-2fghi+g^2+g^2h^2+a^2a0^2+a^2h^2+a^2i^2+a^2+2aceh+2adei-2abfh+2adfa0-2abgi-2acga0+b^2a0^2+b^2+2bdha0-2bcia0+b^2f^2-2bcef+b^2g^2-2bdeg+c^2+c^2i^2-2cdhi+c^2e^2+c^2g^2-2cdfg+d^2+d^2h^2+d^2e^2+d^2f^2+1
------------------------

>> j*j

out> a0^2
------------------------

>>

 


出现这个的原因是使用了不好的字符串替换算法.

j^2 -->  x10^2 ,  然后将 x1 替换为 a, 从而得到 a0^2

目前已经摒弃该替换算法.

 

已修复. 结果是

j^2+h^2+hji-hij+i^2+e^2jj+e^2+ehf+ehjg-eifj+eig-efh-efji+f^2+fjg+fifi-fihg+eghj-egi-fgj+g^2-ghfi+ghhg+a^2jj+a^2hh+a^2hji-a^2ihj+a^2ii+a^2+aebjj+aeb+aehc+aehjd-aeicj+aeid-afbh-afbji+afc+afjd+afici-afihd+agbhj-agbi-agcj+agd-aghci+aghhd-abejj-abe-abhf-abhjg+abifj-abig+b^2jj+b^2+bhc+bhjd-bicj+bid+bfbf+bfbjg-bfec-bfejd-bficg+bfifd-bgbfj+bgbg+bgecj-bged+bghcg-bghfd+aceh+aceji-acf-acjg-acifi+acihg-bch-bcji+c^2+cjd+cici-cihd-cebf-cebjg+ceec+ceejd+ceicg-ceifd+cgbfi-cgbhg-cgeci+cgehd+cgcg-cgfd-adehj+adei+adfj-adg+adhfi-adhhg+bdhj-bdi-cdj+d^2-dhci+dhhd+debfj-debg-deecj+deed-dehcg+dehfd-dfbfi+dfbhg+dfeci-dfehd-dfcg+dffd+1