我试图象征性地解决x:
的简单等式solve(x^K + d == R, x)
我宣布这些变量和假设:
var('K, d, R')
assume(K>0)
assume(K, 'real')
assume(R>0)
assume(R<1)
assume(d<R)
assumptions()
︡> [K > 0, K is real, R > 0, R < 1, d < R]
然而,当我运行求解时,我得到以下错误:
第1-1行的错误
追踪(最近一次呼叫最后一次):
文件 &#34; /projects/sage/sage-7.3/local/lib/python2.7/site-packages/smc_sagews/sage_server.py" ;, 第957行,执行中 exec编译(阻止+&#39; \ n&#39;,&#39;&#39;,&#39;单&#39;)命名空间,本地人
...
File&#34; /projects/sage/sage-7.3/local/lib/python2.7/site-packages/sage/interfaces/interface.py", 第671行,在 init 中 提出TypeError(x)
TypeError:计算失败,因为Maxima请求了额外的约束;使用&#39;假设&#39;评估之前的命令可能帮助(合法语法的例子是假设(K> 0)&#39;,详见
assume?
)K是整数吗?
显然,maxima询问K是否是整数?但我明确宣布它是真实的&#39;! 如何拼写出最大值,它不应该假设K是一个整数?
我只希望(R-d)^(1/K)
或exp(log(R-d)/K)
作为答案。
答案 0 :(得分:2)
Sage和Maxima中的假设框架相当薄弱,但在这种情况下它并不重要,因为整数是实数,对吧?
但是,您可能想尝试assume(K,'noninteger')
,因为显然Maxima does support this特殊假设(我之前没有见过)。我不能现在试试这个,不幸的是,祝你好运!