【问题标题】:Obtain only a single solution for System of Polynomials in Sage仅获得 Sage 中多项式系统的单一解
【发布时间】:2016-07-10 19:51:14
【问题描述】:

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

# 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 超出其内存限制。此外,试图通过求解一些变量来减少方程和变量的数量也是低效的,也没有得到任何丰硕的成果。既然尝试找到所有解决方案已被证明非常困难,有没有办法只提取一个解决方案?

【问题讨论】:

    标签: python polynomial-math sage equation-solving


    【解决方案1】:

    两个方程都有 5 次,即 12 个恒等式。但是,5 级恒等式是相同的,并且对于两个方程始终都满足。因此,对于 10 个变量,您实际上有 10 个或更少的方程。

    除以a^2,即将c, b, d, e替换为c/a, b/a, d/a, e/a并引入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)^n 中的 d^n),这相当大,但常数很小。即使删除线性方程的一个变量,这些估计也不会发生太大变化。

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

    【讨论】:

      猜你喜欢
      • 2015-09-06
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多