Wolfram mathematica 如何简化mathematica中的以下表达式

Wolfram mathematica 如何简化mathematica中的以下表达式,wolfram-mathematica,Wolfram Mathematica,我有以下资料: (p^a q (-1 + q^b))/(-p^a q - q^b + p^a q^b + q^(1 + b)) 我想做两件事: 1) 数词和分母都会将p和q因子去掉,这样它们就可以取消 2) 强制将-1+q^b显示为1-q^b 3) 我还需要通过合并-q^b+q^(1+b)=q^b(1-q)进一步简化分母,因为1-q->p 非常感谢您的帮助和建议。对于第二个问题,您可以: expr = (p^a q (-1 + q^b))/(-p^a q - q^b + p^a q^b + q

我有以下资料:

(p^a q (-1 + q^b))/(-p^a q - q^b + p^a q^b + q^(1 + b))
我想做两件事: 1) 数词和分母都会将
p
q
因子去掉,这样它们就可以取消 2) 强制将
-1+q^b
显示为
1-q^b
3) 我还需要通过合并
-q^b+q^(1+b)=q^b(1-q)
进一步简化分母,因为
1-q->p


非常感谢您的帮助和建议。

对于第二个问题,您可以:

expr = (p^a q (-1 + q^b))/(-p^a q - q^b + p^a q^b + q^(1 + b)) //. 
       {x__ (-1 + q ^b) -> -x (1 - q^ b)}  
输出:

至于第一个,我看不到任何好处

编辑

回答你的评论:

我仍然不确定你想通过第一次转换实现什么,但这里有一个尝试:

Numerator@expr/q/Collect[Distribute[Denominator@expr/q], q^(b - 1)]  

(p^a (1 - q^b))/(-p^a + (-1 + p^a) q^(-1 + b) + q^b)

无论如何,我认为这里必须警告:对于大型表达式,强制Mathematica以“优雅”的方式显示结果可能非常棘手。我建议你只有在掌握了Mma之后才去学习如何做。然后,作为一个简单的开始练习,你可以尝试几种方法来迫使Mma表现出来

-1+a
作为


但是
-1+q^b
1-q^b
不同。。。想象一下,对于一个简单的计数器,q^b是42。但是你可以将分子和分母都乘以-1个整数对于第一个Q,从分母和分子中分解出另一个p和Q将使表达式看起来更圆滑。非常感谢。我还没有真正想过如何强迫mma以我想要的方式显示表达式,即使我已经使用mma多年了。你能不能列出强制mma将-1+a显示为a-1的方法,因为我真的不知道怎么做。再次感谢你@我认为这是一个很好的独立问题。此外,有经验的Mma用户可能会比我得到更好的答案。
-1+a
 a-1