I have an expression that includes some integrations. I find the derivative of the expression which results in a long-expression. I wanna rewrite the result based on one of the integrations. I would be thankful to know how I can re-write the following expression:

D[t1* Integrate[(u - z)*f[u], {u, z, Infinity}] * Integrate[(u - z)*f[u], {u, z, Infinity}] + 
  t2* Integrate[f[u], {u, 0, z}] * Integrate[(u - z)*f[u], {u, z, Infinity}], z]

I want to re-arrange the result based on Integrate[(u - z)*f[u], {u, z, Infinity}] , then, based on Integrate[f[u], {u, 0, z}].

I have tried "Reduce" by I faced an error. Also, how it is possible to replace each integration with a symbol like s1 =Integrate[(u - z)*f[u], {u, z, Infinity}] and s2 =Integrate[f[u], {u, 0, z}] ?


You can use replacement rules to rewrite the results in terms of s1[z] and s2[z]:

expr = D[t1*Integrate[(u - z)*f[u], {u, z, Infinity}]*
         Integrate[(u - z)*f[u], {u, z, Infinity}] + 
         t2*Integrate[f[u], {u, 0, z}]*
         Integrate[(u - z)*f[u], {u, z, Infinity}], z]

reprules = {Integrate[(u_ - z)*f[u_], {u_, z, Infinity}] -> s1[z], 
            Integrate[f[u_], {u_, 0, z}] -> s2[z]}

Simplify[expr /. reprules] // InputForm

(* t2*f[z]*s1[z] + Integrate[-f[u], {u, z, Infinity}]*(2*t1*s1[z] + t2*s2[z]) *)

I have used the pattern u_ so that these same replacement rules can be applied if you use a different dummy variable in your integrations, though this case doesn't arise in the code you've provided.

Integrate[(w - z)*f[w], {w, z, Infinity}] /. reprules

(* s1[z] *)
  • $\begingroup$ Thank you so much. $\endgroup$
    – Katatonia
    Aug 19 at 19:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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