在 Sage 中仅获得多项式系统的单个解决方案

Obtain only a single solution for System of Polynomials in Sage

我正在尝试求解通过比较不同多项式的系数获得的多项式方程组。

# Statement of Problem:
# We are attempting to find complex numbers a, b, c, d, e, J, u, v, r, s where
# ((a*x + c)^2)*(x^3 + (3K)*x + 2K) - ((b*x^2 + d*x + e)^2)     = a^2*(x - r)^2*(x - s)^3 and 
# ((a*x + c)^2)*(x^3 + (3K)*x + 2K)) - ((b*x^2 + d*x + e - 1)^2) = a^2*(x - u)*(x - v)^4


R.<x> = CC['x']
a, b, c, d, e, r, s, u, v, K = var('a, b, c, d, e, r, s, u, v, K')
y2 = x^3 + (3*K)*x + 2*K
q0 = ((a*x + c)^2)*(y2) - ((b*x^2 + d*x + e)^2)
p0 = (a^2)*((x-r)^2)*((x-s)^3)
t = (b^2 - 2*a*c)/a^2
Q0 = q0.expand()
P0 = p0.expand()
P0 = P0.substitute(s = ((t - 2*r)/3))

Relations0 = []
i = 0
while i < 6:
    Relations0.append(P0.coefficient(x, n = i) - Q0.coefficient(x, n = i))
    i = i+1 

q1 = ((a*x + c)^2)*(y2) - ((b*x^2 + d*x + e - 1)^2)
p1 = (a^2)*(x-u)*((x-v)^4)
Q1 = q1.expand()
P1 = p1.expand()
P1 = P1.substitute(u = t - 4*v)

Relations1 = []
i = 0
while i < 6:
    Relations1.append(P1.coefficient(x, n = i) - Q1.coefficient(x, n = i))
    i = i+1
Relations = Relations0 + Relations1

告诉 Sage 使用 solve(Relations, a,b,c,d,e,r,v,K) 求解多项式系统似乎非常低效,只会导致 Sage 超出其内存限制。此外,试图通过求解一些变量来减少方程和变量的数量也是低效的,并没有给出任何富有成效的结果。由于试图找到所有解决方案已被证明非常困难,有什么方法可以只提取一个解决方案?

两个方程的阶数都是 5,因此有 12 个恒等式。然而,5 次恒等式是相同的,并且总是满足两个方程。因此,对于 10 个变量,您实际上有 10 个或更少的方程式。

除以a^2,即用c/a, b/a, d/a, e/a代替c, b, d, e并引入f=1/a以减少系数方程的次数。

然后得到

的系数方程
(x + c)^2*(x^3 + 3*K*x + 2*K) - (b*x^2 + d*x + e)^2  =  (x - r)^2*(x - s)^3;
(x + c)^2*(x^3 + 3*K*x + 2*K) - (b*x^2 + d*x + e - f)^2  =  (x - u)*(x - v)^4;

http://magma.maths.usyd.edu.au/calc/

A<b, c, d, e, f, r, s, u, v, K> :=PolynomialRing(Rationals(),10,"glex");
P<x> := PolynomialRing(A);

eq1 := (x + c)^2*(x^3 + 3*K*x + 2*K) - (b*x^2 + d*x + e)^2  -  (x - r)^2*(x - s)^3;
eq2 := (x + c)^2*(x^3 + 3*K*x + 2*K) - (b*x^2 + d*x + e - f)^2  -  (x - u)*(x - v)^4;

I := ideal<A|Coefficients(eq1) cat Coefficients(eq2-eq1)>; I;

给予

Ideal of Polynomial ring of rank 10 over Rational Field
Order: Graded Lexicographical
Variables: b, c, d, e, f, r, s, u, v, K
Basis:
[
    r^2*s^3 + 2*c^2*K - e^2,
    -3*r^2*s^2 - 2*r*s^3 + 3*c^2*K + 4*c*K - 2*d*e,
    3*r^2*s + 6*r*s^2 + s^3 - 2*b*e + 6*c*K - d^2 + 2*K,
    -2*b*d + c^2 - r^2 - 6*r*s - 3*s^2 + 3*K,
    -b^2 + 2*c + 2*r + 3*s,
    -r^2*s^3 + u*v^4 + 2*e*f - f^2,
    3*r^2*s^2 + 2*r*s^3 - 4*u*v^3 - v^4 + 2*d*f,
    -3*r^2*s - 6*r*s^2 - s^3 + 6*u*v^2 + 4*v^3 + 2*b*f,
    r^2 + 6*r*s + 3*s^2 - 4*u*v - 6*v^2,
    -2*r - 3*s + u + 4*v
]

的度数为 5,4,3,2,2,5,4,3,2,1,解数上限为 28800。由于常用的 Groebner 基础算法对于更好的算法具有 O(d^(n^2)) 的复杂性界限,因此您的运行时将乐观地用数字 28800^10 来表征(Bezout 界限而不是 d^n (d^n)^n),这是相当大的常数,但很小。即使删除线性方程的一个变量,这些估计值也不会发生太大变化。

因此,任何符号解都将花费很长时间,并导致作为任何三角多项式基础的一部分的相当高次数的单变量多项式。