Dados dos vectores $u, v \in \mathbb{R}^d$ representados en coordenadas esféricas, ¿existe una fórmula simple para calcular el ángulo entre los dos vectores? Sin pérdida de generalidad, podemos asumir que los vectores $u$ y $v$ tienen norma unitaria.
No estoy seguro de que la siguiente notación sea estándar, pero asumo que el vector $u$ está definido con $\rho = 1$ y los componentes angulares $\theta_1, \ldots, \theta_{d-1}$. Podemos obtener los componentes euclídeos de la siguiente manera: $$u_{x_1} = \cos \theta_1$$ $$u_{x_2} = \sin \theta_1 \cos \theta_2$$ $$\ldots$$ $$u_{x_{d-1}} = \sin \theta_1 \ldots \sin \theta_{d-2} \cos \theta_{d-1}$$ $$u_{x_d} = \sin \theta_1 \ldots \sin \theta_{d-2} \sin \theta_{d-1}.$$
Una forma de encontrar el ángulo es representar los dos vectores en coordenadas euclídeas y calcular el arco coseno del producto punto. ¿Existe una forma más simple?
Como se señaló en los comentarios, ¿hay alguna generalización de la fórmula Haversine?