I am trying to define a function (an operator) that "integrates then translates" a function. More specifically, for an input f[x], I want to integrate it as \int_0^x f[t] dt, then translate this function by one unit to the left.

I tried the following code:

     Integrate[#, {t, 0, x}, Assumptions -> x \[Element] Reals], 
     x]) /. x -> t &

This code works on many elementary functions with the Nest command. For example,

NestList[S[x], Exp[t], 2]


{E^t, -1 + E^(1 + t), -1 + E (-1 + E^(1 + t)) - t}

(where E is the usual e). However, for a more exotic input function like Exp[Exp[t]], Mathematica gives me a conditional expression:

{E^E^t, ConditionalExpression[-ExpIntegralEi[1] + 
   ExpIntegralEi[E^(1 + t)], t > -1]}

I attempted adding assumptions that the variables x and t are real in my definition of S[x_], but I have not been able to work around my issue.

I know there is no closed form for the integral of e^e^x; ultimately, I just want to plot the iterates of a given starting function. Is there a different way to define this operator at the beginning so that its iterates are able to be plotted?


1 Answer 1


Your operator is wrong. It should read:

op = (Assuming[x \[Element] Reals, Integrate[#, {t, 0, x}]] /. 
    x -> t + 1) &

Applied to Exp[t] this gives:

NestList[op, Exp[t], 2]
(* {E^t, -1 + E^(1 + t), -1 + E (-1 + E^(1 + t)) - t} *)

And applied to Exp[Exp[t]]:

NestList[op, Exp[Exp[t]], 2]

enter image description here


Your Answer

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

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