In the Riemannian geometry of General Relativity,
**lengths (dot products) are computed using a metric tensor**
which depends on the stress-energy tensor
in Einstein's equation.
In flat Minkowski space:

The usual way to keep track of dot products etc. is to introduce upper and lower indices on vectors (and tensors). A dot product is defined to be between one vector with a lower index and another with an upper index.

The simplest example is the solution of the Einstein equations by Schwarzschild for problems with spherical symmetry.

Jim Branson 2012-10-21