2024-10-05 14:29:48 发布
网友
我尝试使用Python作为一个简单的代数计算器,解决多项式等单个变量的问题。当我使用分数指数的**运算符时,我看到了意想不到的结果。具体来说,它为不应该复杂的值生成复数:
**
>>> (-1)**(1/3) (0.5000000000000001+0.8660254037844386j)
当然,-1的立方根在-1处有一个实数根,这就是我期望返回的值。在
为了避免这个问题,正确的方法是将价值提升到任意的理性力量?(如果由于舍入或其他原因,内置运算符不能执行此操作,我愿意使用库。)
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的立方根。在
[1, 0, 0, 1]
一种方法是使用NumPy。具体来说,使用^{} 并提取实际结果(如果有):
注意,
[1, 0, 0, 1]
编码多项式x3+1,其根正好是-1的立方根。在相关问题 更多 >
编程相关推荐