I want to change variables in the following integral:

Integrate[q*D[z[x, y],x]^2, {x, -∞, ∞}, {y, -∞, ∞}]

as follows:

{x == k1*x1, y == k1*y1}

and z[x,y]->k2*u[x1,y1]

That is what I tried:

    q*D[z[x, y], 
      x]^2, {x, -∞, ∞}, {y, -∞,
∞}], {x1, y1}, {x == k1*x1, y == k1*y1}], {x1 ∈ 
    Reals, y1 ∈ Reals, k1 > 0}] /. z -> (k2*u[#1/k1, #2/k1] &)

with the following effect:

enter image description here

This result is correct. However, my questions are

  1. Where the {True, True} comes from and what does it mean in this context?
  2. Is it eventually possible to remove it?
  3. Is it possible to change variables z->u within the function IntegrateChangeVariables, rather than as I did it?
  • 1
    $\begingroup$ The {True, True} comes from simplifying the 3rd argument in the code returned by IntegrateChangeVariables[ Inactive[Integrate][ q*D[z[x, y], x]^2, {x, -\[Infinity], \[Infinity]}, {y, -\[Infinity], \[Infinity]} ], {x1, y1}, {x == k1*x1, y == k1*y1}]. That code seems erroneous to me (a bug, I mean). But the problem is better shown without the Simplify, imo. $\endgroup$
    – Goofy
    Commented Dec 24, 2023 at 3:05

1 Answer 1


The following works well in 13.3.1 on Windows 10.

Assuming[k1 > 0, IntegrateChangeVariables[ Inactive[Integrate]
[ q*D[z[x, y],  x]^2, {x, -\[Infinity], \[Infinity]}, {y, -\[Infinity], 
\[Infinity]}], {x1, y1}, {x == k1*x1, y == k1*y1}]]

k1^2*q*Integrate[Derivative[1, 0][z][ k1*x1, k1*y1]^2, {x1, -Infinity, Infinity}, {y1, -Infinity, Infinity}]

Compare with a case of a specified z[x,y]

Assuming[k1 > 0, IntegrateChangeVariables[Inactive[Integrate][q*D[Exp[-x^4 - y^2]
  , x]^2, {x, -\[Infinity], \[Infinity]}, {y, -\[Infinity], \[Infinity]}], {x1, y1}, 
{x == k1*x1, y == k1*y1}]]

Inactive[Integrate][(16*k1^8*q*x1^6)/ E^(2*k1^2*(k1^2*x1^4 + y1^2)), {x1, -Infinity, Infinity}, {y1, -Infinity, Infinity}]

One sees problems with the derivative in the general case.

  • $\begingroup$ Thank you. Do you know the answer to my first question? I would like to understand where this {True,True} comes from? $\endgroup$ Commented Nov 24, 2023 at 11:03
  • $\begingroup$ @AlexeiBoulbitch: No, I don't know answer to your first question. Ask Mathematica developers that. $\endgroup$
    – user64494
    Commented Nov 24, 2023 at 12:58

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.