2.3.4. Los símbolos de Christoffel

¿Qué son y cómo se calculan los coeficientes de conexión?

La primera característica es que no se trata de una cantidad tensorial (ver Problemas al final del capítulo). Si asumimos por ahora que la derivada definida en la sección anterior $\mathrm{D}_\alpha$ es un tensor, es posible demostrar (ver Problemas al final del capítulo) que la conexión afín transforma en general como:

$$ C^{\nu'}_{\mu'\sigma'}={{\cal G}^{\nu'}}_{\nu}{{\cal G}^{\mu}}_{\mu'}{{\cal G}^{\sigma}}_{\sigma'}C^{\nu}_{\mu\sigma}-{{\cal G}^{\mu}}_{\mu'}{{\cal G}^{\sigma}}_{\sigma'}\partial^2_{\mu\sigma}x^{\nu'} $$

En general se puede también demostrar que aunque las conexiones no son tensoriales, es posible definir con ellas un tensor que se conoce como el tensor de torsión:

$$ T^\alpha_{\mu\nu}=C^\alpha_{\mu\nu}-C^\alpha_{\nu\mu} $$

En general se pueden definir muchas conexiones diferentes en variedades diferenciales generales. Sin embargo hay una familia específica de conexiones que son las de interés para la Relatividad General.

Definición 4.20. Conexión de Levi-Civita y símbolos de Christoffel. Una conexión afín $C^\alpha_{\mu\nu}$ que además satisface las condiciones (axiomas):

  • Es libre de torsión: $T^\alpha_{\mu\nu}\equiv C^\alpha_{\mu\nu}-C^\alpha_{\nu\mu}=0$.
  • Es compatible con la métrica: ${g_{\mu\nu}}_{;\alpha}=0$.

Se llama una conexión de Levi-Civita. A los coeficientes de una conexión de Levi-Civita se los llama (históricamente) Símbolos de Christoffel y se los denota $\Gamma^\alpha_{\mu\nu}$.

Nótese que la propiedad de que el espacio sea libre de torsión implica que los símbolos de Christoffel son simétricos frente al intercambio de los índices inferiores:

$$ \Gamma^\alpha_{\mu\nu}=\Gamma^\alpha_{\nu\mu} $$

esto implica que no existen 64 símbolos independientes, sino tan solo $4_\alpha\times[(4^2-4)/2+4]_{\mu\nu}=40$ símbolos de Christoffel que deben ser especificados para determinar la derivada covariante general en un espacio de Riemanniano o pseudorimanniano.

La condición de que la métrica no tenga derivada covariante es fundamental y permite derivar expresiones para los símbolos de Christoffel. Para ello podemos comenzar con escribir todas las posibles combinaciones cíclicas de la derivada covariante del tensor métrico así:

$$ \begin{array}{rcccl} g_{\mu\nu;\rho} & = & g_{\mu\nu,\rho} -\Gamma^\lambda_{\mu\rho}g_{\lambda\nu} -\Gamma^\lambda_{\rho\nu}g_{\mu\lambda} & = & 0\\ g_{\nu\rho;\mu} & = & g_{\nu\rho,\mu} -\Gamma^\lambda_{\nu\mu}g_{\lambda\rho} -\Gamma^\lambda_{\mu\rho}g_{\nu\lambda} & = & 0\\ g_{\rho\mu;\nu} & = & g_{\rho\mu,\nu} -\Gamma^\lambda_{\rho\nu}g_{\lambda\mu} -\Gamma^\lambda_{\nu\mu}g_{\rho\lambda} & = & 0\\ \end{array} $$

Nótese que entre ellas y por la simetría del tensor métrico y de los símbolos de Christoffel hay términos que se repiten. Así por ejemplo en la primera y la segunda ecuación los términos $-\Gamma^\lambda_{\mu\rho}g_{\lambda\nu}$ y $-\Gamma^\lambda_{\mu\rho}g_{\nu\lambda}$ (respectivamente) son idénticos. Así, restando la primera de la segunda y tercera ecuación obtenemos:

$$ g_{\mu\nu,\rho}-g_{\nu\rho,\mu}-g_{\rho\mu,\nu}+2\Gamma^\lambda_{\mu\nu} g_{\lambda\rho}=0 $$

De esta última expresión se puede escribir la forma conocida de los símbolos de Christoffel:

$$ \Gamma^\lambda_{\mu\nu}=\frac{1}{2}g^{\lambda\rho}(g_{\rho\mu,\nu}-g_{\mu\nu,\rho}+g_{\nu\rho,\mu}) $$

Si introducimos la notación:

$$ g_{\{\rho\mu,\nu\}}\equiv g_{\rho\mu,\nu}-g_{\mu\nu,\rho}+g_{\nu\rho,\mu} $$

donde las llaves $\{\}$ indican que se debe sumar sobre todas las combinaciones cíclicas de los índices y usar como signo un análogo del símbolo de Levi-Civita, tal que por cada movimiento de la "banda transportadora" (permutación) se multiplica un signo "-". Es por eso que el segundo término, que corresponde a una permitación impar, es negativo.

entonces de forma abreviada:

$$ \Gamma^\lambda_{\mu\nu}=\frac{1}{2}g^{\lambda\rho}g_{\{\rho\mu,\nu\}} $$

Nota: Los términos de los símbolos de Christoffel. Aunque la expresión:

$$\Gamma^\lambda_{\mu\nu}=\frac{1}{2}g^{\lambda\rho}g_{\{\rho\mu,\nu\}}$$

es bastante compacta no hay que olvidar que encierra dos operaciones: la operación cíclica sobre el término $g_{\{\rho\mu,\nu\}}$ que hace que este se convierta en realidad en una suma de 3 términos, y la suma sobre el índice $\rho$ (4 términos). Eso hace que para calcular cada símbolo de Christoffel, en general, sean necesarios en realidad $4\times 3=12$ términos:

$$ \begin{array}{rcl} \Gamma^\lambda_{\mu\nu} & = & \frac{1}{2}g^{\lambda0}(g_{0\mu,\nu}-g_{\mu\nu,0}+g_{\nu0,\mu})+\\ & & + \frac{1}{2}g^{\lambda1}(g_{1\mu,\nu}-g_{\mu\nu,1}+g_{\nu1,\mu})+\\ & & + \frac{1}{2}g^{\lambda2}(g_{2\mu,\nu}-g_{\mu\nu,2}+g_{\nu2,\mu})+\\ & & + \frac{1}{2}g^{\lambda3}(g_{3\mu,\nu}-g_{\mu\nu,3}+g_{\nu3,\mu}) \end{array} $$

Como vemos, los símbolos de Christoffel son proporcionales a las primeras derivadas del tensor métrico. Este hecho se puede escribir explícitamente si definimos:

$$ \Gamma_{\alpha\mu\nu}=g_{\alpha\lambda}\Gamma^\lambda_{\mu\nu} $$

En términos de los símbolos de Christoffel las derivadas del tensor métrico se puede probar (ver Problemas al final del capítulo) son:

$$ \begin{array}{rcl} g_{\alpha\beta,\gamma} & = & \Gamma_{\alpha\beta\gamma}-\Gamma_{\beta\alpha\gamma}\\ {g^{\alpha\beta}}_{,\gamma} & = & -g^{\mu\beta}\Gamma^{\alpha}_{\mu\gamma}-g^{\alpha\mu}\Gamma^{\beta}_{\mu\gamma}\\ \end{array} $$

El hecho que las primeras derivadas del tensor métrico sean proporcionales a los símbolos de Christoffel, explica por que hay 40 valores independientes. Dado que el tensor métrico, por su simetría, tiene 10 componentes independientes (6 fuera de la diagonal y 4 en la diagonal) y cada una de ella tiene 4 componentes de la derivada, existiran en general $4\times 10=40$ primeras derivadas independientes.

Nota: El número de los símbolos de Christoffel.. Se puede mostrar que el número de símbolos de Christoffel para un espacio de dimensión $n$ es:

$$C = n^2(n+1)/2$$

En términos de los símbolos de Christoffel la derivada covariante en un espçacio Riemanniano o pseudoriemanniano con conexión de Levi-Civita se escribirá:

$$ \begin{array}{rcl} {A^\mu}_{;\alpha} & = & {A^\mu}_{,\alpha} + \Gamma^\mu_{\gamma\alpha} A^\gamma\\ A_{\mu;\nu} & = & A_{\mu,\nu}-\Gamma^\gamma_{\mu\nu} A_\gamma\\ {A^{\mu\nu}}_{;\alpha} & = & {A^{\mu\nu}}_{,\alpha}+\Gamma^\mu_{\gamma\alpha} A^{\gamma\nu}+\Gamma^\nu_{\alpha\gamma} A^{\mu\gamma}\\ {A_{\mu\nu}}_{;\alpha} & = & {A_{\mu\nu}}_{,\alpha}-\Gamma^\gamma_{\mu\alpha} A_{\gamma\nu}-\Gamma^\gamma_{\alpha\nu} A_{\mu\gamma} \end{array} $$

2.3.5. Cálculo de los símbolos de Christoffel

El cálculo de los símbolos de Christoffel es una de las habilidades más importantes en la relatividad general. En esta sección veremos ejemplos específicos del cálculo de estas cantidades para métricas específicas.

Si bien calcular 40 coeficientes mediante la derivada de los coeficientes del tensor métrico no parece una tarea muy agradable, hay algunas propiedades útiles tanto del tensor métrico como de los coeficientes que simplifican la tarea.

2.3.5.1. Los símbolos de Christoffel de una métrica diagonal

Como hemos visto en secciones anteriores el tensor métrico es una forma bilineal que nos da la regla para calcular el producto punto entre los cuadrivectores. Si llamamos $\hat{e}_\mu(x^\nu)$ a los vectores de una base del espacio tiempo definidos en el evento $x^\nu$, la métrica se define en términos de:

$$ \mathrm{d}s^2 = \mathrm{d}x^\mu\cdot\mathrm{d}x^\nu = (\mathrm{d}x^\mu\hat{e}_\mu)\cdot(\mathrm{d}x^\nu\hat{e}_\nu) = (\hat{e}_\mu\cdot\hat{e}_\nu)\mathrm{d}x^\mu\mathrm{d}x^\nu $$

es decir:

$$ g_{\mu\nu}=(\hat{e}_\mu\cdot\hat{e}_\nu) $$

Esto implica que siempre que definamos un sistema de ejes ortogonales la métrica será diagonal:

$$ g_{\mu\nu}:\mathrm{diag}(g_{00},g_{11},g_{22},g_{33}) $$

con inversa: $$ g^{\mu\nu}:\mathrm{diag}\left(\frac{1}{g_{00}},\frac{1}{g_{11}},\frac{1}{g_{22}},\frac{1}{g_{33}}\right) $$

Si este es el caso los símbolos de Christoffel se simplifican. En lugar de los 4 términos diferentes que describíamos antes cada símbolo realmente es el resultado del cálculo de un solo término:

$$ \begin{array}{rcl} \Gamma^\lambda_{\mu\nu} & = & \frac{1}{2}g^{\lambda\lambda}g_{\{\lambda\mu,\nu\}}\\ & = & \frac{1}{2}g^{\lambda\lambda}(g_{\lambda\mu,\nu}-g_{\mu\nu,\lambda}+g_{\nu\lambda,\mu}) \end{array} $$

Los dos hechos anteriores implican además una segunda propiedad muy interesante. Dado que solo los términos diagonales de la derivada son distintos de cero, entonces la última expresión tendrá potencialmente términos distintos de cero si y solo si al menos dos índices de entre $\lambda,\mu,\nu$ son repetidos. Esto implica que solo los coeficientes de la forma:

$$ \Gamma^{\lambda}_{\lambda\nu},\Gamma^{\lambda}_{\mu\mu} $$

serán distintos de cero e iguales a:

$$ \Gamma^{\lambda}_{\lambda\nu} = +\frac{1}{2} g^{\lambda\lambda} g_{\lambda\lambda,\nu} $$

con $\nu\neq\lambda$ que llamaremos los símbolos mixtos, y

$$ \Gamma^{\lambda}_{\mu\mu} = -\frac{1}{2} g^{\lambda\lambda} g_{\mu\mu,\lambda} $$

que llamaremos los símbolos diagonales.

En un espacio de 4 dimensiones por cada índice $\lambda$ hay 3 símbolos mixtos y 4 diagonales, es decir 7 en total. Esta simetría reduce el número posible de símbolos de Christoffel de 40 a $4\times 7=28$ componentes distintas de cero (ver Problemas al final del capítulo).

Una última propiedad interesante implica que si una de las variables $x^\lambda$ tiene coeficiente métrico $g_{\lambda\lambda}$ constante y ningún otro coeficiente métrico depende de $x^\lambda$, es decir $g_{\mu\mu,\lambda}=0$ entonces todos los símbolos de Christoffel que tengan $\lambda$ serán cero:

$$ \Gamma^{\lambda}_{\lambda\nu}=\Gamma^{\lambda}_{\mu\mu}=0 $$

Por cada componente con esta propiedad se reducen en 7 los símbolos de Christoffel diferentes de cero.

2.3.5.2. Símbolos de Christoffel del espacio-tiempo plano

Calculemos los símbolos de Christoffel para el espacio-tiempo plano. En principio podría pensarse que en esta situación los símbolos son todos cero (en tanto dependen de derivadas de la métrica y en el espacio-tiempo plano la métrica es constante). Pero no es así. Todo depende del sistema de coordenadas que estamos utilizando.

En coordenadas cartesianas el elemento de línea del espacio-tiempo es:

$$ \mathrm{d}s^2=\mathrm{d}t^2-\mathrm{d}x_L^2-\mathrm{d}y_L^2-\mathrm{d}z_L^2 $$

de donde la métrica es:

$$ g_{\mu\nu}:\mathrm{diag}(1,-1,-1,-1) $$

Y de aquí los símbolos de Christoffel resultantes serán:

$$ \Gamma^\alpha_{\mu\nu}=0 $$

Esto implica que en el espacio-tiempo de Minkowski y en coordenadas cartesianas la derivada ";" es igual a la derivada ",".

Si usamos sin embargo coordenadas cilíndricas, la métrica del mismo espacio-tiempo será:

$$ \mathrm{d}s^2=\mathrm{d}t^2-\mathrm{d}r_L^2-r^2\mathrm{d}\theta^2-\mathrm{d}z_L^2 $$

de donde la métrica es:

$$ g_{\mu\nu}:\mathrm{diag}(1,-1,-r^2,-1) $$

con inversa:

$$ g^{\mu\nu}:\mathrm{diag}(1,-1,-1/r^2,-1) $$

Ahora hay al menos una componente de la métrica $g_{22}(r)=g_{\theta\theta}(r)$ que depende de las coordenadas. Esto implica entonces que todos aquellos símbolos de Christoffel que incluyan las derivadas del tipo $g_{\theta\theta,r}$ serán distintos de cero.

Nota: Coordenadas en lugar de números. Es corriente que se use por simplicidad el nombre de las coordenadas en lugar de números para indicar la componentes de la métrica o de los símbolos de Christoffel. Es así como hemos reemplazado $g_{22}$ por $g_{\theta\theta}$ o $g_{\theta\theta,r}$ para denotar $g_{22,1}$. Así mismo nos referiremos por ejemplo a $\Gamma^t_{r\theta}$ para representar el símbolo $\Gamma^0_{12}$.

Recordando la definición:

$$ \Gamma^\lambda_{\mu\nu}=\frac{1}{2}g^{\lambda\rho}g_{\{\rho\mu,\nu\}} $$

Lo primero que tenemos que tener en cuenta es que dado que la matriz es diagonal los únicos símbolos de Christoffel que no serán cero son aquellos para los cuales $\lambda=\rho$:

$$ \Gamma^\rho_{\mu\nu}=\frac{1}{2}g^{\rho\rho}g_{\{\rho\mu,\nu\}} $$

Podemos de entrada descartar todos los casos en los que uno de los índices sea $0$ o $4$ ( $t$ o $z$ en nuestra notación) en tanto:

  1. $g_{tt}=1$ y $g_{zz}=1$, es decir son constantes y no tienen derivadas diferentes de 0.
  2. $g_{i t}=0$ y $g_{\mu z}=0$.
  3. Ninguna de las componentes de la métrica depende del tiempo o de $z$.

Esto nos permite descartar un número significativo de componentes (34 componentes nulas para ser exactos).

Para el caso en el que $\rho=r$ tendremos los símbolos potencialmente no nulos $\Gamma^r_{rr}$, $\Gamma^r_{r\theta}$, $\Gamma^r_{\theta\theta}$. Escribamos explícitamente:

$$ \begin{array}{rcl} 2\Gamma^r_{rr} & = & g^{rr}(g_{rr,r}-g_{rr,r}+g_{rr,r})= 0\\ 2\Gamma^r_{r\theta} & = & g^{rr}(g_{rr,\theta}-g_{r\theta,r}+g_{\theta r,r})= 0 \\ 2\Gamma^r_{\theta\theta} & = & g^{rr}(g_{r\theta,\theta}-g_{\theta\theta,r}+g_{\theta r,\theta})= -2r \\ \end{array} $$

Para el caso en el que $\rho=\theta$ tendremos los símbolos potencialmente no nulos $\Gamma^\theta_{rr}$, $\Gamma^\theta_{r\theta}$, $\Gamma^\theta_{\theta\theta}$. Escribamos explícitamente:

$$ \begin{array}{rcl} 2\Gamma^\theta_{rr} & = & g^{\theta\theta}(g_{\theta r,r}-g_{rr,\theta}+g_{r\theta,r})=0\\ 2\Gamma^\theta_{r\theta} & = & g^{\theta\theta}(g_{\theta r,\theta}-g_{r\theta,\theta}+g_{\theta \theta,r}) = 2r / r^2 \\ 2\Gamma^\theta_{\theta\theta} & = & g^{\theta\theta}(g_{\theta\theta,\theta}-g_{\theta\theta,\theta}+g_{\theta \theta,\theta})= 0 \\ \end{array} $$

Finalmente encontramos que las únicas componentes no nulas de los símbolos de Christoffel son:

$$ \begin{array}{rcl} \Gamma^r_{\theta\theta} & = & -r\\ \Gamma^\theta_{r\theta} & = & 1/r \end{array} $$

Pero ¿qué significa todo esto?. Por la definición de derivada covariante:

$$ {A^\mu}_{;\alpha} = {A^\mu}_{,\alpha} + \Gamma^\mu_{\gamma\alpha} A^\gamma $$

y por lo que hemos encontrado:

$$ \begin{array}{rcl} {A^t}_{;\alpha} & = & {A^t}_{,\alpha}\\ {A^z}_{;\alpha} & = & {A^z}_{,\alpha}\\ {A^\mu}_{;t} & = & {A^\mu}_{,t}\\ {A^\mu}_{;z} & = & {A^\mu}_{,z}\\ \end{array} $$

Es decir, en este espacio tiempo la derivada covariante y la derivada parcial convencional de las componentes temporal y $z$ serán exactamente las mismas. Además la derivada covariante respecto a estas componentes será igual a su derivada convencional.

Por otro lado las únicas derivadas covariantes que no serán triviales son:

$$ \begin{array}{rcl} {A^r}_{;\theta} & = & {A^r}_{,\theta}+\Gamma^r_{\theta\theta} A^\theta = {A^r}_{,\theta}-r A^\theta\\ {A^\theta}_{;r} & = & {A^\theta}_{,r}+\Gamma^\theta_{r\theta} A^\theta = {A^\theta}_{,r}+A^\theta/r\\ {A^\theta}_{;\theta} & = & {A^\theta}_{,\theta}+\Gamma^\theta_{\theta r} A^r = {A^\theta}_{,\theta}+A^r/r\\ \end{array} $$

Si volvemos a la definición original de transporte paralelo los símbolos de Christoffel también sirven para encontrar las componentes de un vector transportado de forma paralela entre dos puntos usando:

$$ A^\mu_\parallel(\tilde x+\mathrm{d}\tilde x) = A^\mu(\tilde x+\mathrm{d}\tilde x) + \Gamma^\mu_{\gamma\delta} A^\gamma(\tilde x+\mathrm{d}\tilde x) \mathrm{d}x^\delta $$

Si invierto la dirección del desplazamiento puedo escribir:

$$ A^\mu_\parallel(\tilde x) = A^\mu(\tilde x) - \Gamma^\mu_{\gamma\delta} A^\gamma(\tilde x) \mathrm{d}x^\delta $$

o simplemente

$$ A^\mu_\parallel= A^\mu - \Gamma^\mu_{\gamma\delta} A^\gamma \mathrm{d}x^\delta $$

Como las únicas componentes de $\Gamma$ no nulas son aquellas que corresponde a $\mu=r,\theta$ solo esas componentes sufriran modificación obedeciendo la prescripción:

$$ \begin{array}{rcl} A^r_\parallel & = & A^r - \Gamma^r_{\theta\theta} A^\theta \mathrm{d}x^\theta\\ A^\theta_\parallel & = & A^\theta - \Gamma^\theta_{r\theta} A^r \mathrm{d}x^\theta - \Gamma^\theta_{\theta r} A^\theta \mathrm{d}x^r \end{array} $$

Reemplazando tenemos:

$$ \begin{array}{rcl} A^r_\parallel & = & A^r + r A^\theta \mathrm{d}x^\theta\\ A^\theta_\parallel & = & A^\theta - (A^r \mathrm{d}x^\theta + A^\theta \mathrm{d}x^r)/r \end{array} $$

Verifiquemos esto numéricamente. Supongamos que tenemos un vector con componentes $A^r(\tilde x+\mathrm{d}\tilde x)=0,A^\theta(\tilde x+\mathrm{d}\tilde x)=1$ sobre el eje $x$ en la posición $r=1$ y $\theta=0$. Ahora imaginemos un desplazamiento infinitesimal tal que $\mathrm{d} x^r=0, \mathrm{d} x^\theta=-\mathrm{d}\theta$ (recordemos que el vector es la posición final del desplazamiento). Las componentes serán:

$$ \begin{array}{rcl} A^r_\parallel & = & r \mathrm{d}\theta\\ A^\theta_\parallel & = & 1 \end{array} $$

¿Por qué sucede esto? En la figura abajo podemos entender la razón. Debemos reordar que estamos trabajando en la base métrica. En esta base la magnitud del $\tilde e_r$ es $\sqrt{-g_{\theta\theta}}=r$, de modo que con las componentes dadas la longitud del vector inicial es en realidad $|\tilde A|=r$. Al movernos al nuevo punto, la rotación de las direcciones de los vectores unitarios introduce una pequeña componente en dirección radial que es justamente igual a $r\mathrm{d}\theta$ (ver figura), mientras que la componente tangencial apenas si se ve modificada.

Ejemplo de transporte paralelo

Figura 2.33. Ejemplo de transporte paralelo

2.3.5.3. Símbolos de Christoffel de una superficie esférica

En el caso de una superficie de dos dimensiones embebida en un espacio de tres dimensiones la métrica es:

$$ \mathrm{d}l^2=R^2\mathrm{d}\theta^2+R^2\sin^2\theta\;\mathrm{d}\phi^2 $$

donde $\theta$ es el ángulo polar (medido respecto al polo de la esfera) y $\phi$ es el ángulo acimutal. La métrica será en este caso simplemente:

$$ g_{ij}:\mathrm{diag}(R^2,R^2\sin^2\theta) $$

con inversa:

$$ g^{ij}:\mathrm{diag}\left(\frac{1}{R^2},\frac{1}{R^2\sin^2\theta}\right) $$

En este caso (dos dimensiones), el número de símbolos de Christoffel serán $n^2(n+1)/2=2^2 3/2=6$ y de nuevo por ser la métrica diagonal:

$$ \Gamma^i_{jk}=\frac{1}{2}g^{ii}g_{\{ij,k\}} $$

Los símbolos de Christoffel correspondientes a la variable $\theta$ serán:

$$ \begin{array}{rcl} 2\Gamma^\theta_{\theta\theta} & = & g^{\theta\theta}(g_{\theta\theta,\theta}-g_{\theta\theta,\theta}+g_{\theta\theta,\theta})= 0\\ 2\Gamma^\theta_{\phi\theta} & = & g^{\theta\theta}(g_{\theta\phi,\theta}-g_{\phi\theta,\theta}+g_{\theta\theta,\phi})= 0 \\ 2\Gamma^\theta_{\phi\phi} & = & g^{\theta\theta}(g_{\theta\phi,\phi}-g_{\phi\phi,\theta}+g_{\phi\theta,\phi})= 2 \sin\theta \cos\theta\\ \end{array} $$

Por otro lado, los correspondientes a la variable $\phi$ serán:

$$ \begin{array}{rcl} 2\Gamma^\phi_{\phi\phi} & = & g^{\phi\phi}(g_{\phi\phi,\phi}-g_{\phi\phi,\phi}+g_{\phi\phi,\phi})= 0\\ 2\Gamma^\phi_{\phi\theta} & = & g^{\phi\phi}(g_{\phi\phi,\theta}-g_{\phi\theta,\phi}+g_{\theta\phi,\phi}) = 2 \cos\theta / \sin\theta \\ 2\Gamma^\phi_{\theta\theta} & = & g^{\phi\phi}(g_{\phi\theta,\theta}-g_{\theta\theta,\phi}+g_{\theta\phi,\theta}) = 0 \\ \end{array} $$

Es decir solo dos de los 6 símbolos de Christoffel son diferentes de cero:

$$ \begin{array}{rcl} \Gamma^\theta_{\phi\phi} & = & \frac{1}{2}\sin 2\theta\\ \Gamma^\phi_{\phi\theta} & = & \cot \theta \end{array} $$

2.3.5.4. Símbolos de Christoffel de una métrica general

Supongamos una métrica general de la forma:

$$ \mathrm{d}s^2=\exp(2A)\;\mathrm{d}t_L^2-\exp(2B)\;\mathrm{d}r^2-r^2\mathrm{d}\theta^2-r^2\sin^2\theta\mathrm{d}\phi^2 $$

donde $A=A(r)$ y $B=B(r)$ son funciones solamente de la variable radial. La métrica tiene la forma:

$$ g_{\mu\nu}:\mathrm{diag}(\exp(2A),-\exp(2B),-r^2,-r^2\sin^2\theta) $$

con inversa:

$$ g^{\mu\nu}:\mathrm{diag}\left(\exp(-2A),-\exp(-2B),-\frac{1}{r^2},-\frac{1}{r^2\sin^2\theta}\right) $$

¿Cuáles son los símbolos de Christoffel en este caso? De nuevo por tratarse de una métrica diagonal todos los símbolos de Christoffel tienen la forma:

$$ \Gamma^\rho_{\mu\nu}=\frac{1}{2}g^{\rho\rho}g_{\{\rho\mu,\nu\}} $$

En esta situación tenemos que las componentes de la métrica dependen de forma complicada de las coordenadas con la excepción del tiempo. Esto implica que en general todos los símbolos de Christoffel potencialmente pueden ser distintos de cero y debemos analizarlos uno a uno:

  • Componentes $t$, $\Gamma^t_{\mu\nu}$. Como sabemos que solo las derivadas $g_{tt,r}$ son distintas de cero, los únicos símbolos distintos de cero serán aquellos para los que $\mu=0$ y $\nu=r$:

    $$2\Gamma^{t}_{tr}=g^{tt} g_{tt,r}=2\exp(-2A)\exp(2A)A'=A'$$ donde $A'=\mathrm{d}A/\mathrm{d}r$.

  • Componentes $r$, $\Gamma^r_{\mu\nu}$. En este caso de nuevo sabemos que solo las derivadas $g_{tt,r}$, $g_{ii,r}$ son distintas de cero, de modo que los símbolos de Christoffel que pueden ser distintos de cero serán aquellos en los que aparece repetidos los índices correspondientes, es decir: $\Gamma^{r}_{tt}$, $\Gamma^{r}_{rr}$, $\Gamma^{r}_{\theta\theta}$, $\Gamma^{r}_{\phi\phi}$. El valor de estos símbolos será:

    $$ \begin{array}{rcl} 2\Gamma^r_{00} & = & -g^{rr}g_{00,r} = 2 A'\exp[2(A-B)]\\ 2\Gamma^r_{rr} & = & -g^{rr}g_{rr,r} = 2B'\\ 2\Gamma^r_{\theta\theta} & = & -g^{rr}g_{\theta\theta,r} = -r\exp(-2B)\\ 2\Gamma^r_{\phi\phi} & = & -g^{rr}g_{\phi\phi,r} = -r\sin^2\theta\exp(-2B)\\ \end{array} $$

  • Componentes $\theta$, $\Gamma^\theta_{\mu\nu}$. En este caso sabemos que solo las derivada $g_{\theta\theta,r}$ y $g_{\phi\phi,\theta}$ serán distinta de cero. De modo que solo aquellos símbolos en los que se repita $\theta$ y $\phi$ lo serán también:

    $$ \begin{array}{rcl} 2\Gamma^\theta_{r\theta} & = & g^{\theta\theta}g_{\theta\theta,r} = 2/r \\ 2\Gamma^\theta_{\phi\phi} & = & -g^{\theta\theta}g_{\phi\phi,r} = -2\sin\theta\cos\theta\\ \end{array} $$

  • Componentes $\phi$, $\Gamma^\phi_{\mu\nu}$. El caso es análogo a la componente anterior y los únicos coeficientes distintos de cero serán:

    $$ \begin{array}{rcl} 2\Gamma^\phi_{r\phi} & = & g^{\phi\phi}g_{\phi\phi,r} = 2/r \\ 2\Gamma^\phi_{\theta\phi} & = & g^{\phi\phi}g_{\phi\phi,\theta} = 2\cot\theta\\ \end{array} $$

En total entonces, de las 40 componentes solo 9 de ellas son distintas de cero.

2.3.6. Cálculo computacional de los símbolos de Christoffel

El cálculo de los símbolos e Christoffel puede llegar a ser muy laborioso dependiendo de la métrica. Aofrtunadamente las herramientas computacionales para realizar el cálculo usando lenguajes de programación como Python han evolucionado lo suficiente para que el cálculo de estas cantidades sea hoy mucho más sencillo.

Lo primero que hay que hacer es instalar el paquete EinsteinPy:

!!python -m pip install einsteinpy --ignore-installed

Insertamos las bibliotecas:

In [1]:
import sympy as sp
from einsteinpy.symbolic import *

Definimos los símbolos

In [2]:
#Símboos usados
s=sp.symbols('t,r,theta,phi')
#Letras con las que se abreviaran los símbolos
t,r,q,f=s
#Índices de los símbolos
t_,r_,q_,f_=0,1,2,3

Definimos la representación matricial de la métrica:

In [3]:
#La matriz debe definirse como una lista
gcomp=sp.diag(1,-1,-r**2,-r**2*sp.sin(q)**2).tolist()

#Este comando crea el objeto tensorial
g=MetricTensor(gcomp,s)

#Esta es la representación matricial del tensor
gij=g.tensor()
gij
Out[3]:
$\displaystyle \left[\begin{matrix}1 & 0 & 0 & 0\\0 & -1 & 0 & 0\\0 & 0 & - r^{2} & 0\\0 & 0 & 0 & - r^{2} \sin^{2}{\left(\theta \right)}\end{matrix}\right]$

Calculamos los símbolos e Christoffel:

In [4]:
G=ChristoffelSymbols.from_metric(g)
Gijk=G.tensor()
Gijk
Out[4]:
$\displaystyle \left[\begin{matrix}\left[\begin{matrix}0 & 0 & 0 & 0\\0 & 0 & 0 & 0\\0 & 0 & 0 & 0\\0 & 0 & 0 & 0\end{matrix}\right] & \left[\begin{matrix}0 & 0 & 0 & 0\\0 & 0 & 0 & 0\\0 & 0 & - r & 0\\0 & 0 & 0 & - r \sin^{2}{\left(\theta \right)}\end{matrix}\right] & \left[\begin{matrix}0 & 0 & 0 & 0\\0 & 0 & \frac{1}{r} & 0\\0 & \frac{1}{r} & 0 & 0\\0 & 0 & 0 & - \sin{\left(\theta \right)} \cos{\left(\theta \right)}\end{matrix}\right] & \left[\begin{matrix}0 & 0 & 0 & 0\\0 & 0 & 0 & \frac{1}{r}\\0 & 0 & 0 & \frac{\cos{\left(\theta \right)}}{\sin{\left(\theta \right)}}\\0 & \frac{1}{r} & \frac{\cos{\left(\theta \right)}}{\sin{\left(\theta \right)}} & 0\end{matrix}\right]\end{matrix}\right]$

Para extraer una componente usamos, por ejemplo $\Gamma^{r}_{\theta\theta}$:

In [5]:
Gijk[1,2,2]
Out[5]:
$\displaystyle - r$

O bien usando el diccionario de símbolos:

In [6]:
Gijk[r_,q_,q_]
Out[6]:
$\displaystyle - r$

Si se necesita el valor numérico de los símbolos:

In [7]:
var,Gnum=G.tensor_lambdify()

Por ejemplo los símbolos evaluados en $(t,r,\theta,\phi)=(0,1,\pi/3,0)$ es:

In [8]:
import numpy as np
Gnum(0,1,np.pi/3,0)
Out[8]:
[[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
 [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, -1, 0], [0, 0, 0, -0.7499999999999999]],
 [[0, 0, 0, 0],
  [0, 0, 1.0, 0],
  [0, 1.0, 0, 0],
  [0, 0, 0, -0.4330127018922194]],
 [[0, 0, 0, 0],
  [0, 0, 0, 1.0],
  [0, 0, 0, 0.577350269189626],
  [0, 1.0, 0.577350269189626, 0]]]

Es posible subir y bajar indices de los tensores usando la configuración:

In [9]:
g.config
Out[9]:
'll'

Esto significa que la métrica tiene índices doblemente covariante (l significa lower). Para obtener la métrica doblemente contravariante (inversa) se usa:

In [10]:
g.change_config("uu").tensor()
Out[10]:
$\displaystyle \left[\begin{matrix}1 & 0 & 0 & 0\\0 & -1 & 0 & 0\\0 & 0 & - \frac{1}{r^{2}} & 0\\0 & 0 & 0 & - \frac{1}{r^{2} \sin^{2}{\left(\theta \right)}}\end{matrix}\right]$

Lo mismo puede hacerse con los símbolos de Christoffel:

In [11]:
G.change_config("lll").tensor()
Out[11]:
$\displaystyle \left[\begin{matrix}\left[\begin{matrix}0 & 0 & 0 & 0\\0 & 0 & 0 & 0\\0 & 0 & 0 & 0\\0 & 0 & 0 & 0\end{matrix}\right] & \left[\begin{matrix}0 & 0 & 0 & 0\\0 & 0 & 0 & 0\\0 & 0 & r & 0\\0 & 0 & 0 & r \sin^{2}{\left(\theta \right)}\end{matrix}\right] & \left[\begin{matrix}0 & 0 & 0 & 0\\0 & 0 & - r & 0\\0 & - r & 0 & 0\\0 & 0 & 0 & \frac{r^{2} \sin{\left(2 \theta \right)}}{2}\end{matrix}\right] & \left[\begin{matrix}0 & 0 & 0 & 0\\0 & 0 & 0 & - r \sin^{2}{\left(\theta \right)}\\0 & 0 & 0 & - \frac{r^{2} \sin{\left(2 \theta \right)}}{2}\\0 & - r \sin^{2}{\left(\theta \right)} & - \frac{r^{2} \sin{\left(2 \theta \right)}}{2} & 0\end{matrix}\right]\end{matrix}\right]$

Podemos crear una rutina que nos permita calcular los símbolos de Christoffel dada una métrica:

In [12]:
def Gamma_sym(gcomp,symbols):
    from einsteinpy.symbolic import MetricTensor,ChristoffelSymbols
    g=MetricTensor(gcomp.tolist(),symbols)
    G=ChristoffelSymbols.from_metric(g)
    var,Gfun=G.tensor_lambdify()
    return Gfun

Un ejemplo es:

In [13]:
from sympy import symbols,diag
s=symbols('t,r,theta,phi')
t,r,q,f=s
gcomp=diag(1,-1,-r**2,-r**2*sp.sin(q)**2)
Gfun=Gamma_sym(gcomp,s)

O en coordenadas cilíndricas:

In [14]:
xmu=[0,1,np.pi/3,0]
Gfun(*xmu)
Out[14]:
[[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
 [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, -1, 0], [0, 0, 0, -0.7499999999999999]],
 [[0, 0, 0, 0],
  [0, 0, 1.0, 0],
  [0, 1.0, 0, 0],
  [0, 0, 0, -0.4330127018922194]],
 [[0, 0, 0, 0],
  [0, 0, 0, 1.0],
  [0, 0, 0, 0.577350269189626],
  [0, 1.0, 0.577350269189626, 0]]]

Un ejemplo es:

In [15]:
from sympy import symbols,diag
s=symbols('t,r,theta,z')
t,r,q,z=s
gcomp=diag(1,-1,-r**2,-1)
Gfun=Gamma_sym(gcomp,s)

Y lo podemos probar:

In [16]:
xmu=[0,2,0,1]
Gfun(*xmu)
Out[16]:
[[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
 [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, -2, 0], [0, 0, 0, 0]],
 [[0, 0, 0, 0], [0, 0, 0.5, 0], [0, 0.5, 0, 0], [0, 0, 0, 0]],
 [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]]

2.3.7. Relatividad numérica

El paquete permite hacer cálculos básicos de relatividad numérica.

In [17]:
%matplotlib inline
In /Users/jzuluaga/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: 
The text.latex.preview rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.
In /Users/jzuluaga/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: 
The mathtext.fallback_to_cm rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.
In /Users/jzuluaga/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: Support for setting the 'mathtext.fallback_to_cm' rcParam is deprecated since 3.3 and will be removed two minor releases later; use 'mathtext.fallback : 'cm' instead.
In /Users/jzuluaga/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: 
The validate_bool_maybe_none function was deprecated in Matplotlib 3.3 and will be removed two minor releases later.
In /Users/jzuluaga/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: 
The savefig.jpeg_quality rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.
In /Users/jzuluaga/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: 
The keymap.all_axes rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.
In /Users/jzuluaga/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: 
The animation.avconv_path rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.
In /Users/jzuluaga/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: 
The animation.avconv_args rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.
In [18]:
import astropy.units as u

from einsteinpy.rays import Shadow
from einsteinpy.plotting import ShadowPlotter

mass = 1 * u.kg #Solar masses
fov = 30 * u.km

shadow = Shadow(mass=mass, fov=fov, n_rays=2000)

obj = ShadowPlotter(shadow=shadow, is_line_plot=False)
obj.plot()
obj.show()
/Users/jzuluaga/anaconda/lib/python3.6/site-packages/numba/core/errors.py:149: UserWarning:

Insufficiently recent colorama version found. Numba requires colorama >= 0.3.9

Figura 2.34.