2016-07-10 53 views
0

我正在嘗試解決通過比較不同多項式的係數而獲得的多項式方程組。獲取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 

告訴賢者解決使用solve(Relations, a,b,c,d,e,r,v,K)多項式的系統似乎非常低效的,並已不僅導致具有其內存限制超過賢者。此外,試圖通過求解一些變量來減少方程和變量的數量也是低效的,並且沒有給出任何有效的結果。由於試圖找到所有解決方案已證明如此困難,是否有任何方法只能提取單個解決方案?

回答

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),這是相當大的,但是常數很小。即使去除線性方程中的一個變量,在這些估計中也不會有太大變化。

因此,任何符號解決方案都需要很長時間,並且會導致具有相當高度的單變量多項式作爲任何三角多項式基的一部分。

相關問題