我注意到,没有像sech(x)和csch(x)这样的函数。
有没有办法快速将它们定义为1 / cosh(x)和1 / sinh(x)?
另外,如何将arccos视为acos?
我正在使用解析器,所以'cos(pi / 2)'被正确解析。但我希望以类似的方式解析'arccos(pi / 2)'。
答案 0 :(得分:3)
您可以定义完成所需行为的功能。
import sympy
def sech(x):
return sympy.cosh(x)**(-1)
# sympy.sech = sech
def csch(x):
return sympy.sinh(x)**(-1)
# sympy.csch = csch
arccos = sympy.acos
最初,我展示了将它们附加到您导入sympy时使用的符号的行(现在已注释掉)。这是一个名为monkey patching的坏习惯,会干扰sympy
的任何更新,这些更新可能会使用这些名称或其他可能在代码中的其他位置修补sympy
的人。它还会让人们阅读您的代码时认为这些属性是原始sympy
包的一部分。
y = sympy.symbols('y')
print sech(y)
print csch(y)
print arccos(y)