Pseudo-Riemannian geometry