我發現自己需要為兩個實值變數求解復值方程。在 Mathematica 中,這可以使用Assuming如下命令來實作:

我有興趣看看是否可以使用 FOSS 工具來實作相同的結果。但是,在 Maxima 中,我還沒有找到將a和b約束為純真實的方法。它回傳一個具有一個自由度的復值解。
(%i22) solve(%e^(%i*%pi/4) = a*(%i*b 1), [a,b]);
%i 1
(%o22) [[a = ------------------------, b = %r4]]
sqrt(2) %i %r4 sqrt(2)
即使在運行之前使用declare(a, real)and ,它也會給出相同的結果。我也嘗試在方程組中添加約束,但這也不起作用:declare(b, real)solve
(%i9) solve([x^3=1, imagpart(x)=0], x);
sqrt(3) %i - 1 sqrt(3) %i 1
(%o9) [[x = 1], [x = --------------], [x = - --------------]]
2 2
在 Maxima 或任何其他 FOSS CAS 中求解這樣的方程是否可行?
uj5u.com熱心網友回復:
這是一個有趣的問題。我使用郵件串列詢問了 Maxima 的人(是的,它仍在運行),他們告訴我solve忽略宣告,這似乎是最簡單的解決方案:
%e^(%i*%pi/4) = a*(%i*b 1)$
solve([realpart(%),imagpart(%)],[a,b]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/489639.html
上一篇:有理貝塞爾曲線的透視投影
