如何计算sympy中的pi power 2?

问题描述:

equations = [ 
    Eq(N_bRd, X_c * f_y * A * gamma_M1), 
    Eq(L_c, L * beta), 
    Eq(N_cr, (pi) ** 2 * E_E * i/(beta * L) ** 2), 
    Eq(lamda, sqrt(N_bRd/N_cr)), 
] 
results = solve(equations) 
# results = solve(equations, [m_A,m_D,theta_c,theta_b,delta]) 
results 

我收到以下错误与sympy NotAlgebraic:如何计算sympy中的pi power 2?

PI似乎并不当我改变圆周率到3.14它工作得很好,是一个代数元素

+0

您可以请[编辑]您的问题,使您的代码[mcve]?现在,你没有告诉我们你从哪里进口'pi'。从'sympy import pi'中''对我来说工作正常。 – Wrzlprmft

普通mathematical constants是本mpmath模块(sympy依赖性)中所定义:

>>> from mpmath import mp 
>>> mp.pi 
<pi: 3.14159~> 

>>> mp.pi**2 
mpf('9.869604401089358') 

sympydocs

这些常数是实现为能够评估任何精度懒惰对象。无论何时将对象用作函数参数或作为算术运算的操作数,它们都会自动计算出当前的工作精度。