10

Running version "12.0.0 for Microsoft Windows (64-bit) (April 6, 2019)", in case that matters. I fed Mathematica the command

Simplify[
  Integrate[
    e*Exp[-e*t]*F*Exp[-F *t]* Exp[-\[Lambda] - b*t]*
    Integrate[
      Sum[(b*s + \[Lambda])^y/y! *
        Sum[2^(-y)*Binomial[y, z]*(b*(t - s))^(x - z)/(x - z)!, {z, 0, x}],
      {y, 0, Infinity}],
    {s, 0, t}],
  {t, 0, Infinity}],
e > 0 && F > 0 && \[Lambda] > 0 && b > 0 && Element[x, Integers]]

(line breaks added for readability, though I don't think that matters). It output the warning message

Simplify::time: Time spent on a transformation exceeded -4.03955*10^12 seconds, and the transformation was aborted. Increasing the value of TimeConstraint option may improve the result of simplification.

In fact, it gave me that message three times, and then

General::stop: Further output of Simplify::time will be suppressed during this calculation.

Twelve hours after that, it gave me an answer. The warning bugs me for a couple of reasons. First, 4.03955*10^12 seconds is thousands of years. Second, I don't know what to make of the negative number of seconds. Third, when I Googled I didn't see any results about this. (The only results on this site that I found are all of the form "Time spent on a transformation exceeded 300 seconds", which is rather different.)

The number -4.03955*10^12 makes me think there's some type of overflow error going on, but I've got no idea other than that.

A. Howells
  • 201
  • 1
  • 4
  • 1
    Was this run on a fresh kernel? – TimRias Jun 02 '21 at 07:51
  • 2
    How long after running the command do you get the first error message? – N.J.Evans Jun 02 '21 at 17:38
  • 1
    "Twelve hours after that, it gave me an answer." Did it give you "the correct answer" ? – JimB Jun 02 '21 at 21:12
  • 1
    @N.J.Evans I don't know exactly because I went away to do other stuff, but I think the message had already appeared twice when I checked back 3 hours later. – A. Howells Jun 03 '21 at 12:27
  • 1
    @JimB It gave me something which was equal to the input, yes. (Specifically it left the integrals and infinite sum alone, and replaced the inner sum with some HypergeometricU business. If any of you think it matters I'll edit the question to include the output.) – A. Howells Jun 03 '21 at 12:38
  • 1
    @mmeent I had Mathematica compute a half-dozen simpler integrals beforehand, but I think it was fresh other than that. – A. Howells Jun 03 '21 at 12:43
  • 1
    I couldn't let it run too long, but it went for about 20 minutes without any errors on MMA 12.0, OSX. If remember I'll try to let it run longer later today to rule out OS specific problems. – N.J.Evans Jun 03 '21 at 12:50

2 Answers2

5

This is just an extended comment as it does not answer the specific question asked. My only guess to the specific question is that the double sum embedded in a double integral where one of the parameters (x) must be an integer confuses Mathematica. In addition, my limited imagination does not allow me to see how explaining the specific error message would help anyone. This extended comment provides a work-around for providing a general solution to the original equation (other than having to supply a specific integer value for x).

Sometimes it helps to break up the calculation into parts. First consider the double sum where all terms are left unknown except for x:

Table[{x, Sum[(b*s + λ)^y/y!*Sum[2^(-y)*Binomial[y, z]*(b*(t - s))^(x - z)/(x - z)!, {z, 0, x}], 
  {y, 0, Infinity}]}, {x, 8}] // FullSimplify // TableForm

Table of values for the double sum

So we can see a common structure and note that the integer divisors are of the form 2^x x! (using oeis.org). Now a function can be written for the double sum:

sum[x_, b_, s_, λ_, t_] := (-1)^x (b (s - 2 t) - λ)^x Exp[(b s + λ)/2]/(2^x x!)

Setting a value of x we can get a result:

x = 3;
Integrate[e*Exp[-e*t]*F*Exp[-F*t]*Exp[-λ - b*t]*
   Integrate[sum[x, b, s, λ, t], {s, 0, t}], {t, 0, Infinity},
   Assumptions -> {e > 0, F > 0, λ > 0, b > 0}] // FullSimplify

Results of integration for x = 3

Maybe there's a common structure for integer values of x but I'll leave that up to you.

JimB
  • 41,653
  • 3
  • 48
  • 106
  • 1
    While the Question's only question is in its title, this Answer completely fails to respond to that question: "What should I make of 'Simplify: Time spent on a transformation exceeded -4.03955*10^12 seconds'?". – Eric Towers Jun 02 '21 at 13:17
  • 1
    @EricTowers. I agree. – JimB Jun 02 '21 at 14:02
  • @JimB The table stuff is a neat trick, though honestly I think I'm going to back up and try a different approach to my problem altogether. I'm still curious about the weird warning, but it seems like it might not be familiar to anyone here. – A. Howells Jun 03 '21 at 13:50
0

What should I make of "Simplify: Time spent on a transformation exceeded -4.03955*10^12 seconds"?

Good old bug.

>> dec2hex(int64(-4.03955*10^12))
ans = FFFFFC53780EA480

Looks like a signed 2s complement 64-bit integer that rolled over at some point. The timing calculation uses much smaller units, and the large negative value survived through the conversion to seconds.

Reminder to self: check whether they fixed it between 10.0 and 13.3.

* The travesty of showing this using Octave/Matlab instead of Mathematica is intentional of course.