我试图通过比较不同多项式的系数来求解多项式方程组。你知道吗
# 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
以降低系数方程的阶数。你知道吗然后得到的系数方程
或在http://magma.maths.usyd.edu.au/calc/
给予
度为5,4,3,2,2,5,4,3,2,1,给出了解决方案数量的上限28800。由于常用的Groebner基算法的复杂度界是
O(d^(n^2))
,因此对于更好的算法,运行时的优化特征是28800^10
(Bezout界而不是(d^n)^n
中的d^n
),无论常量多么小,它都相当大。即使去掉线性方程的一个变量,这些估计也不会有太大的变化。你知道吗因此,任何符号解都需要很长的时间,并且会产生相当高阶的一元多项式,作为任何三角多项式基的一部分。你知道吗
相关问题 更多 >
编程相关推荐