を使用しているときに、奇妙な動作に遭遇し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]
編集:
ベリサリウスが指摘しているように、私の使用法は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
と思いますが、その背後にある深い理論に精通しているわけではないので、ここでは完全に間違っている可能性があります。
PSGroebnerBasis
投稿で3回言及すると、DanielLichtblauがあなたの質問に答えると聞きました:)