提问人:Jossy 提问时间:8/5/2023 更新时间:8/5/2023 访问量:74
在MySQL中计算多项式的根
Calculate roots of polynomial in MySQL
问:
我目前使用 numpy 函数如下:roots
y = numpy.roots([-2, 3, 0, -1 * x])[1]
在上面的表格中,我提取了一列来运行该函数。x
如果可能的话,我想把它移到MySQL查询中。我尝试复制函数的具体细节,但当我到达特征值时很快就迷失了方向。
我甚至还差得成为数学家,所以我想知道这里是否有人尝试过?
答:
1赞
gitg0
8/5/2023
#1
由于MySQL主要是为数据库操作而设计的,因此直接在MySQL查询中计算多项式的根似乎不是很实用。虽然,通过使用SLF(服务器可加载函数),这应该允许您用另一种语言(如C或C++)编写自定义函数,然后将所述函数集成到MySQL中。
1赞
Simon Goater
8/5/2023
#2
对于小阶多项式,您也许可以简单地使用一般解公式来做到这一点。阶 1 是微不足道的,阶 2 使用我们在学校教过的老式二次公式。您的示例似乎是三次多项式。根有一个通用公式
ax^3 + bx^2 + cx + d = 0
提供方(图片由维基百科提供)
一般三次多项式有 1 到 3 个实根。如果将 C 乘以单位 1 的立方根,上面的公式可以生成所有根(实数和复数),(sqrt(-3) - 1)/2,(-sqrt(-3) - 1)/2。Mysql 不支持复数,因此您必须将其全部扩展。我同意 gitg0 的观点,这不是解决这个问题的非常实用的方法,但通过一些工作看起来是可行的。
上一个:财富算法特征求解
下一个:稀疏矩阵中的特征值减慢
评论
y