我如何区分 tan(x) 到 sec^2(x) 而不是 tan^2(x) + 1 in sympy?

How can I differentiate tan(x) to sec^2(x) instead of tan^2(x) + 1 in sympy?

在 Sympy 中对 tan(x) 进行微分时,returns 的答案为 tan^2(x) + 1。但是我想知道他们是否有任何方法可以在 Sympy 中将 tan^2(x) + 1 转换为 sec^2(x)。我试过使用 trigsimp() 但它简化为 1/cos^2(x) 而不是 sec^2(x).

fu.py 模块包含 Fu 等人所描述的许多转换。对于你的情况,TR22 将是有用的:

>>> from sympy.simplify.fu import TR22
>>> from sympy import tan
>>> from sympy.abc import x
>>> TR22( tan(x)**2+1 )
sec(x)**2