具有分数指数的Python指数算子

2024-10-05 14:29:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Python作为一个简单的代数计算器,解决多项式等单个变量的问题。当我使用分数指数的**运算符时,我看到了意想不到的结果。具体来说,它为不应该复杂的值生成复数:

>>> (-1)**(1/3)
(0.5000000000000001+0.8660254037844386j)

当然,-1的立方根在-1处有一个实数根,这就是我期望返回的值。在

为了避免这个问题,正确的方法是将价值提升到任意的理性力量?(如果由于舍入或其他原因,内置运算符不能执行此操作,我愿意使用库。)


Tags: 方法原因运算符内置计算器理性复数价值
1条回答
网友
1楼 · 发布于 2024-10-05 14:29:48

I'm trying to use Python as a simple algebraic calculator, solving polynomials and such of a single variable.

一种方法是使用NumPy。具体来说,使用^{}并提取实际结果(如果有):

>>> np.roots([1, 0, 0, 1])
array([-1.0+0.j       ,  0.5+0.8660254j,  0.5-0.8660254j])

注意,[1, 0, 0, 1]编码多项式x3+1,其根正好是-1的立方根。在

相关问题 更多 >