代码之家  ›  专栏  ›  技术社区  ›  Stef1611

Sympy:powsimp不适用于一个简单的例子

  •  0
  • Stef1611  · 技术社区  · 4 年前

    试图解决我的问题( Sympy : How is it possible to simplify power of sum? ),我发现了一个powsimp不起作用的简单例子。

    在这种情况下,电源简化就完成了

    x,y,n=sp.symbols("x y n",positive=True,real=True)
    expr=sp.Pow(x,n)*sp.Pow(y,-n)
    expr.powsimp()
    

    但在这种情况下并非如此:

    expr=sp.Pow(x,n+1)*sp.Pow(y,-n-1)
    expr.powsimp()
    

    当指数是一个表达式(当然是实的和正的)时,有可能进行幂次简化吗?

    0 回复  |  直到 4 年前
        1
  •  1
  •   smichr    4 年前

    powsimp 应该寻找这样的情况,但在此之前,将指数转换为单个变量(SUB将为您计算出否定情况下的关系):

    >>> expr
    x**(n + 1)*y**(-n - 1)
    >>> powsimp(expr.subs(n + 1, var('z',positive=1))).subs(z, n + 1)
    (x/y)**(n + 1)
    
    推荐文章