# How to simplify the following expression by collecting logs?

Consider the following function:

function[mN_,x_,b_]=-((1/(48*Pi^2*mN^3))*(8*b*mN^6*x^4 - 20*b*mN^6*x^2 +
6*mN^6*x^6*Log[b*mN + mN] -
3*mN^6*x^4*Log[b*mN + mN] + 21*mN^6*x^2*Log[b*mN + mN] -
6*mN^6*x^6*Log[mN^3*x^2*(b*mN - 3*mN) + mN^3*(mN - b*mN)] +
3*mN^6*x^4*Log[mN^3*x^2*(b*mN - 3*mN) + mN^3*(mN - b*mN)] +
3*mN^6*x^2*Log[mN^3*x^2*(b*mN - 3*mN) + mN^3*(mN - b*mN)] +
6*mN^6*x^6*Log[mN^3*(b*mN + mN) - mN^3*x^2*(b*mN + 3*mN)] -
3*mN^6*x^4*Log[mN^3*(b*mN + mN) - mN^3*x^2*(b*mN + 3*mN)] -
3*mN^6*x^2*Log[mN^3*(b*mN + mN) - mN^3*x^2*(b*mN + 3*mN)] -
3*(2*mN^6*x^6 - mN^6*x^4 + 7*mN^6*x^2)*Log[mN - b*mN] +
8*(2*mN^6*x^6 - 3*mN^6*x^4 + 3*mN^6*x^2 + mN^6)*
Log[(2*mN*x)/(b*mN + mN)] +
12*b*mN^6));


It contains terms like gLog[f1], gLog[f2], where f1,f2 are some functions; so it may be simplified to gLog[f1f2]. However, commands like Simplify do not work:

Assuming[0<b<1&& mN > 0&& 0<x<1/2,Simplify[function[mN,x,b]]]


-(1/(48 [Pi]^2))mN^3 (6 x^6 log(mN^4 (-(b+3) x^2+b+1))-6 x^6 log(mN^4 (b (x^2-1)-3 x^2+1))-3 x^4 log(mN^4 (-(b+3) x^2+b+1))+3 x^4 log(mN^4 (b (x^2-1)-3 x^2+1))-3 x^2 log(mN^4 (-(b+3) x^2+b+1))+3 x^2 log(mN^4 (b (x^2-1)-3 x^2+1))+3 (2 x^4-x^2+7) x^2 log((b+1) mN)-3 (2 x^4-x^2+7) x^2 log(mN-b mN)+8 b x^4-20 b x^2+16 x^6 log((2 x)/(b+1))-24 x^4 log((2 x)/(b+1))+24 x^2 log((2 x)/(b+1))+8 log((2 x)/(b+1))+12 b)

Could you please tell me the rule allowing to reduce the expression?

Update: Thanks to @DanielHuber and @UlrichNeumann. The solution is to combine FullSimplify with the assumptions on parameters b,mN,x:

Assuming[0<b<1&& mN > 0&& 0<x<1/2,FullSimplify[function[mN,x,b]]]

Applying FullSimplify in the function definition results in:

If you the add a replacemet rule the number of Logs is reduced to 5:

function[mN_, x_, b_] = ... // FullSimplify) /. Log[x1_] - Log[x2_] -> Log[x1/x2]


• Thanks, but it still does not work properly, as it still does not collect the logs. I tried to add Assumptions (in my case, $0<b<1$, $mN>0$, $0<x<1/2$) but it still does not work. Feb 22 at 13:52
• See my update above. Feb 22 at 14:11

Try FullSimplify (as proposed by @DanielHuber) and afterwards the rule Log[a_ b_] -> Log[a] + Log[b]

FullSimplify[-((1/(48*Pi^2*mN^3))*(8*b*mN^6*x^4 - 20*b*mN^6*x^2 +
6*mN^6*x^6*Log[b*mN + mN] - 3*mN^6*x^4*Log[b*mN + mN] +
21*mN^6*x^2*Log[b*mN + mN] -
6*mN^6*x^6*Log[mN^3*x^2*(b*mN - 3*mN) + mN^3*(mN - b*mN)] +
3*mN^6*x^4*Log[mN^3*x^2*(b*mN - 3*mN) + mN^3*(mN - b*mN)] +
3*mN^6*x^2*Log[mN^3*x^2*(b*mN - 3*mN) + mN^3*(mN - b*mN)] +
6*mN^6*x^6*Log[mN^3*(b*mN + mN) - mN^3*x^2*(b*mN + 3*mN)] -
3*mN^6*x^4*Log[mN^3*(b*mN + mN) - mN^3*x^2*(b*mN + 3*mN)] -
3*mN^6*x^2*Log[mN^3*(b*mN + mN) - mN^3*x^2*(b*mN + 3*mN)] -
3*(2*mN^6*x^6 - mN^6*x^4 + 7*mN^6*x^2)*Log[mN - b*mN] +
8*(2*mN^6*x^6 - 3*mN^6*x^4 + 3*mN^6*x^2 + mN^6)*
Log[(2*mN*x)/(b*mN + mN)] + 12*b*mN^6))] /.
Log[a_ b_] -> Log[a] + Log[b]

(*(1/(48 \[Pi]^2))mN^3 (-4 b (3 - 5 x^2 + 2 x^4) +3 x^2 (-7 + x^2 - 2 x^4) (Log[1 + b] + Log[mN]) -
8 (Log[2] + Log[x/(1 + b)]) +x^2 (3 (7 - x^2 + 2 x^4) Log[mN - b mN] -
8 (3 - 3 x^2 + 2 x^4) (Log[2] + Log[x/(1 + b)]) + 3 (-1 - x^2 + 2 x^4) (Log[1 - b + (-3 + b) x^2] - Log[1 + b - (3 + b) x^2])))*)

• Thanks, but it still does not collect the logs. However, if specifying particular assumptions about b,x,mN (please see the update to my question) and adding FullSimplify, the logarithms get collected properly. That's my fault that I did not specify the assumptions. Feb 22 at 14:10