我在使用时遇到了一些奇怪的行为GroebnerBasis
。在m1
下面,我使用希腊字母作为变量,在 中m2
,我使用拉丁字母。它们都没有与之相关的规则。为什么我会根据我选择的变量得到截然不同的答案?
图片:
可复制代码:
Clear["Global`*"]
g = Module[{x},
x /. Solve[
z - x (1 - b -
b x ( (a (3 - 2 a (1 + x)))/(1 - 3 a x + 2 a^2 x^2))) == 0,
x]][[3]];
m1 = First@GroebnerBasis[\[Kappa] - g, z]
m2 = First@GroebnerBasis[k - g, z]
编辑:
正如belisarius 所指出的,我的用法GroebnerBasis
并不完全正确,因为它需要多项式输入,而我的不是。m1
这个由复制意大利面引入的错误直到现在都没有引起注意,因为当我使用上面的代码完成其余代码时,我得到了我所期望的答案。但是,我并不完全相信这是一个不合理的用法。考虑下面的例子:
x = (-b+Sqrt[b^2-4 a c])/2a;
p = First@GroebnerBasis[k - x,{a,b,c}]; (*get relation or cover for Riemann surface*)
q = First@GroebnerBasis[{D[p,k] == 0, p == 0},{a,b,c},k,
MonomialOrder -> EliminationOrder];
Solve[q==0, b] (*get condition on b for double root or branch point*)
{{b -> -2 Sqrt[a] Sqrt[c]}, {b -> 2 Sqrt[a] Sqrt[c]}}
哪个是对的。所以我的解释是在这种情况下使用它是可以GroebnerBasis
的,但我不太熟悉它背后的深层理论,所以我在这里可能完全错了。
PS 我听说如果你GroebnerBasis
在帖子中提到三遍,Daniel Lichtblau 会回答你的问题 :)