- #1
dyb
- 16
- 0
I have a question about covariant and contravariant vectors. I tried making concrete examples and in one example I succeed, in another I fail.
It is said that displacement vectors transform contravariantly, and gradients of a scalar transform covariantly.
I can get the whole story working in 1D:
Contravariant: Let's suppose I have a displacement of 1km, and I want it expressed in meters. So we have to make our "basis vector" (i.e. unit) 1000 times smaller. Since we're contravariant, I multiply by 1000 => 1km = 1000m.
Covariant: Let's suppose now I have a temperature field that changes 1K per kilometer. The gradient is 1K/km. Let's transform that in meters, i.e. make basis 1000 times smaller. Since we're covariant, I have to divide by 1000 => 1K/km = 0.001K/m.
So once I multiply by 1000, once I divide by 1000. That seems to make sense so far. I hope the example is valid.
But here's the example that seems to be wrong:
Let's take a 2D scalar function and take its gradient at a point. As is well known, the gradient of a scalar function will point in the direction of steepest slope. Let's suppose in an example that it points upwards (y direction points upwards) in a coordinate system. Now let's take a coordinate system that is rotated clockwise (y' now points to the right).
Of course, the direction of steepest slope is a physical entity and doesn't change, but from the point of view of the rotated coordinate system, it has been rotated anticlockwise (i.e. if I look in the direction of y', the steepest slope appears to the left). So, I rotated the system clockwards and the vector rotated the other way around; that is contravariant, not covariant. Where's the mistake?
I suppose the direction of steepest slope is somehow like a displacement so it behaves contravariantly. But why is it said that the gradient transform covariantly? How do I have to alter the example to be correct?
Thanks for helping me understand.
It is said that displacement vectors transform contravariantly, and gradients of a scalar transform covariantly.
I can get the whole story working in 1D:
Contravariant: Let's suppose I have a displacement of 1km, and I want it expressed in meters. So we have to make our "basis vector" (i.e. unit) 1000 times smaller. Since we're contravariant, I multiply by 1000 => 1km = 1000m.
Covariant: Let's suppose now I have a temperature field that changes 1K per kilometer. The gradient is 1K/km. Let's transform that in meters, i.e. make basis 1000 times smaller. Since we're covariant, I have to divide by 1000 => 1K/km = 0.001K/m.
So once I multiply by 1000, once I divide by 1000. That seems to make sense so far. I hope the example is valid.
But here's the example that seems to be wrong:
Let's take a 2D scalar function and take its gradient at a point. As is well known, the gradient of a scalar function will point in the direction of steepest slope. Let's suppose in an example that it points upwards (y direction points upwards) in a coordinate system. Now let's take a coordinate system that is rotated clockwise (y' now points to the right).
Of course, the direction of steepest slope is a physical entity and doesn't change, but from the point of view of the rotated coordinate system, it has been rotated anticlockwise (i.e. if I look in the direction of y', the steepest slope appears to the left). So, I rotated the system clockwards and the vector rotated the other way around; that is contravariant, not covariant. Where's the mistake?
I suppose the direction of steepest slope is somehow like a displacement so it behaves contravariantly. But why is it said that the gradient transform covariantly? How do I have to alter the example to be correct?
Thanks for helping me understand.