1
$\begingroup$

I have a series expansion in $x$ and $a,b$ are constants which I want to type in $\LaTeX$. But the numbers/integers are pretty large (have a lot of digits) so it becomes a bit messy in $\LaTeX$. Therefore, I wanted to use prime factorization for the numbers within the expression. Is there a way of doing this in Mathematica? As an example (just an example), given the output

(23991 x^3)/(250000 a^5) + (87271/(5000000 a^6) + 31/(600 a^2) - b/2816) x^4 

I want to simplify it to

(3*11*727)/(2^4*5^6*a^5)x^3 + ((197*443)/(2^6*5^7*a^6) + 31/(2^3*3*5^2*a^2) - b/(2^8*11)) x^4

That is, I want to rewrite the expression

$$\frac{23991\, x^3}{250000 \,a^5}+x^4 \left(\frac{87271}{5000000 \,a^6}+\frac{31}{600 \,a^2}-\frac{b}{2816}\right)$$

as

$$\frac{3 \cdot 11 \cdot 727}{2^{4} \cdot 5^{6} \cdot a^{5}}x^{3} + \left(\frac{197 \cdot 443}{2^{6} \cdot 5^{7} \cdot a^{6}} + \frac{31}{2^{3} \cdot 3 \cdot 5^{2} \cdot a^{2}} - \frac{b}{2^{8} \cdot 11}\right)x^{4}$$

$\endgroup$
  • $\begingroup$ What you want to do is not simplification to Mathematica. $\endgroup$ – m_goldberg Jan 29 '16 at 15:54
1
$\begingroup$

This is as close as I could get for this expression, but I don't know what other types of expressions you would need to work with. The code is also ugly, so there has got to be something prettier, but here goes: if we set

exp = (23991 x^3)/(250000 a^5) + (87271/(5000000 a^6) + 31/(600 a^2) - b/2816) x^4 

then

  exp /. 
  {Rational[x_, y_]*rest_ :> 
    dummyhead[FactorInteger[x]]/dummyhead[FactorInteger[y]]*rest, 
  n_?NumberQ*rest_ :> dummyhead[FactorInteger[n]]*rest
  } /. 
  list_dummyhead :> Times @@ (HoldForm[#1^#2] & @@@ list[[1]])
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.