1
$\begingroup$

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] 

returns

{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?

$\endgroup$

1 Answer 1

1
$\begingroup$

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

$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.