# Understanding the change of variables for PDEs

• I
TL;DR Summary
I have been trying to put together an understanding of change of variables for PDEs, and I am wondering if I am on the right track.
I've been trying to get change of variables in PDEs down (I don't particularly like my textbook or professor's approach to it), and I want to ask here if I am getting this right. Let ##\vec{x}=(x_1,x_2,...,x_n)^T## and ##\partial_\vec{x}=(\partial_{x_1},\partial_{x_2},...,\partial_{x_n})^T##. I believe that a second-order linear PDE with constant coefficients (in n dimensions) can be written in the form
$$\left( \partial_\vec{x}^TA\partial_\vec{x}+B\partial_\vec{x}+C \right) u=f(\vec{x})$$
where ##A## is an nxn matrix, ##B## is an n-dimensional row vector, and ##C## is a scalar. Now, we can change coordinates to ##\vec{y}=P\vec{x}## where ##P## is an nxn matrix. From my understanding, this means ##\partial_\vec{x}=P\partial_\vec{y}##. Now, though for a partial differential equation the choice of ##A## is not unique, there is a unique symmetric choice of ##A##. Assuming ##A## is diagonalizable, we choose ##P## such that it diagonalizes ##A##-- this also makes it an orthogonal matrix, and ##P^{-1}=P^T##. So, changing variables gives us
$$\left( \partial_\vec{y}^TP^TAP\partial_\vec{y}+BP\partial_\vec{y}+C \right) u=f(P^T\vec{y}).$$

This gets rid of the cross terms for the second derivatives, which would then make life much easier when solving these equations. I did compare this for the ##A=0## case with problems done using a different method, and the answers were the same (this time though choosing ##P## such that ##BP=(1,0)##).

If everything above is correct, this leaves me with two more questions:

1. I know that when ##B=\vec{0}^T## and ##C=0##, in the 2-D case, we are left with either the diffusion equation, Laplace's equation, or the heat equation. How does one handle solving the equation when ##B## and/or ##C## are nonzero?

2. Is there a way to generalize this for non-constant coefficients?

Thank you very much in advance!

Last edited: