Mathematica(v.7)を使って基本的にこのような表現をしたい
(x + x^2 + x^3)^4
に
x^4 (1 + x + x^2)^4
因数分解された形で累乗された式からGCDのような用語を取り除くための最良の方法は何でしょうか。次に、その用語を括弧の外に配置し、それが引き上げられた指数値を保持します。取り出す前に、値が累乗されていることを知っておく必要があります。これが私の試みです。
In[28]:= example = (x + x^2 + x^3)^4
Out[28]= (x + x^2 + x^3)^4
In[37]:= gcdVar = PolynomialGCD[Sequence @@ Level[example, {2}]]
Out[37]= x
In[40]:= step1 = Map[Divide[#, gcdVar] &, example, {2}]
Out[40]= (1 + x + x^2)^4
In[55]:= step2 = Times[step1, Power[gcdVar, Last[Level[example, {1}]]]]
Out[55]= x^4 (1 + x + x^2)^4
私はこの分野に関連するさまざまな機能をすべて見てきました。収集、因数分解、拡張、簡略化、解決。それらのどれも私が望む出力を生み出すことができないと思います。パターン/フォームマッチングを使用してこれを行うための、組み込みの、より効率的で、スケーラブルで、より短い方法はありますか?