0
$\begingroup$

I'm trying to simplify an enormous analytic expression as much as possible. When I use Simplify, I get a half-decent result in about 20 seconds. However when I use FullSimplify the kernel simply crashes after a couple seconds, after which I need to reevaluate everything from scratch. I have tried manually setting the TimeConstraint option to infinity, that does nothing.

ClearAll[N1
  , D1, D2, D3, D4, D5, D6
  , F1, F2];
(* T *)
N1[k0_, x_, m_, L_, kp_, \[CapitalDelta]p_, \[Xi]_, Pz_, Md_, 
   Mu_] := -(1 + x)*k0^2 - 
   2*(x^2 - \[Xi]^2)*(Pz + m^2/(2*Pz))*k0 + (1 + x)*
    kp^2 + (1 + m^2/(2*Pz^2))*\[Xi]*kp*\[CapitalDelta]p - 
   1/4*(1 - x)*\[CapitalDelta]p^2 + (x^2 - \[Xi]^2)*(1 - x)*
    m^2 + (x - (1 + m^2/(2*Pz^2))*\[Xi])*Mu*
    Md + (x + (1 + m^2/(2*Pz^2))*\[Xi])*Mu*Md + (1 - x)*Md^2;  

(* (Subscript[k, +]-1/2\[CapitalDelta])^2+Subscript[M, d]^2 = \
-(Subscript[k, 0]-Subscript[k^(-), 0+])(Subscript[k, \
0]-Subscript[k^(-), 0-]) *)

D1[k0_, x_, m_, L_, kp_, \[CapitalDelta]p_, \[Xi]_, Pz_, Md_, 
   Mu_] := -k0*(k0 + 2*(x*(Pz + m^2/(2*Pz)) + \[Xi]*Pz)) + (\[Xi]^2 - 
      x^2)*m^2 + (kp - \[CapitalDelta]p/2)^2 + Md^2;    

(* (Subscript[k, +]+1/2\[CapitalDelta])^2+Subscript[M, d]^2 = \
-(Subscript[k, 0]-Subscript[k^(+), 0+])(Subscript[k, \
0]-Subscript[k^(+), 0-]) *)

D2[k0_, x_, m_, L_, kp_, \[CapitalDelta]p_, \[Xi]_, Pz_, Md_, 
   Mu_] := -k0*(k0 + 2*(x*(Pz + m^2/(2*Pz)) - \[Xi]*Pz)) + (\[Xi]^2 - 
      x^2)*m^2 + (kp + \[CapitalDelta]p/2)^2 + Md^2;    

 (* (Subscript[k, -]^2+Subscript[M, u]^2) = -(Subscript[k, \
0]-Subscript[Overscript[k, _], 0+])(Subscript[k, \
0]-Subscript[Overscript[k, _], 0-]) *)

D3[k0_, x_, m_, L_, kp_, \[CapitalDelta]p_, \[Xi]_, Pz_, Md_, 
   Mu_] := -(k0 - (1 - x)*(Pz + m^2/(2*Pz)))^2 + 
   kp^2 + (1 - x)^2*Pz^2 + Mu^2; 

(* (Subscript[k, +]-1/2\[CapitalDelta])^2+\[CapitalLambda]^2 = \
-(Subscript[k, 0]-Subscript[k^((-)\[CapitalLambda]), \
0+])(Subscript[k, 0]-Subscript[k^((-)\[CapitalLambda]), 0-]) *)

D4[k0_, x_, m_, L_, kp_, \[CapitalDelta]p_, \[Xi]_, Pz_, Md_, 
   Mu_] := -k0*(k0 + 2*(x*(Pz + m^2/(2*Pz)) + \[Xi]*Pz)) + (\[Xi]^2 - 
      x^2)*m^2 + (kp - \[CapitalDelta]p/2)^2 + L^2;    

(* (Subscript[k, +]+1/2\[CapitalDelta])^2+\[CapitalLambda]^2 = \
-(Subscript[k, 0]-Subscript[k^((+)\[CapitalLambda]), \
0+])(Subscript[k, 0]-Subscript[k^((+)\[CapitalLambda]), 0-]) *)

D5[k0_, x_, m_, L_, kp_, \[CapitalDelta]p_, \[Xi]_, Pz_, Md_, 
   Mu_] := -k0*(k0 + 2*(x*(Pz + m^2/(2*Pz)) - \[Xi]*Pz)) + (\[Xi]^2 - 
      x^2)*m^2 + (kp + \[CapitalDelta]p/2)^2 + L^2;    

 (* (Subscript[k, -]^2+\[CapitalLambda]^2)^2 = (Subscript[k, \
0]-Subscript[Overscript[k, _]^\[CapitalLambda], 0+])^2(Subscript[k, \
0]-Subscript[Overscript[k, _]^\[CapitalLambda], 0-])^2 *)

