Let's say that you have a gradient vector in one space, and want to use a transformation matrix to change it into another space. What is the correct way to do that?
When transforming regular vectors, you can multiply the vector by the transformation matrix to get the vector in the other space.
For normal vectors (like, the normal of a surface), you multiply the normal vector by the inverse transpose of the transformation matrix to get the normal vector into the other space.
I've heard that you transform a gradient vector (of partial derivatives) the same way that you transform a normal vector, by using the inverse transpose matrix, but I'm unable to see the intuition for this, or even figure out how to work out whether this is true or not.
What is the correct way to transform a gradient vector from one space to another?