# Computing powers of the operator using symbolic computation

Suppose $t\in\mathbb{R_+}$ - some parameter, $V: \mathbb{R}\to\mathbb{R}$ - some function. I have an operator $S:f\mapsto S[f]$ that maps a function $f$ to a function $S[f]$: $$S[f](x) = f(x+\sqrt{t})+2f(x)+f(x-\sqrt{t})-\arctan(tV(x))f(x)$$ My goal is to find a formula for power $S^n$ of the operator $S$, and I wonder if Mathematica can help here. To find a general formula I first decided to compute some of the powers $S^2, S^3,...$ and look for a pattern. But doing so on paper is very tedious process. How can I input this formula to Mathematica and use its ability of symbolic computation to get formal representation (with like terms collected) for $S^2[f]=S[S[f]]$, $S^3[f]=S[S[S[f]]]$?

For example, formula for $S^2$ would look like this: $$f(x+2\sqrt{t})+4f(x+\sqrt{t})+6f(x)+4f(x-\sqrt{t})+f(x-2\sqrt{t})-\arctan(tV(x+\sqrt{t}))f(x+\sqrt{t}) -4\arctan(tV(x))f(x)-\arctan(tV(x-\sqrt{t}))f(x-\sqrt{t}))-\arctan(tV(x))f(x+\sqrt{t})-\arctan(tV(x))f(x-\sqrt{t})+\arctan(tV(x))^2$$

Simpler example: let $K[f][x] = f[x+t]+f[x]$. Then $$K^2[f][x] = K[f][x+t]+K[f][x] = f[x+2t]+2f[x+t]+f[x]$$ $$K^3[f][x] = K^2[f][x+t]+K^2[f][x] = f[x+3t]+3f[x+2t]+3f[x+t]+f[x]$$

So by inputing $K[f][x] = f[x+t]+f[x]$ and 3-rd power I would like to get the output $$f[x+3t]+3f[x+2t]+3f[x+t]+f[x]$$

• Take a look at Nest: reference.wolfram.com/language/ref/Nest.html#32108 Mar 9, 2016 at 14:41
• @mattiav27, thanks, I think that's the part of what I need! How do I input an operator, i.e. a function, that maps a function to a function? Mar 9, 2016 at 14:57
• @Glinka It is more or less how you described it. You need to define S[f_][x_], and then apply Nest (or Fold) to S[f][x] for the "powers" of $S[f]$. Mar 9, 2016 at 15:33
• @AntonAntonov, the main obstacle is how to define a function, that take as an argument another function? Something like S[f, x]=f[x+2]+f[x]? Then S^2[f, x] = f[x+4]+2f[x+2]+f[x] Mar 9, 2016 at 15:50
• @Glinka I think you should redefine $S$ in your question. It seems you want the parameter $t$ in the function body to be the exponent. E.g. $S^t[f](x):=f(x+t)+2f(x)+f(x-t)$. Mar 9, 2016 at 16:23

I think it perhaps would help if you showed exactly what you expect by e.g. nesting your operator at least twice, so we can check the correctness of the results, but hopefully the following should get you started is going to work for you.

This is a simpler example to show how this approach might work:

ClearAll[op, f, a, v, t, x]
op[f_] = f[2 #] + v[t] &;
Through[NestList[op, a, 3][x]]

(* Out:
{a[x], a[2 x] + v[t], a[4 x] + 2 v[t], a[8 x] + 3 v[t]}
*)


Applying this to your problems will yield:

ClearAll[f, S, t, x]
S[f_] = (f[# + Sqrt[t]] + 2 f[#] + f[# - Sqrt[t]]) - ArcTan[t V[#]] f[#] &;
Through[NestList[S, f, 3][x]] // Simplify

(* Out:
{ f[x],
-(-2 + ArcTan[t V[x]]) f[x] + f[-Sqrt[t] + x] + f[Sqrt[t] + x],
(6 - 4 ArcTan[t V[x]] + ArcTan[t V[x]]^2) f[x] + f[-2 Sqrt[t] + x] + 4 f[-Sqrt[t] + x]
- ArcTan[t V[x]] f[-Sqrt[t] + x] - ArcTan[t V[-Sqrt[t] + x]] f[-Sqrt[t] + x] +
4 f[Sqrt[t] + x] - ArcTan[t V[x]] f[Sqrt[t] + x] - ArcTan[t V[Sqrt[t] + x]] f[Sqrt[t] + x]
+ f[2 Sqrt[t] + x]}
*)

• Thank you, that's exactly what I was looking for! Mar 9, 2016 at 16:41

Update

This update is with code for the definition of the simpler function $K$.

ClearAll[K, PowerK]
K[f_, t_][x_] := f[x + t] + f[x];
PowerK[f_, t_, 1][x_] := K[f, t][x];
PowerK[f_, t_, 0][x_] := 1;
PowerK[f_, t_, n_][x_] :=
PowerK[f, t, n - 1][x + t] + PowerK[f, t, n - 1][x];
Unprotect[Power];
Power[K, n_Integer][f_, t_][x_] := PowerK[f, t, n][x];


Here is how to use with Power:

(K^3)[f, t][x]
(* f[x] + 3 f[t + x] + 3 f[2 t + x] + f[3 t + x] *)


Here is an image with more examples:

Definition of $S$ and $f$:

S[f_, t_][x_] := f[x - Sqrt[t]] + 2 f[x] + f[x - Sqrt[t]];

f[x_] := x^3;


Note that $S$ in the question had several global parameters $t$ and $V$. I used only $t$.

Now we apply Nest:

Nest[S[f, 4], 1, 4]
(* -31318496301456 *)


Here is an image with more examples:

• Thank you for your answer! That is not quite what I was looking for, but still very useful. Mar 9, 2016 at 16:42
• @Glinka Please see my update. I think it is very close to what you want. Mar 9, 2016 at 16:57
• yes, it is, thank you! Mar 10, 2016 at 10:25