I recently learned that the general formula for the dot product between two vectors A and B is: gμνAμBν Well, I now have a few questions: 1. We know how in Cartesian coordinates, the dot product between a vector and itself (in other words A ⋅ A) is equal to the square of the magnitude |A|2. Well does this hold true in the general case as well for any coordinate system? If I do gμνAμAν, will that give me the square of the magnitude of the vector A? 2. We know that in Cartesian coordinates, you can find a unit vector in the direction of any vector by dividing the vector by its magnitude ( in other words by doing this: A / |A| ). Can you use this same method to find said unit vector in any coordinate system (whether it be a set of orthogonal coordinates or curvilinear coordinates)? 3. This next question has to do with the gradient operation. We know that in cylindrical coordinates, the gradient of a function is as follows: ∇U = [r-hat * (∂U/∂r)] + [ θ- hat * (1/r) * (∂U/∂θ)] + [z-hat * (∂U/∂z)] Note: r-hat, θ-hat and z-hat are all just unit basis vectors. Now my question is: Why is it (1/r) that is multiplied by θ-hat and (∂U/∂θ) instead of just being r? I know that the unit basis vector θ-hat is equal to eθ/r (where eθ is the original not normalized basis vector). It is for that reason that I would think that r would be in the place of (1/r). If that were the case, then the gradient vector would be expressed as a linear combination of all of the original basis vectors. However, (1/r) * θ-hat simply equals eθ/r2 , which doesn't seem like any special quantity to me. Why then is it (1/r) instead of just r? Thank you.