- #1

- 16

- 0

## Main Question or Discussion Point

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

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

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.