D6[k0_, x_, m_, L_, kp_, \[CapitalDelta]p_, \[Xi]_, Pz_, Md_, 
   Mu_] := (-(k0 - (1 - x)*(Pz + m^2/(2*Pz)))^2 + 
    kp^2 + (1 - x)^2*Pz^2 + L^2)^2; 




(* Full Integrand relevant for evaluating pole at Subscript[k^(-), \
0+] (SINGLE POLE) *)

F1[k0_, x_, m_, L_, kp_, \[CapitalDelta]p_, \[Xi]_, Pz_, Md_, Mu_] := 
  N1[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, 
    Mu]/(-(2*(x + \[Xi])*Pz)*
     D2[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, Mu]*
     D3[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, Mu]*
     D4[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, Mu]*
     D5[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, Mu]*
     D6[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, Mu]);

(* Full Integrand relevant for evaluating pole at Subscript[k^((-)\
\[CapitalLambda]), 0+] (SINGLE POLE) *)

F2[k0_, x_, m_, L_, kp_, \[CapitalDelta]p_, \[Xi]_, Pz_, Md_, Mu_] := 
  N1[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, 
    Mu]/(-D1[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, Mu]*
     D2[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, Mu]*
     D3[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, 
      Mu]*(2*(x + \[Xi])*Pz)*
     D5[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, Mu]*
     D6[k0, x, m, L, kp, \[CapitalDelta]p, \[Xi], Pz, Md, Mu]);

Here is the evaluation that's causing me issues. If I change FullSimplify to Simplify, I get a good answer. But ideally I would get an even more simplified expression.

TraditionalForm[FullSimplify[
  Series[F1[Subscript[k, 0], x, m, L, kp, \[CapitalDelta]p, \[Xi], 
      Subscript[P, z], Subscript[M, d], Subscript[M, 
      u]] /. {Subscript[k, 
       0] -> ((kp - (\[CapitalDelta]p/2))^2 + Subscript[M, 
        d]^2 + (\[Xi]^2 - x^2)*m^2)/(
       2*(x + \[Xi])*Subscript[P, z])}, {Subscript[P, z], \[Infinity],
      2}] + Series[
    F2[Subscript[k, 0], x, m, L, kp, \[CapitalDelta]p, \[Xi], 
      Subscript[P, z], Subscript[M, d], Subscript[M, 
      u]] /. {Subscript[k, 
       0] -> ((kp - (\[CapitalDelta]p/2))^2 + 
        L^2 + (\[Xi]^2 - x^2)*m^2)/(
       2*(x + \[Xi])*Subscript[P, z])}, {Subscript[P, z], \[Infinity],
      2}]
  , TimeConstraint -> Infinity]]

Here are my system specs:

  • Mathematica Version: 11.3.0 for Linux
  • Operating System: Ubuntu 20.04.4 LTS, 64-bit
  • Processor: Intel® Core™ i7-8550U CPU @ 1.80GHz × 8
$\endgroup$
5
  • $\begingroup$ TimeConstrained will do nothing for you here. I am always wary of pretty-printing notation in mathematical calculations. Do you think you could dramatically simplify your symbols to avoid Subscript, Overscript, etc, and just use plain names, or perhaps instead of Subscript[d, 2] just d[2]? $\endgroup$
    – MarcoB
    Apr 1, 2022 at 19:38
  • $\begingroup$ Does using subscripted variables dramatically worsen evaluation time? I can definitely remove them and try it again, no problem. $\endgroup$ Apr 1, 2022 at 20:02
  • $\begingroup$ Do the simplification in two steps, i.e., expr2 = Simplify[expr]; expr3 = FullSimplify[expr2]. Also, what do you know about constraints on the variables/parameters that you can provide to Simplify and FullSimplify as assumptions? $\endgroup$
    – Bob Hanlon
    Apr 1, 2022 at 20:35
  • $\begingroup$ I tried executing FullSimplify on the result of Simplify, and the kernel crashed all the same. The assumptions are that all the parameters are real, $m,L,k_p,\Delta_p,M_d,M_u>0$ are positive numbers, $0<\xi<1$, and $-\xi < x < \xi$. $\endgroup$ Apr 1, 2022 at 20:43
  • $\begingroup$ I am not replicating the crash either in 11.3 or 13.0 (on Ubuntu 18.04). It is not completing in reasonable time either, but no crash after several minutes thus far. $\endgroup$ Apr 2, 2022 at 16:29

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.