Corchete de Lie de los elementos de una base no holonómica

Ya comentamos aquí la diferencia entre una base coordenada, por ejemplo $latex {partial_r, partial_theta, partial_varphi }$, y una no coordenada, por ejemplo $latex { partial_r, frac{1}{r} partial_theta, frac{1}{r sin theta} partial_varphi }$, respecto del cálculo de los símbolos de su conexión de Levi-Civita (la derivación covariante libre de torsión derivada de su métrica 🙂 ).

También aquí calculé el corchete de Lie en algunos casos concretos. Recordar de éste dos cuestiones importantes:

  1. el corchete de Lie de campos coordenados es nulo,
  2. se puede demostrar que si $latex g,h in C^infty(M)$ y $latex X,Y in mathfrak{X}(M)$ entonces:

$latex [gX,hY] = gX(h)Y – hY(g)X + gh[X,Y]$.

Vamos a calcularlo ahora para los elementos de la base ortonormal en esféricas, que ya hemos dicho que no es holonómica:

$latex [partial_r, frac{1}{r} partial_theta] = 1 partial_r(frac{1}{r}) partial_theta – frac{1}{r} partial_theta(1) partial_r + 1frac{1}{r sin theta} [partial_r, partial_varphi] = -frac{csc theta}{r^2}$

$latex = -frac{1}{r^2} partial_theta – frac{1}{r} 0 partial_r + frac{1}{r} 0 = -frac{1}{r^2} partial_theta = -[frac{1}{r} partial_theta, partial_r]$,

$latex [partial_r, frac{1}{r sin theta} partial_varphi] = 1 partial_r(frac{1}{r sin theta}) partial_varphi – frac{1}{r sin theta} partial_varphi(1) partial_r + 1frac{1}{r sin theta} [partial_r, partial_varphi] = -frac{csc theta}{r^2} partial_varphi$,

$latex [frac{1}{r} partial_theta, frac{1}{r sin theta} partial_varphi] = frac{1}{r} partial_theta (frac{1}{r sin theta}) partial_varphi – frac{1}{r sin theta} partial_varphi (frac{1}{r}) partial_theta + frac{1}{r}frac{1}{r sin theta} [partial_theta, partial_varphi] = $

$latex = frac{1}{r} frac{-csc theta cot theta}{r} partial_varphi – frac{1}{r sin theta} 0 partial_theta + frac{1}{r}frac{1}{r sin theta} 0 = -frac{csc theta cot theta}{r^2} partial_varphi$.

Variedades complejas y casi complejas, métricas Hermíticas y métricas Kählerianas.

Muchos de los aspectos de las variedades reales son traducibles a variedades complejas cambiando el concepto de diferenciabilidad por el de holomorfía: atlas con aplicaciones de transición holomorfas, aplicación holomorfa entre variedades complejas, subvariedad compleja de una variedad compleja, etc.

Sin embargo, muchas de las propiedades de la variedad compleja dependen unicamente de la existencia de una casi estructura compleja local $latex J_p$ que nos permita complexificar el plano tangente:

$latex J_p: T_p M longrightarrow T_p M$.

Para este fin, es suficiente, dado un espacio vectorial $latex V$, definir una estructura compleja mediante el endomorfismo $latex J$ en $latex V$ tal que $latex J^2 = -1$, de manera que, la multiplicación escalar por un número complejo queda:

$latex (a+bi) X = aX + bJX$ para $latex X in V$ y $latex a,b in mathbb{R}$.

Una variedad casi compleja no es mas que una variedad real de dimensión par donde tenemos definido un tensor $latex J$ de tipo $latex (1,1)$ (recordar que $latex f: V longrightarrow V$ puede reescribirse como un tensor $latex J:V^* times V longrightarrow mathbb{K}$).

Reciprocamente, dado un espacio vectorial complejo $latex V$ de dimensión compleja $latex n$, si consideramos el endomorfismo lineal:

$latex JX = iX$ para $latex X in V$,

entonces este es una estructura compleja si consideramos $latex V$ como un espacio real $latex 2n$ dimensional.

Identificaremos las tuplas $latex (z^1, ldots, z^n)$ de $latex mathbb{C}^n$ con las $latex 2n$-tuplas $latex (x^1, ldots, x^n, y^1, ldots, y^n)$ de $latex mathbb{R}^{2n}$, donde la estructura compleja de éste último inducida por el primero será la estructura compleja canónica que mapea $latex (x^1, ldots, x^n, y^1, ldots, y^n)$ en $latex (y^1, ldots, y^n, -x^1, ldots, -x^n)$.

Para que una variedad casi compleja sea una variedad compleja necesitamos una condición adicional: que la casi estructura diferenciable sea integrable, es decir, que tenga torsión nula.

Podemos definir una métrica $latex h$ sobre una variedad casi compleja que se llamará métrica Hermítica si es compatible con la  estructura casi compleja:

$latex h(JX,JY) = h(X,Y)$ para cualesquiera $latex X,Y$.

Las métricas Hermíticas sobre variedades complejas (con atlas sobre $latex mathbb{C}^n$) dan lugar a métricas de Riemann sobre la variedad real subyacente (con atlas sobre $latex mathbb{R}^{2n}$). Para que la conexión inducida por esta métrica también sea compatible con la estructura casi compleja, necesitamos que la métrica sea una métrica Kähleriana, es decir, que la $latex 2$-forma fundamental $latex Phi$ asociada a la métrica Hermítica:

$latex Phi(X,Y) = h(X,JY)$ para todos los campos vectoriales $latex X$ e $latex Y$,

sea cerrada ($latex dPhi = 0$).

Bases coordenadas u holonómicas y coeficientes de la conexión

Los resultados presentados en este post son incorrectos 🙁 .

El motivo es que, para la definición de los símbolos de Christoffel, estamos asumiendo, de manera implícita, que trabajamos en una base coordenada o base holonómica, que son bases donde el corchete de Lie de cualquier par distinto es cero:

$latex [e_i,e_j] = 0$ si $latex i neq j$.

Pero si la base no es holonómica, entonces la definición incorpora tres términos más, los coeficientes de conmutación de la base, y llamamos a los símbolos coeficientes de la conexión. Si la base es ortonormal, estos reciben el nombre de coeficientes de rotación de Ricci.

Derivada covariante en esféricas normalizadas de un vector

En el siguiente vector, calculado mediante una función escrita en Mathematica, tenemos:

$latex (mathcal{D}_r T^r, mathcal{D}_r T^theta, mathcal{D}_r T^varphi, mathcal{D}_theta T^r, mathcal{D}_theta T^theta, mathcal{D}_theta T^varphi, mathcal{D}_varphi T^r, mathcal{D}_varphi T^theta, mathcal{D}_varphi T^varphi)^T=$

derCovEsf

Lógica modal, teorema de Löb i teorema de incompletitud de Gödel

A partir de una interesante conversación en el trabajo con el Dr. Petar Mimica, me he visto en la necesidad de repasar algunos conceptos interesantes de las asignaturas que cursé en el área de informática teórica.

El primero de ellos és el de la lógica modal. Las lógicas tradicionales son la proposicional, o de orden cero ($latex CP0$), y la lógica de predicados, o de primer orden ($latex CP1$). En toda lógica, como en todo lenguaje formal, distinguimos tres aspectos básicos: su léxico, es decir, que «palabras» podemos utilizar en el lenguaje, su sintaxis, es decir, cuales son las reglas para construir «oraciones» con nuestro léxico, y finalmente su semántica, o sea, el significado del que dotamos a estas palabras y oraciones. La lógica proposicional tiene menos poder expresivo que la lógica preposicional pero, en contraposición, es completa.

En la lógica modal, lo que pretendemos es ampliar la capacidad expresiva del $latex CP0$ introduciedo dos nuevos símbolos que nos permitiran expresar de que modo se verificaran las fórmulas de esta lógica: necesariamente ($latex square$) o posiblemente ($latex lozenge$), uno primitivo y otro definible a partir de éste, junto con el conjunto de reglas que nos permite operar con ellos.

En esta lógica, el teorema de Löb se escribe, sencillamente:

$latex square (square P rightarrow P) rightarrow square P$,

y da lugar a paradojas, pues es un enunciado que, a partir de un lenguaje (lo suficientemente expresivo) intenta demostrar cuestiones sobre el propio lenguaje.

La idea es la misma, en otro nivel, a la del teorema de incompletitud de Gödel: para hacer afirmaciones sobre las propiedades de un lenguaje (en términos de consistencia, completitud, etc.) no es suficiente con el propio lenguaje: necesitamos un metalenguaje. Se ha hablar mucho al respecto, pero desde mi humilde punto de vista, lo único que nos está diciendo es que, si nos imaginamos en algún lugar toda la matemática (el Libro al que hacia referencia Erdös :-), nunca podremos tener un sistema de axiomas y reglas que nos permite generarlo de manera completa, pero si parcial. Además, cambiando este sistema, posiblemente podamos generar nuevas demostraciones  imposibles en el anterior (a cambio de perder otras si generables en el primero) y sin inconsistencias entre las generables en ambos.

Haciendo un simil con las variedades diferenciables (y salvando la enorme cantidad de defectos obvios que tiene esta comparación), nunca tendremos una carta para cubrir toda la variedad, necesitaremos varias, pero serán compatibles entre ellas en los solapes.

Derivada covariante y conexiones (afines)

Una conexión afín (o derivación covariante) permite

La derivada covariante del campo vectorial queda:

donde el primer sumando corresponde a la derivada parcial del campo respecto de la base y la segunda a la variación de la propia base curvilínea respecto de las lineas coordenadas.

Aunque la formula anterior corresponde a la derivada covariante de un campo vectorial contravariante, es fácilmente extensible a cualquier tensor $latex (p,q)$. La derivada covariante de un tensor de este tipo queda:

$latex mathcal{D}_{hat{k}} T^{hat{i}_1 cdots hat{i}_p}_{hat{j}_1 cdots hat{j}_q} = e_{hat{k}}^l partial_{hat{k}} T^{hat{i}_1 cdots hat{i}_p}_{hat{j}_1 cdots hat{j}_q} + Sigma_{i=1}^p Gamma_{}^{} T_{}^{hat{j}_1 cdots hat{j}_q} – Sigma_{i=1}^q Gamma_{}^{} T_{hat{i}_1 cdots hat{i}_p}^{}$

donde:

$latex Gamma^{alpha}_{beta gamma} = $

Correcciones en las últimas entradas: cambios de coordenadas como cartas.

Repasando las ultimas entradas en las que realizaba cambios de variables, me he dado cuenta que, en algunos casos, aunque desde el punto de vista de los cambios de coordenadas dados, los Laplacianos son correctos, en realidad los referentes a compactificaciones no corresponden a éstas sino a sus inversas… 🙁

A ver si me explico. Desde el punto de vista de las variedades, podemos pensar un cambio de variable como una carta. Por ejemplo, si queremos trabajar en esféricas, pensamos que la variedad es $latex mathbb{R}^n$ en coordenadas esféricas y necesitamos una carta que nos la lleve a $latex mathbb{R}^n$ en cartesianas. Y aquí esta el asunto, que necesito cartas y no parametrizaciones. En superficies se suele trabajar con parametrizaciones, pero en variedades es mas fácil trabajar con sus inversas: las cartas.

Cuando pensamos en el cambio a esféricas, por ejemplo, necesitamos una carta, es decir, una función $latex phi(r,theta,varphi)$ que nos devuelva las correspondientes coordenadas cartesianas:

$latex (r,theta,varphi) longrightarrow (x,y,z)$

$latex x = r sin theta cos varphi$

$latex y = r sin theta sin varphi$

$latex z = r cos theta$.

¿Qué pasa cuando queremos compactificar $latex r$? Necesitamos una función que, a partir de los valores de $latex r in mathbb{R}^+$ nos devuelva valores en $latex [0,1]$. Como ya escribimos, una posible función es:

$latex bar{r} = frac{r}{r+a}$

pero, volviendo a las cartas y a las parametrizaciones, lo que necesitamos, en realidad, es expresar $latex r$ en función de $latex bar{r}$ y no lo contrario, como tenemos ahora, de manera que necesitamos calcular su inversa:

$latex r = -frac{bar{r}a}{bar{r}-1}$

cartaR

de igual forma, para las demás compactificaciones tenemos:

$latex bar{x} = tanh frac{x}{a}$,

$latex bar{x} = frac{2}{pi} arctan frac{x}{a}$,

pero, al igual que antes, lo que nos interesan son sus inversas:

$latex x = a arctan h bar{x}$,

$latex x = tan frac{pi bar{x}}{2}$:

invCom

 Utilizando las funciones que tenemos escritas en Mathematica, obtenemos para esféricas los siguientes Laplacianos con sus discretizaciones:

sphCom

y, para cartesianas:

carCom

Diferencias finitas de Laplacianos en coordenadas curvilineas ortogonales

Supongamos que tenemos el Laplaciano expresado en un sistema de coordenadas curvilineas cualesquiera:

$latex bigg [ c_1 frac{partial^2}{partial x_1^2} + c_2 frac{partial}{partial x_1} +c_3 frac{partial^2}{partial x_2^2} + c_4 frac{partial}{partial x_2} + c_5 frac{partial^2}{partial x_3^2} + c_6 frac{partial}{partial x_3} bigg ] u(x_1,x_2,x_3)$.

La expresión correspondiente en diferencias finitas, utilizando las aproximaciones para las primeras y segundas derivadas de este post, nos queda:

$latex c_{1_{i,j,k}}frac{1}{h_{x_1}^2} (u_{i-1,j,k} – 2 u_{i,j,k} + u_{i+1,j,k}) + c_{2_{i,j,k}} frac{1}{2h_{x_1}}(u_{i+1,j,k}-u_{i-1,j,k}) +$

$latex + c_{3_{i,j,k}}frac{1}{h_{x_2}^2} (u_{i,j-1,k} – 2 u_{i,j,k} + u_{i,j+1,k}) + c_{4_{i,j,k}} frac{1}{2h_{x_2}}(u_{i,j+1,k}-u_{i,j-1,k}) +$

$latex + c_{5_{i,j,k}}frac{1}{h_{x_3}^2} (u_{i,j,k-1} – 2 u_{i,j,k} + u_{i,j,k+1}) + c_{6_{i,j,k}} frac{1}{2h_{x_3}}(u_{i,j,k+1}-u_{i,j,k-1})$,

que, agrupando por términos, podemos reescribir como:

$latex (c_{1_{i,j,k}} frac{1}{h_{x_{1}}^2} – c_{2_{i,j,k}} frac{1}{2h_{x_{1}}}) u_{i-1,j,k} + (c_{1_{i,j,k}} frac{1}{h_{x_{1}}^2} + c_{2_{i,j,k}} frac{1}{2h_{x_{1}}}) u_{i+1,j,k} +$

$latex + (c_{3_{i,j,k}} frac{1}{h_{x_{2}}^2} – c_{4_{i,j,k}} frac{1}{2h_{x_{2}}}) u_{i,j-1,k} + (c_{3_{i,j,k}} frac{1}{h_{x_{2}}^2} + c_{4_{i,j,k}} frac{1}{2h_{x_{2}}}) u_{i,j+1,k} +$

$latex + (c_{5_{i,j,k}} frac{1}{h_{x_{3}}^2} – c_{6_{i,j,k}} frac{1}{2h_{x_{3}}}) u_{i,j,k-1} + (c_{5_{i,j,k}} frac{1}{h_{x_{3}}^2} + c_{6_{i,j,k}} frac{1}{2h_{x_{3}}}) u_{i,j,k+1} -$

$latex -2 (c_{1_{i,j,k}} frac{1}{h_{x_{1}}^2} + c_{3_{i,j,k}} frac{1}{h_{x_{2}}^2} + c_{5_{i,j,k}} frac{1}{h_{x_{3}}^2}) u_{i,j,k}$.

He escrito un modulo en Mathematica que, a partir de los coeficientes del Laplaciano y de las distancias para la discretización nos generan automáticamente estos coeficientes:

finDif

Los anteriores ejemplos corresponden al caso de cilíndricas, esféricas y esféricas compactificadas.

Cálculo automático del Laplaciano para posibles compactificaciones en esféricas

He escrito una función en Mathematica a la que le pasamos el cambio de coordenadas que queremos hacer, junto con el nombre de las variables, y nos devuelve una lista de los coeficientes que acompañan a cada una de las derivadas del Laplaciano, es decir, los seis elementos de la lista

$latex { c_1, c_2, c_3, c_4, c_5, c_6 }$,

que nos permiten escribir el correspondiente Laplaciano:

$latex c_1 frac{partial^2}{partial x_1^2} + c_2 frac{partial}{partial x_1} + c_3 frac{partial^2}{partial x_2^2} + c_4 frac{partial}{partial x_2} + c_5 frac{partial^2}{partial x_3^2} + c_6 frac{partial}{partial x_3}$.

Por ejemplo, para los cambios a cilíndricas y esféricas ya realizados en este post, nos queda:

CylShpLap

A continuación la he llamado con tres cambio diferentes, todos compactificando la $latex r$ de las coordenadas esféricas, y los coeficientes obtenidos son:

compac_a1

Para el caso concreto de $latex a=1$, las gráficas de los cambios son:

compac_b

y las expresiones:

 compac_a2

Operador Laplaciano en coordenadas ortogonales compactificadas

Vamos a compactificar el operador Laplaciano en coordenadas esféricas y en coordenadas cartesianas:

$latex (bar{r}, theta, varphi) longrightarrow (r,theta,varphi) longrightarrow (x,y,z)$

$latex phi(bar{r},theta,varphi) = (frac{bar{r}}{bar{r}+a} sin theta cos varphi, frac{bar{r}}{bar{r}+a} sin theta sin varphi, frac{bar{r}}{bar{r}+a} cos theta)$

de manera que, con la formula ya vista en este post, nos queda:

$latex (bar{r}+a)^2 bigg [ frac{(bar{r}+a)^2}{a^2} frac{partial^2}{partial bar{r}^2} + frac{2}{bar{r}} frac{(bar{r}+a)^2}{a^2} frac{partial}{partial bar{r}} + frac{1}{bar{r}^2} frac{partial^2}{partial theta^2} + frac{cot theta}{bar{r}^2} frac{partial}{partial theta} + frac{csc^2 theta}{bar{r}^2} frac{partial^2}{partial varphi^2} bigg ] u = $

$latex = f(x(bar{r},theta,varphi),y(bar{r},theta,varphi),z(bar{r},theta,varphi))$.

De la misma manera:

$latex (bar{x}, bar{y}, bar{z}) longrightarrow (x,y,z)$

$latex phi(bar{x},bar{y},bar{z}) = (tanh frac{bar{x}}{a}, tanh frac{bar{y}}{b}, tanh frac{bar{z}}{c})$

de manera que:

$latex bigg [ a^2 cosh^4 frac{bar{x}}{a} frac{partial^2}{partial bar{x}^2} + 2 a cosh^3 frac{bar{x}}{a} sinh frac{bar{x}}{a} frac{partial}{partial bar{x}} + $

$latex + b^2 cosh^4 frac{bar{y}}{a} frac{partial^2}{partial bar{y}^2} + 2 b cosh^3 frac{bar{y}}{b} sinh frac{bar{y}}{b} frac{partial}{partial bar{y}} + $

$latex + c^2 cosh^4 frac{bar{z}}{c} frac{partial^2}{partial bar{z}^2} + 2 c cosh^3 frac{bar{z}}{c} sinh frac{bar{z}}{c} frac{partial}{partial bar{z}} bigg ] u(bar{x},bar{y},bar{z}) = f(x(bar{x}),y(bar{y}),z(bar{z})$.

O, con el otro cambio:

$latex (bar{x}, bar{y}, bar{z}) longrightarrow (x,y,z)$

$latex phi(bar{x},bar{y},bar{z}) = frac{2}{pi}(arctan frac{bar{x}}{a}, arctan frac{bar{y}}{b}, arctan frac{bar{z}}{c})$

de manera que:

$latex frac{pi^2}{2} bigg [frac{(bar{x}^2+a^2)^2}{2a^2} frac{partial^2}{partial bar{x}^2} + frac{bar{x}(bar{x}^2+a^2)}{a^2} frac{partial}{partial bar{x}} + $

$latex + frac{(bar{y}^2+b^2)^2}{2b^2} frac{partial^2}{partial bar{y}^2} + frac{bar{y}(bar{y}^2+b^2)}{b^2} frac{partial}{partial bar{y}} + $

$latex + frac{(bar{z}^2+c^2)^2}{2c^2} frac{partial^2}{partial bar{z}} + frac{bar{z}(bar{z}^2+c^2)}{c^2} frac{partial}{partial bar{z}} bigg ] u(bar{x},bar{y},bar{z}) = f(x(bar{x}),y(bar{y}),z(bar{z})$

Posibles compactificaciones

Gracias a la mágia de los infinitos (tenemos tantos puntos en $latex (a,infty)$ como en $latex (a,b)$, por ejemplo) podemos compactificar variedades. A continuación aparecen algunas gráficas

compactificar

de posibles cambios de variables para la compactificación de $latex [0,infty)$ en $latex [0,1]$:

$latex bar{r} = frac{r}{r+a}$

o $latex (-infty,infty)$ en $latex [-1,1]$:

$latex bar{x} = frac{2}{pi} arctan frac{x}{a}$,

$latex bar{x} = tanh frac{x}{a}$.

Operador Laplaciano en coordenadas curvilíneas

El operador Laplaciano en coordenadas cartesianas es:

$latex Delta u = frac{partial^2}{partial x^2} u + frac{partial^2}{partial y^2} u + frac{partial^2}{partial z^2} u = frac{partial^2}{(partial x^i)^2} u$.

¿Qué pasa cuando queremos expresarlo en otro sistema de coordenadas curvilineas tal que

$latex x=x(q^1,q^2,q^3) = x(q^i)$, $latex y=y(q^i)$, $latex z = z(q^i)$

cualesquiera? Pues despues de un poco de trabajo, se puede llegar a la expresión:

$latex boxed{frac{1}{h_1 h_2 h_3} frac{partial}{partial q^i} (frac{h_1 h_2 h_3}{h_i^2} frac{partial}{partial q^i} u)}$,

donde, si definimos el cambio de coordenadas

$latex boxed{phi(q^i) := (x(q^i),y(q^i),z(q^i))}$,

tenemos que

$latex boxed{h_i = |frac{partial}{partial q^i} phi|}$.

Para ver como funciona la formula, vamos a calcular el Laplaciano en coordenadas cilíndricas y en esféricas.

En el primer caso, tenemos que

$latex phi(r,theta,z) = (r cos theta, r sin theta, z)$ con

$latex r in mathbb{R}^+, theta in [0,2 pi], z in mathbb{R}$,

por lo que tenemos

$latex h_r = | frac{partial}{partial r} phi| = sqrt{(cos theta, sin theta, 0) cdot (cos theta, sin theta, 0)} = 1$,

$latex h_theta = |frac{partial}{partial theta} phi| = sqrt{(-r sin theta, r cos theta, 0) cdot (-r sin theta, r cos theta, 0)} = r$,

$latex h_z = |frac{partial}{partial z} phi| = sqrt{(0,0,1) cdot (0,0,1)} = 1$.

y entonces, al aplicar nuestra fórmula, obtenemos:

$latex frac{1}{r} bigg [ frac{partial}{partial r} ( r frac{partial}{partial r} u ) + frac{partial}{partial theta} ( frac{1}{r} frac{partial}{partial theta} u ) + frac{partial}{partial z} ( r frac{partial}{partial z} u ) bigg ] =$

$latex = frac{1}{r} (1 frac{partial}{partial r} + r frac{partial^2}{partial r^2}) u + frac{1}{r^2} frac{partial^2}{partial theta^2} u + frac{partial^2}{partial z^2} u =$

$latex = boxed{frac{partial^2}{partial r^2} u + frac{1}{r} frac{partial}{partial r} u + frac{1}{r^2} frac{partial^2}{partial theta^2} u + frac{partial^2}{partial z^2} u}$.

Ahora, en el caso de esféricas, tenemos:

$latex phi(r,theta,varphi) = (r sin theta cos varphi, r sin theta sin varphi, r cos theta)$ con

$latex r in mathbb{R}^+$, $latex theta in [0,pi]$ y $latex varphi in [0,2pi]$,

de manera que (el cuadrado hace referencia al producto escalar):

$latex h_r = |frac{partial}{partial r} phi| = sqrt{(sin theta cos varphi, sin theta sin varphi, cos theta)^2} = $

$latex = sqrt{sin^2 theta cos^2 varphi + sin^2 theta sin^2 varphi + cos^2 theta} = 1$

$latex h_theta = |frac{partial}{partial theta} phi| = sqrt{(r cos theta cos varphi, r cos theta sin varphi, – r sin theta)^2} = $

$latex = sqrt{r^2 cos^2 theta cos^2 varphi + r^2 cos^2 theta sin^2 varphi + r^2 sin^2 theta} = r$

$latex h_varphi = |frac{partial}{partial varphi} phi| = sqrt{(-r sin theta sin varphi,r sin theta cos varphi,0)^2} = $

$latex = sqrt{r^2 sin^2 theta sin^2 varphi + r^2 sin^2 theta cos^2 varphi + 0} = r sin theta$,

por lo que, con la fórmula, tenemos:

$latex frac{1}{r^2 sin theta} bigg [ frac{partial}{partial r} (r^2 sin theta frac{partial}{partial r}u) + frac{partial}{partial theta} (sin theta frac{partial}{partial theta}u) + frac{partial}{partial varphi} (frac{1}{sin theta} frac{partial}{partial varphi}u) bigg ] =$

$latex = frac{1}{r^2} frac{partial}{partial r} (r^2 frac{partial}{partial r}u) + frac{1}{r^2 sin theta} frac{partial}{partial theta} (sin theta frac{partial}{partial theta}u) + frac{1}{r^2 sin^2 theta} frac{partial^2}{partial varphi^2} u =$

$latex = frac{1}{r^2}(2r frac{partial}{partial r} + r^2 frac{partial^2}{partial r^2})u + frac{1}{r^2 sin theta}(cos theta frac{partial}{partial theta} + sin theta frac{partial^2}{partial theta^2})u + frac{1}{r^2 sin^2 theta} frac{partial^2}{partial varphi^2}u = $

$latex =boxed{ frac{partial^2}{partial r^2}u + frac{2}{r} frac{partial}{partial r}u + frac{1}{r^2} frac{partial^2}{partial theta^2}u + frac{cot theta}{r^2} frac{partial}{partial theta}u + frac{csc^2 theta}{r^2} frac{partial^2}{partial varphi^2}u}$

Funciones booleanas y puertas lógicas

Podemos pensar las funciones como una especie de entidades que a partir de unas entradas nos generan unas salidas. Por ejemplo, en matemáticas la función $latex f(x)=2x$ recibe un número real como entrada y nos devuelve el doble de ese número como salida.

Así pues, tenemos que para definir una función necesitamos un conjunto al que pertenecen las entradas de la función, un conjunto al que pertenecen sus salidas y una manera de obtener estas últimas a partir de las primeras (obviamente, estos métodos han de ser capaces de trabajar con los conjuntos anteriores). En particular, para la función anterior, tenemos que tanto los conjuntos de entrada como de salida son los números reales $latex mathbb{R}$, es una función real de variable real, y la regla de transformación es sencillamente multiplicar por dos.

Por lo tanto, las funciones booleanas no son mas que funciones donde los conjuntos de entrada y de salida tienen que ver con los booleanos $latex mathbb{B} = { 0,1}$. O dicho de otra manera, tendran que ser capaces de trabajar solo con ceros y unos. Cuando escribimos

$latex f:mathbb{B}^n rightarrow mathbb{B}^m$

queremos decir que las entradas son  $latex n$ valores booleanos $latex overbrace{mathbb{B} times mathbb{B}}^{n}$ y lo mismo para los $latex m$ valores de salida. Nos centraremos en $latex m=1$, ya que

$latex f(b_1,ldots,b_n) = f_1(b_1,ldots,b_n) times ldots times f_m(b_1,ldots,b_n)$

con

$latex f_i:mathbb{B}^n rightarrow mathbb{B}$.

Una propiedad interesante de las funciones booleanas es que, debido a que la cardinalidad de los booleanos es $latex |mathbb{B}|=2$, entonces el número de combinaciones posibles para las entradas queda determinado por la aridad $latex n$ de la función de la siguiente manera:

$latex |mathbb{B}^n| = 2^n$.

Ésto justifica la utilización de las tablas de verdad para especificar el comportamiento de una función. En ella, se colocan a la izquierda todas las posibles combinaciones de las entradas, que como acabamos de ver es finito, y a la izquierda de cada una de las ellas el valor correspondiente de la función que estamos definiendo.

Reflexiones sobre el futuro del blog

Llegados a este punto, y visto que sigue creciendo el número de visitas, sería interesante no solo escribir sobre las cosas en las que actualmente estoy trabajando (más o menos) sino también sobre aquellas de las que creo que se 🙂

Obviamente, las áreas que mas conozco son las que se corresponden con mis estudios que, ordenados por experiencia, son: ingeniería informática, matemáticas y física.

De esta manera, empezaré a tratar, de manera mas o menos sistemática, y haciendo énfasis en las ideas (que se entiendan las cosas) temas, en primer lugar, de informática: arquitectura de computadores, sistemas operativos, lenguajes de programación, ingeniería del software, bases de datos y redes de ordenadores. También tocaremos temas avanzados interesantísimos: inteligencia artificial, robótica, gráficos por computador, informática teórica, supercomputación…

Sería bonito hacerlo con un enfoque de abajo a arriba, es decir, intentar «fabricar» desde cero nuestro ordenador, su sistema operativo, un lenguaje de programación, su compilador, la red, etc. Ir entendiendo todo lo que vamos necesitando y saber como «construirlo». O con un ejemplo completo e interesante para las áreas de programación, bases de datos e ingeniería del software. Aunque es muy complicado, lo que se pueda lo haremos desde este punto de vista.

Quién sea capaz de asimilar esta cantidad ingente de información será, a nivel conceptual, como un experto en el área 😕

Todo aparecerá bajo la categoría Divulgación y las subcategorías (y subsubcategorías, etc.) para esta especie de cursos serán las tres primeras létras de cada palabra de su nombre en inglés, la primera en minúscula y el resto en mayúscula (por ejemplo cOMaRC para Computer Architecture). Así lograremos no mezclar las nuevas entradas, con estos objetivos, con las habituales de trabajo del blog. Aunque todo el mundo queda invitado a leer lo que le apetezca, faltaría más…

Cuando tenga clara una entrada, aparecerá en el blog y la iré rellenando poco a poco. Con el símbolo $latex Box$ indicaré que un post se da por acabado. El orden de lectura intentaré que corresponda con su orden de publicación (un post publicado en una fecha se debería de leer una vez leidos todos los publicados anteriormente de su misma sub…categoría).

Dicho esto, y con todo el fantástico trabajo que queda por delante, hasta el proximo post 😉

Teselación de Voronoi tridimensional de un conjunto de partículas en movimiento.

A mi casi-código SPH le he añadido la libreria Voro++ de Chris Rycroft y ésta va calculando las correspondientes teselaciones de Voronoi tridimensionales correspondientes a las partículas siguiendo movimientos pendulares (sobre planos z=cte) .

Pulsar sobre la imagen para empezar la animación.animate_1

Diferencias finitas para la segunda derivada con puntos separados por distancias que siguen una serie geometrica respecto del punto central (II)

Seguimos con el post anterior. Vamos a utilizar ahora siete puntos separados de la siguiente manera:

$latex x_0$

$latex x_1:=x_0+n^2 h$

$latex x_2:=x_0 + (n^2+n) h$

$latex x_3:=x_0 + (n^2+n+1) h$

$latex x_4:=x_0 + (n^2+n+2) h$

$latex x_5:=x_0 + (n^2+2n+2) h$

$latex x_6:=x_0 + (2n^2+2n+2) h$

Diferencias finitas para la segunda derivada con puntos separados por distancias que siguen una serie geometrica respecto del punto central (I)

El caso mas sencillo es cuando tenemos cinco puntos:

$latex (x_0,y_0), (x_1,y_1), (x_2,y_2), (x_3,y_3), (x_4,y_4)$,

de manera que:

$latex x_1-x_0 = 2(x_2-x_1) = 2(x_3-x_2) = x_4-x_3$.

Tal y como escribimos en el anterior post, el polinomio general para cinco puntos quedaria:

$latex L(x) = y_0 l_0(x) + y_1 l_1(x) + y_2 l_2(x) + y_3 l_3(x) + y_4 l_4(x)$,

donde:

$latex l_0(x) = frac{x-x_1}{x_0-x_1} frac{x-x_2}{x_0-x_2} frac{x-x_3}{x_0-x_3} frac{x-x_4}{x_0-x_4}$,

$latex l_1(x) = frac{x-x_0}{x_1-x_0} frac{x-x_2}{x_1-x_2} frac{x-x_3}{x_1-x_3} frac{x-x_4}{x_1-x_4}$,

$latex l_2(x) = frac{x-x_0}{x_2-x_0} frac{x-x_1}{x_2-x_1} frac{x-x_3}{x_2-x_3} frac{x-x_4}{x_2-x_4}$,

$latex l_3(x) = frac{x-x_0}{x_3-x_0} frac{x-x_1}{x_3-x_1} frac{x-x_2}{x_3-x_2} frac{x-x_4}{x_3-x_4}$,

$latex l_4(x) = frac{x-x_0}{x_4-x_0} frac{x-x_1}{x_4-x_1} frac{x-x_2}{x_4-x_2} frac{x-x_3}{x_4-x_3}$.

Dado que tratamos de aproximar la segunda derivada, tenemos, en el caso de equidistancia quedaría:

$latex frac{d^2}{dx^2}u_i = frac{-u_{i-2}+16u_{i-1}-30u_i+16u_{i+1}-u_{i+2}}{12 h^2}$.

Vamos a ver que queda ahora en nuestro caso. Reescribimos los $latex l_i(x)$ en función de $latex x_0$ de manera que, por ejemplo, tenemos:

$latex l_0(x) = frac{x-x_1}{x_0-x_1} frac{x-x_2}{x_0-x_2} frac{x-x_3}{x_0-x_3} frac{x-x_4}{x_0-x_4} =$

$latex =frac{x-x_0-2h}{x_0-x_0-2h} frac{x-x_0-3h}{x_0-x_0-3h} frac{x-x_0-4h}{x_0-x_0-4h} frac{x-x_0-6h}{x_0-x_0-6h} = $

$latex =frac{(x-x_0-2h)(x-x_0-3h)(x-x_0-4h)(x-x_0-6h)}{144h^4}$,

que para $latex x=x_2=x_0+3h (2h+h)$, la segunda derivada queda:

$latex frac{d^2}{dx^2} l_0(x) |_{x=x_2} = -frac{1}{72h^2}$.

Haciendo lo mismo para todas las derivadas segundas de todos los $latex l_i(x)$, obtenemos la siguiente formula en diferencias finitas:

$latex frac{d^2}{dx^2}u_i = frac{-u_{i-3} + 81 u_{u-1} – 160 u_i + 81 u_{i+1} – u_{i+3}}{72h^2}$,

donde los índices hacen referencia a una malla inicial equiespaciada.

Para el mismo denominador, antes teniamos:

$latex frac{d^2}{dx^2}u_i = frac{-6u_{i-2}+96u_{i-1}-180u_i+96u_{i+1}-6u_{i+2}}{72 h^2}$.

Podemos hacer lo mismo para cada uno de los puntos $latex x=x_0$, $latex x=x_1=x_0+2h$, $latex x=x_3=x_0+4h$ y $latex x=x_4=x_0+6h$:

$latex frac{d^2}{dx^2}u_{i-3} = frac{40 u_{i-3} -243 u_{i-1} + 352 u_i -162 u_{i+1} + 13 u_{i+3}}{36 h^2}$

$latex frac{d^2}{dx^2}u_{i-2} = frac{7 u_{i-3} – 32 u_i + 27 u_{i+1} – 2 u_{i+3}}{36 h^2}$

$latex frac{d^2}{dx^2}u_{i+1} =frac{-2 u_{i-3} + 27 u_{i-1} – 32 u_i -+7 u_{i+3}}{36 h^2}$

$latex frac{d^2}{dx^2}u_{i+3} =frac{13 u_{i-3} -162 u_{i-1} + 352 u_i -243 u_{i+1} + 40 u_{i+3}}{36 h^2}$

 En el caso de $latex x=x_0+4h (3h+h)$, tenemos:

$latex frac{d^2}{dx^2}u_i = frac{-u_{i-4} + 256_{u-1} – 510 u_i + 256 u_{i+1} – u_{i+4}}{140h^2}$.

Interpolación de Lagrange y formula en diferencias finitas para la aproximación de las derivadas

Dados $latex n+1$ puntos:

$latex (x_0,y_0), ldots, (x_n,y_n)$,

definimos el polinomio interpolador de Lagrange:

$latex L(x) := Sigma_{i=0}^n y_i l_i(x)$

donde:

$latex l_i(x) := Pi_{0 leq j leq n,j neq i} frac{x-x_j}{x_i-x_j}$.

Con esto, tenemos:

$latex frac{d^n}{dx^n}L(x) = Sigma_{i=0}^n y_i frac{d^n}{dx^n}l_i(x)$

Supongamos que tenemos $latex n=2$:

$latex (x_0,y_0), (x_1,y_1)$.

En este caso, tenemos:

$latex L(x) = y_0 l_0(x) + y_1 l_1(x)$

con:

$latex l_0(x) = frac{x-x_1}{x_0-x_1}$

$latex l_1(x) = frac{x-x_0}{x_1-x_0}$

Como tenemos dos puntos, únicamente podemos aproximar la primera derivada:

$latex frac{d}{dx} L(x) = y_0 frac{d}{dx} l_0(x) + y_1 frac{d}{dx} l_1(x)$

con:

$latex frac{d}{dx} l_0(x) = frac{1}{x_0-x_1}$

$latex frac{d}{dx} l_1(x) = frac{1}{x_1-x_0}$,

de manera que:

$latex frac{d}{dx}L(x) = frac{y_1 – y_0}{x_1 – x_0}$.

Con esto, tenemos las aproximaciones de primer orden:

$latex u_x(x_0) = u_x(x_1) = frac{y_1 – y_0}{x_1-x_0}$,

que, en índices, queda:

$latex frac{d}{dx}u_i approx frac{u_{i+1}-u_i}{h_x}$,

$latex frac{d}{dx}u_{i+1} approx frac{u_{i+1}-u_i}{h_x}$,

donde $latex h_x = x_1 – x_0$ (y que es lógico, ya que la derivada será una constante).

Supongamos ahora que tenemos tres puntos:

$latex (x_0,y_0),(x_1,y_1),(x_2,y_2)$.

En este caso tenemos:

$latex L(x) = y_0 l_0(x) + y_1 l_1(x) + y_2 l_2(x)$,

$latex frac{d}{dx} L(x) = y_0 frac{d}{dx} l_0(x) + y_1 frac{d}{dx} l_1(x) + y_2 frac{d}{dx} l_2(x)$,

$latex frac{d^2}{dx^2} L(x) = y_0 frac{d^2}{dx^2} l_0(x) + y_1 frac{d^2}{dx^2} l_1(x) + y_2 frac{d^2}{dx^2} l_2(x)$.

Ahora tenemos:

$latex l_0(x) = frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)} = frac{x^2 + (-x_1-x_2)x + x_1x_2}{(x_0-x_1)(x_0-x_2)}$,

$latex l_1(x) = frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)} = frac{x^2 + (-x_0-x_2)x + x_0x_2}{(x_1-x_0)(x_1-x_2)}$,

$latex l_2(x) = frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)} = frac{x^2 + (-x_0-x_1)x + x_0x_1}{(x_2-x_0)(x_2-x_1)}$.

$latex frac{d}{dx} l_0(x) = frac{2x + (-x_1-x_2)}{(x_0-x_1)(x_0-x_2)}$,

$latex frac{d}{dx} l_1(x) = frac{2x+(-x_0-x_2)}{(x_1-x_0)(x_1-x_2)}$,

$latex frac{d}{dx} l_2(x) = frac{2x+(-x_0-x_1)}{(x_2-x_0)(x_2-x_1)}$.

$latex frac{d^2}{dx^2} l_0(x) = frac{2}{(x_0-x_1)(x_0-x_2)}$,

$latex frac{d^2}{dx^2} l_1(x) = frac{2}{(x_1-x_0)(x_1-x_2)}$,

$latex frac{d^2}{dx^2} l_2(x) = frac{2}{(x_2-x_0)(x_2-x_1)}$.

De esta manera, por ejemplo, tenemos que:

$latex frac{d^2}{dx^2}L(x) = y_0 frac{2}{(x_0-x_1)(x_0-x_2)} + y_1 frac{2}{(x_1-x_0)(x_1-x_2)} + y_2 frac{2}{(x_2-x_0)(x_2-x_1)}$,

que, en el caso de tener los puntos equiespaciados ($latex h_x:=x_{i+1}-x_{i}$ con $latex 0 leq i leq 1$), queda la aproximación de segundo orden:

$latex frac{d^2}{dx^2}u(x) = frac{y_0 – 2 y_1 + y_2}{h_x^2}$,

que además, como era de esperar, es independiente de $latex x$:

$latex frac{d^2}{dx^2}u_{i-1} approx frac{u_{i-1}-2u_i+u_{i+1}}{h_x^2}$,

$latex frac{d^2}{dx^2}u_i approx frac{u_{i-1}-2u_i+u_{i+1}}{h_x^2}$,

$latex frac{d^2}{dx^2}u_{i+1} approx frac{u_{i-1}-2u_i+u_{i+1}}{h_x^2}$.

¿Qué pasa con la primera derivada? En este caso, el resultado si que depende de $latex x$ (por lo que tendremos un resultado diferente en función de si la $latex x$ vale $latex x_0$, $latex x_1$ o $latex x_2$) y lo que obtenemos es:

$latex frac{d}{dx} L(x) = y_0 frac{2x + (-x_1-x_2)}{(x_0-x_1)(x_0-x_2)} + y_1 frac{2x + (-x_0-x_2)}{(x_1-x_0)(x_1-x_2)} + y_2 frac{2x + (-x_1-x_2)}{(x_2-x_0)(x_2-x_1)}$,

por lo que:

$latex frac{d}{dx} L(x_0) = y_0 frac{2x_0 + (-x_1-x_2)}{(x_0-x_1)(x_0-x_2)} + y_1 frac{2x_0 + (-x_0-x_2)}{(x_1-x_0)(x_1-x_2)} + y_2 frac{2x_0 + (-x_1-x_2)}{(x_2-x_0)(x_2-x_1)}$

$latex frac{d}{dx} L(x_1) = y_0 frac{2x_1 + (-x_1-x_2)}{(x_0-x_1)(x_0-x_2)} + y_1 frac{2x_1 + (-x_0-x_2)}{(x_1-x_0)(x_1-x_2)} + y_2 frac{2x_1 + (-x_1-x_2)}{(x_2-x_0)(x_2-x_1)}$

$latex frac{d}{dx} L(x_2) = y_0 frac{2x_2 + (-x_1-x_2)}{(x_0-x_1)(x_0-x_2)} + y_1 frac{2x_2 + (-x_0-x_2)}{(x_1-x_0)(x_1-x_2)} + y_2 frac{2x_2 + (-x_1-x_2)}{(x_2-x_0)(x_2-x_1)}$,

que, con equiespaciado, quedan:

$latex L'(x_0) = frac{3 y_0 -4 y_1 + y_2}{2 h_x}$,

$latex L'(x_1) = frac{y_0 -2 y_1 + y_2}{2 h_x}$ y

$latex L'(x_2) = frac{y_0 -4 y_1 + 3 y_2}{2 h_x}$.

Reescritura del Laplaciano nd en diferencias finitas mediante el 1d con fuentes de las (n-1)d restantes

Laplaciano en cartesianas:

$latex Delta u = Sigma_i frac{partial^2}{partial x_i^2}u$

1d

$latex frac{u_{i-1}-2u_i+u_{i+1}}{h^2} = f_i $

$latex frac{1}{h^2}u_{i-1} + frac{1}{h^2}u_{i+1} +frac{-2}{h^2}u_i= f_i$

2d

$latex frac{u_{i-1,j}-2u_{i,j}+u_{i+1,j}}{h_x^2} + frac{u_{i,j-1}-2u_{i,j}+u_{i,j+1}}{h_y^2} = f_{i,j}$

$latex i$ fijo:

$latex frac{1}{h_y^2}u_{i,j-1} + frac{1}{h_y^2}u_{i,j+1} +(frac{-2}{h_x^2}+frac{-2}{h_y^2})u_{i,j}= g_{i,j}(:=f_{i,j} + frac{-1}{h_x^2}u_{i-1,j} + frac{-1}{h_x^2}u_{i+1,j})$

$latex j$ fijo:

$latex frac{1}{h_x^2}u_{i-1,j} + frac{1}{h_x^2}u_{i+1,j} +(frac{-2}{h_x^2}+frac{-2}{h_y^2})u_{i,j}= g_{i,j}(:=f_{i,j} + frac{-1}{h_y^2}u_{i,j-1} + frac{-1}{h_y^2}u_{i,j+1})$

3d

$latex frac{u_{i-1,j,k}-2u_{i,j,k}+u_{i+1,j,k}}{h_x^2} + frac{u_{i,j-1,k}-2u_{i,j,k}+u_{i,j+1,k}}{h_y^2} + frac{u_{i,j,k-1}-2u_{i,j,k}+u_{i,j,k+1}}{h_z^2} = f_{i,j,k}$

$latex i,j$ fijos:

$latex frac{1}{h_z^2}u_{i,j,k-1} + frac{1}{h_z^2}u_{i,j,k+1} +(frac{-2}{h_x^2}+frac{-2}{h_y^2}+frac{-2}{h_z^2})u_{i,j,k}= g_{i,j,k}$

$latex (g_{i,j,k}:=f_{i,j,k} + frac{-1}{h_x^2}u_{i-1,j,k} + frac{-1}{h_x^2}u_{i+1,j,k} + frac{-1}{h_y^2}u_{i,j-1,k} + frac{-1}{h_y^2}u_{i,j+1,k})$

$latex i,k$ fijos:

$latex frac{1}{h_y^2}u_{i,j-1,k} + frac{1}{h_y^2}u_{i,j+1,k} +(frac{-2}{h_x^2}+frac{-2}{h_y^2}+frac{-2}{h_z^2})u_{i,j,k}= g_{i,j,k}$

$latex (g_{i,j,k}:=f_{i,j,k} + frac{-1}{h_x^2}u_{i-1,j,k} + frac{-1}{h_x^2}u_{i+1,j,k} + frac{-1}{h_z^2}u_{i,j,k-1} + frac{-1}{h_z^2}u_{i,j,k+1})$

$latex j,k$ fijos:

$latex frac{1}{h_x^2}u_{i-1,j,k} + frac{1}{h_x^2}u_{i+1,j,k} +(frac{-2}{h_x^2}+frac{-2}{h_y^2}+frac{-2}{h_z^2})u_{i,j,k}= g_{i,j,k}$

$latex (g_{i,j,k}:=f_{i,j,k} + frac{-1}{h_y^2}u_{i,j-1,k} + frac{-1}{h_y^2}u_{i,j+1,k} + frac{-1}{h_z^2}u_{i,j,k-1} + frac{-1}{h_z^2}u_{i,j,k+1})$

Block Cyclic Reduction

Ya hace casi dos meses que no escribo nada en el blog :-(. Es hora de añadir algo.

El Block Cyclic Reduction es un algoritmo rápido para resolver sistemas de ecuaciones de manera directa cuya matriz tiene estructura tridiagonal por bloques.

Supongamos que tenemos una discretización de un volumen mediante cinco puntos para las $latex x$, tres puntos para las $latex y$ y siete puntos para las $latex z$ (necesitamos que sean números impares).

Para la dimensión $latex z$ tenemos:

$latex A_3 = left(
begin{array}{ccccccc}
6 & -1 & 0 & 0 & 0 & 0 & 0 \
-1 & 6 & -1 & 0 & 0 & 0 & 0 \
0 & -1 & 6 & -1 & 0 & 0 & 0 \
0 & 0 & -1 & 6 & -1 & 0 & 0\
0 & 0 & 0 & -1 & 6 & -1 & 0 \
0 & 0 & 0 & 0 & -1 & 6 & -1\
0 & 0 & 0 & 0 & 0 & -1 & 6
end{array}
right)$

$latex -I_3 =left(
begin{array}{ccccccc}
-1 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & -1 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & -1 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & -1 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & -1 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & -1 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & -1
end{array}
right)$

Para la dimensión $latex y$ no queda:

$latex A_2 = left(
begin{array}{ccc}
A_3 & -I_3 & 0 \
-I_3 & A_3 & -I_3 \
0 & -I_3 & A_3
end{array}
right); ,,, -I_2 = left(
begin{array}{ccc}
-I_3 & 0 & 0 \
0 & -I_3 & 0 \
0 & 0 & -I_3
end{array}
right)$

Y, finalmente, para la dimensión $latex x$ obtenemos:

$latex A_1 = left(
begin{array}{ccccc}
A_2 & -I_2 & 0 & 0 & 0 \
-I_2 & A_2 & -I_2 & 0 & 0 \
0 & -I_2 & A_2 & -I_2 & 0 \
0 & 0 & -I_2 & A_2 & -I_2 \
0 & 0 & 0 & -I_2 & A_2
end{array}
right)$.

Ahora todo es fácilmente generalizable a $latex n$ dimensiones $latex x_1, x_2, ldots, x_n$ con $latex t_1, t_2, ldots, t_n$ puntos en cada dimensión, ya que nos queda $latex A_i$ una matriz tridiagonal por bloques con $latex t_i times t_i$ bloques donde cada uno está formado por matrices $latex A_{i-1}$ en la diagonal, $latex -I_{i-1}$ arriba y debajo de la diagonal y $latex 0$ en el resto, todas de dimensión $latex t_{i-1} times t_{i-1}$ con $latex i=1,ldots, n$. En $latex A_n$ tenemos el stencil $latex (-1,2n,-1)$.

En el caso que estamos tratando, para cada fila par de $latex A_1$ podemos multiplicarla por $latex A_2$ y sumarla a las filas impares anterior y posterior, de manera que eliminamos las variables pares:

$latex -v^1_{j-2} + ((A_2)^2 – 2I_2)v^1_j – v^1_{j+2} = b^1_{j-1} + A_2 b^1_j + b^1_{j+1}$,

(el $latex ^1$ hace referencia a las $latex x$ y no corresponde a potencias… Para resolver las $latex k$ impares simplemente:

$latex A_2 v^1_k = b^1_{k} + v^1_{k-1} + v^1_{k+1}$. )

Y resulta que definiendo $latex B_2:=(A_2)^2 – 2 I_2$, nos queda una matriz $latex B_1$ de la misma estructura que $latex A_1$, por lo que podemos aplicar este metodo de manera recursiva hasta llegar a tener una sola ecuación (para esto, no basta con que tengamos un número impar de nodos, necesitamos algo como $latex N=2^{k+1}-1$).

Llegados a este punto, si estamos con $latex v^n$, resolvemos como queramos, pero si estamos en otra variable $latex v^i$ con $latex ineq n$, la matriz vuelve a tener la misma estructura, pero con una dimensión menos, y volvemos a aplicar el mismo algoritmo.

Tenemos dos lugares distintos donde aplicar recursividad: el primero por ir agrupando de tres en tres las ecuaciones de una dimensión de trabajo ($latex A_i rightarrow B_i rightarrow ldots rightarrow F_i$, $latex F$ por poner algo :-)); el otro cuando, llegados a una sola ecuación aplicando la recursividad anterior, nos quedan mas dimensiones por resolver ($latex B_{j+1}, B_{j+2}, ldots $).

Desarrollos multipolares de las fuentes de la aproximación CFC

Como $latex Delta u = f leftrightarrow u = Delta^{-1} f$ entonces $latex mathcal{M}(u) = mathcal{M}(Delta^{-1} f)$ y

$latex mathcal{M}(Delta^{-1}f) = frac{1}{r} M(f) + frac{1}{r^2}n_i D^i(f) + frac{3}{2} frac{1}{r^3} n_{langle i} n_{j rangle} Q^{ij}(f) + O(frac{1}{r^4}) + $

$latex + Delta_0^{-1} mathcal{M}(f)$

con

$latex M(f) = – frac{1}{4 pi} int f$,

$latex D^i(f) = – frac{1}{4 pi} int x^i f$,

$latex Q^{ij}(f) = – frac{1}{4 pi} int x^i x^j f$

y $latex mathcal{M}(f) = 0$ si $latex f$ es de soporte compacto.

 1.- $latex boxed{Delta Theta_X = frac{3}{4} 8 pi mathcal{D}^i S_i^*}$ donde $latex Theta_X := mathcal{D}_j X^j$

En este caso, $latex f_{Theta_X} := frac{3}{4} 8 pi mathcal{D}^i S_i^*$ y, por tanto, $latex mathcal{M}(f_{Theta_X})=0$. De esta manera, tenemos:

$latex M(f_{Theta_X}) =$,

$latex D^i(f_{Theta_X}) = – frac{1}{4 pi} int x^i frac{3}{4} 8 pi mathcal{D}^i S_i^* = -frac{3}{2} (int mathcal{D}^j(x^i S_j^*) d^3x’ – int S_j^* mathcal{D}^j x^i d^3x’)$,

$latex Q^{ij}(f_{Theta_X}) = – frac{1}{4 pi} int x^i x^j frac{3}{4} 8 pi mathcal{D}^i S_i^*$

$latex mathcal{M}(Delta^{-1}f_{Theta_X}) = + O()$

2.- $latex boxed{Delta X^i = 8 pi f^{ij} S_j^* – frac{1}{3} mathcal{D}^i Theta_X}$

Ahora hacemos $latex f_{X^i} := 8 pi f^{ij} S_j^* – frac{1}{3} mathcal{D}^i Theta_X$

$latex M(f_{X^i}) = – frac{1}{4 pi} int 8 pi f^{ij} S_j^* – frac{1}{3} mathcal{D}^i Theta_X$,

$latex D^i(f_{X^i}) = – frac{1}{4 pi} int x^i (8 pi f^{ij} S_j^* – frac{1}{3} mathcal{D}^i Theta_X)$,

$latex Q^{ij}(f_{X^i}) = – frac{1}{4 pi} int x^i x^j (8 pi f^{ij} S_j^* – frac{1}{3} mathcal{D}^i Theta_X)$

$latex mathcal{M}(Delta^{-1}f_{X^i}) = + O()$

3.- $latex boxed{Delta psi = -2 pi E^* psi^{-1} – frac{1}{8} ( f_{il} f_{jm} hat{A}^{lm} hat{A}^{ij}) psi^{-7}}$

En esta ocasión, $latex f_psi := -2 pi E^* psi^{-1} – frac{1}{8} ( f_{il} f_{jm} hat{A}^{lm} hat{A}^{ij}) psi^{-7}$

$latex M(f_psi) = – frac{1}{4 pi} int -2 pi E^* psi^{-1} – frac{1}{8} ( f_{il} f_{jm} hat{A}^{lm} hat{A}^{ij}) psi^{-7}$,

$latex D^i(f_psi) = – frac{1}{4 pi} int x^i (-2 pi E^* psi^{-1} – frac{1}{8} ( f_{il} f_{jm} hat{A}^{lm} hat{A}^{ij}) psi^{-7})$,

$latex Q^{ij}(f_psi) = – frac{1}{4 pi} int x^i x^j (-2 pi E^* psi^{-1} – frac{1}{8} ( f_{il} f_{jm} hat{A}^{lm} hat{A}^{ij}) psi^{-7})$

$latex mathcal{M}(Delta^{-1}f_psi) = + O()$

4.- $latex boxed{ Delta (alpha psi) = big( 2 pi (E^* + 2S^*) psi^{-2} + frac{7}{8} (f_{il} f_{jm} hat{A}^{lm} hat{A}^{ij} ) psi^{-8} big) (alpha psi) }$

Definimos $latex f_{alpha psi}:=big( 2 pi (E^* + 2S^*) psi^{-2} + frac{7}{8} (f_{il} f_{jm} hat{A}^{lm} hat{A}^{ij} ) psi^{-8} big) (alpha psi)$

$latex M(f_{alpha psi}) = – frac{1}{4 pi} int big( 2 pi (E^* + 2S^*) psi^{-2} + frac{7}{8} (f_{il} f_{jm} hat{A}^{lm} hat{A}^{ij} ) psi^{-8} big) (alpha psi)$,

$latex D^i(f_{alpha psi}) = – frac{1}{4 pi} int x^i (big( 2 pi (E^* + 2S^*) psi^{-2} + frac{7}{8} (f_{il} f_{jm} hat{A}^{lm} hat{A}^{ij} ) psi^{-8} big) (alpha psi))$,

$latex Q^{ij}(f_{alpha psi}) = – frac{1}{4 pi} int x^i x^j (big( 2 pi (E^* + 2S^*) psi^{-2} + frac{7}{8} (f_{il} f_{jm} hat{A}^{lm} hat{A}^{ij} ) psi^{-8} big) (alpha psi))$

$latex mathcal{M}(Delta^{-1} f_{alpha psi}) = + O() $

5.- $latex boxed{Delta Theta_beta = frac{3}{4}mathcal{D}^i (mathcal{D}_j(2alpha psi^{-6}hat{A}^{ij})) }$ con $latex Theta_beta := mathcal{D}_i beta^i$

Para esta ecuación, $latex f_{Theta_beta}:=frac{3}{4}mathcal{D}^i (mathcal{D}_j(2alpha psi^{-6}hat{A}^{ij}))$

$latex M(f_{Theta_beta}) = – frac{1}{4 pi} int frac{3}{4}mathcal{D}^i (mathcal{D}_j(2alpha psi^{-6}hat{A}^{ij}))$,

$latex D^i(f_{Theta_beta}) = – frac{1}{4 pi} int x^i frac{3}{4}mathcal{D}^i (mathcal{D}_j(2alpha psi^{-6}hat{A}^{ij}))$,

$latex Q^{ij}(f_{Theta_beta}) = – frac{1}{4 pi} int x^i x^j frac{3}{4}mathcal{D}^i (mathcal{D}_j(2alpha psi^{-6}hat{A}^{ij}))$

$latex mathcal{M}(Delta^{-1}f_{Theta_beta}) = + O()$

6.- $latex boxed{Delta beta^i = mathcal{D}_j(2alphapsi^{-6}hat{A}^{ij})-frac{1}{3}mathcal{D}^i Theta_beta}$

Finalmente, tenemos $latex f_{beta^i}:=mathcal{D}_j(2alphapsi^{-6}hat{A}^{ij})-frac{1}{3}mathcal{D}^i Theta_beta$

$latex M(f_{beta^i}) = – frac{1}{4 pi} int mathcal{D}_j(2alphapsi^{-6}hat{A}^{ij})-frac{1}{3}mathcal{D}^i Theta_beta$,

$latex D^i(f_{beta^i}) = – frac{1}{4 pi} int x^i (mathcal{D}_j(2alphapsi^{-6}hat{A}^{ij})-frac{1}{3}mathcal{D}^i Theta_beta)$,

$latex Q^{ij}(f_{beta^i}) = – frac{1}{4 pi} int x^i x^j (mathcal{D}_j(2alphapsi^{-6}hat{A}^{ij})-frac{1}{3}mathcal{D}^i Theta_beta)$

$latex mathcal{M}(Delta^{-1}f_{beta^i}) = + O()$

Álgebra universal: categorías y functores

Un salto cualitativo en las matemáticas se produce al introducir las estructuras algebraicas: un conjunto de elementos con unas operaciones cumpliendo ciertas propiedades, ya que nos permiten abstraernos de los objetos concretos y sacar conclusiones generales a partir de las propiedades que cumplen, de manera que podemos demostrar teoremas que seran tan validos en los enteros como en los polinomios, por decir algo.

Los elementos pueden ser números ($latex mathbb{N}, mathbb{Z}, mathbb{Q}, mathbb{R}, mathbb{C}$, …) o no (polinomios, matrices, funciones, …). Las operaciones (o leyes de composición) pueden ser internas (la suma, el producto, la composición, …) o externas (producto por escalar, …) y las propiedades son la asociatividad, la existencia de neutro, de inverso, la conmutatividad, distributividad, etc.

Pero como en las matemáticas siempre podemos abstraer mas, podemos convertir a las propias estructuras algebraicas en nuevos objetos de estudio e intentar buscar que tienen en común entre ellas, dando origen al álgebra universal.

En el álgebra universal tenemos categorías. Una categoría $latex mathcal{C}$ está formada por:

  • $latex Obj(mathcal{C})$: un conjunto de objetos, que denotaremos mediante $latex X, Y, ldots$

Españoles en Annals of Mathematics

La siguiente URL realiza una busqueda en la prestigiosa revista Annals of Mathematics de todos aquellos artículos que contengan la palabra Spain:

http://annals.math.princeton.edu/?s=Spain

que nos devuelve como resultado 22 artículos a partir del 2004 que tienen a algún español entre sus autores. De estos, los únicos autores que repiten son: Diego Cordoba (3), Francisco Gancedo (3), Antonio Cordoba (2), Angel Castro (2) y Gabriel Navarro (2).

Por cierto, una curiosidad: resulta que Antonio Cordoba ¡es el padre de Diego Cordoba! Supongo que el padre debe estar orgullosisimo de que el hijo ya lo supere (por lo menos en artículos en Annals 🙂

El cuerpo finito F_2 y las derivadas formales

Dado cualquier número primo $latex p$, el conjunto $latex mathbb{Z}/pmathbb{Z}$ de los enteros módulo $latex p$ tiene estructura de cuerpo. Solemos escribir $latex mathbb{F}_p$ para referirnos al cuerpo finito de $latex p$ elementos.

En particular, cuando $latex p=2$, tenemos el cuerpo $latex mathbb{F}_2$ con la suma y el producto, que están en correspondencia, desde el punto de vista de las álgebras de Boole, con las operaciones XOR y AND.

Si $latex mathbb{K}$ es un cuerpo, se puede dotar fácilmente a $latex mathbb{K}^n$ de estructura de cuerpo.

Por lo tanto, $latex (mathbb{F}_2)^n$ es un cuerpo, también finito. Como todos los cuerpos finitos de $latex q$ elementos son isomorfos entre ellos y el cuerpo anterior tiene $latex 2^n$, estamos tratando con $latex mathbb{F}_{2^n}$. Podriamos haber construido el cuerpo de otra manera: buscar un polinomio irreducible $latex f(x)$ de grado $latex n$ con coeficientes en $latex mathbb{F}_2$ y construir $latex F_{2^n}$ como:

$latex mathbb{F}_{2^n} = frac{mathbb{F}_2[x]}{langle f(x) rangle}$.

Se puede demostrar que cualquier cuerpo finito $latex mathbb{F}_p$ es un espacio vectorial sobre cierto $latex mathbb{Z}/qmathbb{Z}$. En particular, $latex mathbb{F}_{2^n}$ es un espacio vectorial sobre $latex mathbb{F}_2$ de dimensión $latex n$.

Existe un teorema, que en nuestro nos lleva a algo que ya sabiamos, que nos dice que si $latex V$ es un $latex mathbb{K}$-ev de dimensión $latex n$ entonces $latex V$ es isomorfo a $latex mathbb{F}^n$ (en nuestro caso $latex V$ es $latex mathbb{F}_{2^n}$ y $latex mathbb{K}$ es $latex mathbb{F}_2$, por lo que $latex mathbb{F}_{2^n} cong (mathbb{F}_2)^n$).

Dado un anillo $latex R$ y sea $latex A = R[x]$ el anilllo de polinomios sobre $latex R$. Entonces la derivada formal de $latex f(x)=a_nx^n + ldots + a_1 x + a_0 in R[x]$ es $latex f'(x) = Df(x) = n a_n x^{n-1} + ldots + a_1$.

 

 

Formas invariantes y forma de Killing

Una $latex q$-forma o una forma multilineal $latex Phi$ (una métrica, por ejemplo, es una $latex 2$-forma, una forma bilineal) es invariante si es invariante por la izquierda, o sea, si $latex L_a^* Phi = Phi$ (recordar que $latex L_a$ es un desplazamiento en el grupo $latex G$, $latex (L_a)_*$ es un desplazamiento en el espacio tangente $latex TG$ y $latex L_a^*$ lo es en el espacio cotangente $latex T^*G$) e invariente por la derecha. Son, por tanto, invariantes respecto a las transformaciones del grupo adjunto.

En el caso de formas bilineales, $latex Phi$ es invariante si:

$latex Phi(Ad(a) u, Ad(a) v) = Phi(u,v)$,

o, lo que es lo mismo, si:

$latex Phi([w,u],v) + Phi(u,[w,v]) = 0$.

Cuando un grupo de Lie admite una forma bilineal simétrica invariante definida positiva o negativa, entonces su álgebra de Lie es equivalente a un espacio euclideo con métrica $latex g(u,v) = Phi(u,v)$. Son las álgebras de Lie compactas, y se corresponden con los grupos de Lie compactos.

La forma de Killing es un ejemplo importante de forma bilineal simétrica invariante:

$latex B(u,v) = tr (ad(u) ad(v))$,

que, en componentes, queda:

$latex B(u,v) = g_{ij} u^i u^j$. Como $latex (ad(u))^i_j = c^i_{kj}u^k$, entonces $latex g_{ij} = c^k_{is} c^s_{jk}$.

Por ejemplo, la forma de Killing del grupo $latex GL(n,mathbb{K})$ quedaria:

$latex B(u,v) = 2n,tr(uv) – 2,tr(u),tr(v)$,

que es degenerada. Para hallarla, tomamos la base de matrices $latex E^alpha_beta$ (matrices con todas las componentes a cero excepto en la componente de fila $latex alpha$ y  columna $latex beta$ que contiene la unidad) del álgebra de Lie correspondiente y como:

$latex ad(u) E^alpha_beta = (delta^alpha_sigma u^tau_beta – delta^tau_beta u^alpha_sigma) E^sigma_tau$,

entonces:

$latex ad(u) cdot ad(v) E^alpha_beta = (delta^alpha_sigma u^tau_gamma v^gamma_beta + delta^tau_beta v^alpha_gamma u^gamma_sigma – u^alpha_sigma v^tau_beta – v^alpha_sigma u^tau_beta) E^sigma_tau$.

Representaciones lineales de grupos y representación adjunta

Una representación lineal de un grupo $latex G$ es un homomorfismo $latex varphi$ de $latex G$ en el grupo de Lie $latex GL(mathbb{V})$ donde $latex mathbb{V}$ es un espacio vectorial que se puede asociar de manera natural a $latex GL(n,mathbb{K})$ escogiendo una base. Podemos hablar entonces de la acción del grupo $latex G$ sobre el espacio vectorial $latex mathbb{V}$ de la que, con la base, tenemos una representación matricial.

Un homomorfismo $latex varphi$ es una aplicación entre grupos $latex varphi: G longrightarrow G’$ que conserva el producto $latex varphi(ab) = varphi(a)varphi(b)$. Hablamos de automorfismo cuando $latex G = G’$.

Por ejemplo, si consideramos:

$latex varphi: GL(n,mathbb{K}) longrightarrow mathbb{K}_0 ,/, varphi(A) = det A$,

entonces $latex det A$ es un polinomio respecto de las componentes de $latex A$, por lo que es analítica, y es homomorfismo de grupos de Lie ya que:

$latex det AB = det A det B$.

Además, su nucleo son aquellas matrices con $latex det A = 1$, por lo que $latex ker varphi = SL(n,mathbb{K})$, el grupo lineal especial. Si calculamos ahora su diferencial, con las reglas de diferenciacion de un determinante y calculando su valor en la unidad de $latex GL(n,mathbb{K})$ tenemos:

$latex det_* U = tr U$,

por lo que tenemos un homomorfismo del algebra de Lie $latex mathfrak{gl}(n,mathbb{K})$ sobre el álgebra $latex mathbb{K}$ cuyo núcleo, las matrice de traza nula, es el ideal $latex mathfrak{sl}(n,mathbb{K})$.

En el estudio de las representaciones destacan los caracteres de las representaciones. Dada una representación $latex varphi$, el carácter de esta es

$latex chi_varphi(a) = tr varphi(a)$.

que no depende de la base.

Sea $latex G$ un grupo de Lie y $latex mathfrak{g}$ su álgebra de Lie. El conjunto $latex Aut(G)$ de los automorfismos de $latex G$ es un grupo de Lie si $latex G$ es conexo.

Dos elementos $latex x$ y $latex x’$ diremos que son conjugados si:

$latex x’ = a x a^{-1}$.

Los automorfismos internos son aquellos automorfismos que relacionan elementos conjugados. Sus diferenciales se denotan mediante $latex Ad(a)$ con $latex a in G$ y forman un subgrupo de Lie: el grupo adjunto $latex Ad(G) subset Aut(mathfrak{g})$.

Si $latex varphi_*$ es la diferencial del homomorfismo $latex varphi$, dado un campo vectorial $latex u(a)$ invariante por la izquierda en $latex G$ entonces $latex varphi_* u$ es un campo vectorial invariante por la izquierda de $latex G’$, por lo que todo homomorfismo de grupos de Lie genera un homomorfismo de sus álgebras de Lie ya que:

$latex varphi_*[u,v] = [varphi_* u, varphi_* v]$.

Construimos la aplicación:

$latex Phi: Aut(G) longrightarrow Aut(mathfrak{g}) ,/, varphi mapsto varphi_*$

que pone en correspondencia cada automorfismo $latex varphi$ con su diferencial $latex varphi_*$, que es una representación lineal del grupo $latex Aug(G)$ en el álgebra de Lie $latex mathfrak{g}$. Si consideramos la diferencial de su restricción a los automorfismos internos, obtenemos:

$latex Ad: G longrightarrow Aut(mathfrak{g}) ,/, a mapsto Ad(a) = Int_*(a)$,

que es la representación adjunta del grupo $latex G$ en el álgebra $latex mathfrak{g}$ y que, como todos los automorfismos del álgebra, conserva el conmutador:

$latex Ad(a)[u,v] = [Ad(a)u, Ad(a) v]$.

Aplicación exponencial de GL(n,K)

Dado el campo vectorial invariante por la izquierda

$latex u(a) = (L_a)_* u$ del grupo de Lie $latex G$,

llamamos trayectorias del campo a la soluciones de la ODE:

$latex frac{d}{dt}a = u(a)$,

y que, fijada una condición inicial $latex a(0) = a$, la trayectoria queda unívocamente determinada en forma de serie exponencial:

$latex a(t) = exp (tu) a$ con $latex exp(tu) = I + tu + frac{t^2}{2}u^2 + ldots$,

donde $latex u^r(a) = u(a) circ u^{r-1}(a)$.

Las trayectorias:

  1. son analíticas  y esta definidas para todo valor de $latex t$ por el carácter anaítico y completo de los campos invariantes.
  2. que pasan por la unidad del grupo de Lie, $latex a(0) = e$, son grupos uniparamétricos de G, ya que cumplen la propiedad $latex a(s+t)=a(s)a(t)$. En este caso:

$latex exp: mathfrak{g} longrightarrow G , / , u mapsto exp u = a(1)$.

En el caso de $latex GL(n,mathbb{K})$, hemos visto que los campos invariantes a la izquierda tienen la forma:

$latex U(A) = AU$ con $latex A in GL(n,mathbb{K})$ y $latex U in M(n,mathbb{K})$.

El subgrupo uniparamétrico $latex A(t)$ es la solución a:

$latex frac{d}{dt}A = AU$ con $latex A(0)=I$,

y que es:

$latex A(t) = exp(tU) = Sigma_{s=0}^{infty}frac{t^s}{s!}U^s$.

De esta manera, tenemos:

$latex exp: mathfrak{g}(n,mathbb{K}) longrightarrow GL(n,mathbb{K}) , / , A = e^U$,

es decir, la exponencial matricial habitual.

Algebra de Lie de GL(n,K)

En el caso de $latex GL(n,mathbb{K})$, un desplazamiento a la izquierda tiene la forma:

$latex L_A X = AX$

donde $latex AX$ es el producto de matrices y cuya diferenciación, que es lo que nos interesa, es:

$latex (L_A)_* U = AU$ con $latex U in M(n,mathbb{K})$.

De esta manera, todo campo vectorial invariante por la izquierda en $latex GL(n,mathbb{K})$ tiene la forma $latex U(A)= AU$. Si tomamos como $latex U$ los elementos $latex e_alpha^beta$ (las matrices con todos los elementos nulos excepto en la fila $latex alpha$-ésima y la columna $latex beta$-ésima que contiene a la unidad), obtenemos una base de estos campos:

$latex e_alpha^beta (A) = A e_alpha^beta$

que son las matrices de orden $latex n$ donde los elementos no nulos forman la columna $latex beta$-ésima.

Sean $latex U(A)=AU$ y $latex V(A)=AV$ un par de campos invariantes por la izquierda. Teniendo en cuenta que:

$latex frac{partial}{partial a_mu^nu}a_alpha^beta = delta_mu^alpha delta_beta^nu$

obtenemos:

$latex [U(A),V(A)] = A(UV-VU)$.

Tomando $latex A=I$, obtenemos un álgebra de Lie que podemos identificarla con el espacio tangente a la unidad del grupo $latex GL(n,mathbb{K})$ que coincide con el espacio $latex M(n,mathbb{K})$ de todas las matrices de orden $latex n$ con conmutador:

$latex [U,V] = UV-VU$,

y que denotaremos mediante $latex mathfrak{gl}(n,mathbb{K})$.

Álgebra de Lie de un grupo de Lie

Las álgebras de Lie aparecen al estudiar los grupos de Lie compactos, aunque adquieren entidad propia dada su importancia en el estudio de los grupos y sus representaciones.

Se utilizan, entre otras cosas, para el análisis de esquemas de ruptura de la simetría gauge, al estudiar el modelo quark de los hadrones, en la reducción dimensional de teorías multidimensionales,…

Dado un grupo de Lie $latex G$ podemos asociarle un álgebra de Lie $latex mathfrak{g}$. En este post vamos a ver como.

Sea $latex v(x)$ un campo vectorial en el grupo de Lie $latex G$. Diremos que el campo $latex v(x)$ es invariante por la izquierda si lo es respecto a los desplazamientos a la izquierda:

$latex (L_a)_* v(x) = v(ax)$ con $latex a in G$.

Antes de seguir, clarifiquemos el significado de la expresión anterior. Para empezar, si $latex a in G$ es un elemento del grupo, $latex L_a x = ax$ representan las traslaciones a la izquierda de valor $latex a$. Como $latex v(x)$ es un campo vectorial, lo que tenemos es una aplicación:

$latex v: G longrightarrow TG$,

donde $latex TG$ es la variedad tangente a $latex G$. Finalmente, para la aplicación:

$latex L_a: G longrightarrow G$

de las traslaciones a izquierda, podemos construir su aplicación diferencial:

$latex (L_a)_*: TG longrightarrow TG$.

De esta manera, todo tiene sentido: como $latex x in G$ entonces $latex v(x) in TG$ y podemos aplicarle $latex (L_a)_*$ que nos devuelve un elemento de $latex TG$. Por otro lado, $latex ax in G$ y $latex v(ax) in TG$.

Con todo lo visto, dado un grupo de Lie $latex G$, el subconjunto $latex mathfrak{g}$ del conjunto de todos los campos diferenciables $latex chi(G)$ en $latex G$ es un subespacio vectorial. Como:

$latex (L_a)_*[u(x),v(x)] = [(L_a)_* u(x), (L_a)_* v(x)]$,

entonces $latex mathfrak{g}$ es un álgebra de Lie del grupo de Lie $latex G$ con conmutador $latex [u(a), v(a)]$.

Álgebras de Lie

Ya hemos visto que, dado un espacio vectorial, es fácil dotarlo de estructura de variedad diferenciable. Vamos a ver que podemos dotarlo de mas estructura.

Sea $latex mathfrak{g}$ un espacio vectorial. Diremos que $latex mathfrak{g}$ es un álgebra de Lie si tenemos definido un conmutador, o sea, una aplicación bilineal

$latex mathfrak{g} times mathfrak{g} rightarrow mathfrak{g}$

tal que:

  1. $latex [u,v] = -[v,u]$ para todo $latex u, v in mathfrak{g}$,
  2. cumple la identidad de Jacobi: $latex [u,[v,w]] + [w,[u,v]] + [v,[w,u]] = 0$ para todo $latex u, v, w in mathfrak{g}$.

Si además $latex [u,v]=0$ para todo $latex u,v in mathfrak{g}$ entonces tenmos un álgebra de Lie conmutativa.

Un ejemplo muy conocido de álgebra de Lie es el espacio euclideo tridimensional $latex mathbb{E}^3$ donde tomamos como conmutador el producto vectorial. Otro ejemplo que nos interesa, por su relación con los grupos de Lie ya vistos, es el álgebra de Lie lineal general $latex mathfrak{gl}(n,mathbb{K})$ de las matrices de orden $latex n$ sobre $latex mathbb{K}$ con el conmutador:

$latex [A,B] = AB – BA$.

Ya veremos que los grupos de Lie y las álgebra de Lie están estrechamente relacionadas.

Algunas cuestiones mas al respecto:

  • Dadas dos álgebras de Lie $latex mathfrak{g}$ y $latex mathfrak{g’}$ sobre un mismo cuerpo, diremos que son isomorfas si existe un isomorfismo lineal $latex varphi: mathfrak{g} rightarrow mathfrak{g’}$ que conserva el conmutador: $latex varphi([u,v]) = [varphi(u),varphi(v)]$.
  • Si $latex { e_i }$ es una base del álgebra de Lie, podemos escribir los conmutadores $latex [e_j,e_k]$ respecto de esta base: $latex [e_j,e_k] = c_{jk}^i e_i$ que reciben el nombre de ecuaciones estructurales y los coeficientes $latex c_{jk}^i$ el de constantes de estructura.

Los grupos ortogonales y unitarios como grupos de Lie.

En este post empezamos a ver algunos grupos topológicos importantes en física. Lo que vamos a hacer ahora es, sencillamente, dotarlos de estructura de grupo de Lie.

Para empezar, dado que todos los grupos ya son topológicos, lo único que necesitamos es que sean una variedad diferenciable. Esto no es complicado ya que, por una parte, $latex mathbb{K}^n$ es una variedad de dimensión $latex n$ y clase $latex C^infty$ con el atlas $latex mathcal{A}$ formado por la única carta $latex mathcal{A} = { id: mathbb{K}^n rightarrow mathbb{K}^n }$, y por otra, por la propiedad que ahora enunciaremos, todo espacio vectorial es una variedad diferenciable:

Sea $latex (M,mathcal{A})$ una variedad diferenciable de dimensión $latex n$ y clase $latex C^k$. Si $latex mathcal{A} = { Phi_alpha: U_alpha rightarrow mathbb{K}^n }_{alpha in I}$ y $latex f: M rightarrow N$ una aplicación biyectiva, entonces $latex (N,mathcal{A}_f)$ es una variedad diferenciable del mismo tipo, donde:

$latex mathcal{A}_f = { (Phi_alpha circ f^{-1}): f(U_alpha) rightarrow mathbb{K}^n }_{alpha in I}$.

Esta propiedad se cumple, en particular, cuando $latex V$ es un espacio vectorial de dimensión $latex n$ y base $latex { u_1, ldots, u_n}$, dado que existe un único isomorfismo lineal $latex f: mathbb{K}^n rightarrow V$ determinado por $latex f(e_i) = u_i$, donde $latex { e_1, ldots, e_n}$ es la base canónica de $latex mathbb{K}^n$.

En resumen, sea $latex M = End_{mathbb{K}^n}(mathbb{K}^n)$ el conjunto de endomorfismos de $latex mathbb{K}^n$ en $latex mathbb{K}^n$, entonces es una variedad diferenciable por ser un espacio vectorial. Además, el grupo general lineal también lo es por ser un subconjunto abierto de $latex M$. Para los grupos ortogonales y unitarios necesitamos una proposición adional que permite construir grupos de Lie a partir de cocientes.

Grupos de Lie en el modelo estándar de la física de partículas

En el post anterior hemos comentado algunos grupos topológicos, que veremos en posteriores entradas que están dotados de mas estructura (grupos de Lie), que son importantes para la física. Introducimos brevemente aquí el modelo estandar de la física de partículas. Concretamente, estaremos interesados en:

$latex SU(3) times SU(2) times U(1)$,

que hace referencia a las simetrías del lagrangiano correspondiente.

Las partículas tienen masa, espín y carga como características principales.

En el modelo estandar tenemos:

  • $latex 12$ fermiones (o partículas de materia) con espín $latex frac{1}{2}$: los $latex 6$ leptones (electrón $latex e$, muón $latex mu$ y tauón $latex tau$ con sus respectivos neutrinos $latex nu_e$, $latex nu_mu$ y $latex nu_tau$), y los $latex 6$ quarks (up $latex u$ y down $latex d$, charm $latex c$ y strange $latex s$, top $latex t$ y bottom $latex b$).
  • $latex 4$ bosones (o partículas mediadoras de fuerzas) con espín $latex 1$: el fotón $latex gamma$ para la interacción electromagnética, cuyo grupo gauge es $latex U(1)$; los bosones $latex W^+$, $latex W^-$ y $latex Z^0$ para las interacciones nucleares débiles, con grupo $latex SU(2)$; y los $latex 8$ gluones para la interacción nuclear fuerte, con grupo $latex SU(3)$.

La siguiente imagen es un excelente resumen de todo lo escrito:

Standard_Model_of_Elementary_Particles-es

Algunos grupos topológicos importantes en física

Cuando decimos que $latex G$ es un grupo topológico queremos decir que $latex G$, además de cumplir con las condiciones de grupo (operación interna $latex .$ asociativa con neutro e inversos) también es un espacio topológico separable y las funciones $latex f(a,b)=ab$ y $latex g(a)=a^{-1}$ son contínuas (por ejemplo, en el primer caso, para todo entorno $latex W$ de $latex c = ab$ existen entornos $latex U$ y $latex V$ con $latex a in U$ y $latex b in V$ tales que $latex UV subset W$ ).

El conjunto $latex GL(n,mathbb{K})$ de todas las matrices regulares de orden $latex n$ con elementos en $latex mathbb{K}$, un cuerpo de característica $latex 0$, es un grupo respecto a la multiplicación de matrices: el grupo lineal general.

Es sencillo comprobar que la matriz identidad $latex I$ es el elemento neutro y que $latex A^{-1}$ es el inverso de $latex A$.

Como los elementos de $latex A = a^{i}_{j}$ los podemos vectorizar, resulta que $latex GL(n,mathbb{K}) subset mathbb{K}^{n^{2}}$ tal que $latex det A neq 0$. Llamaremos topología natural de $latex G$ a la topología inducida por la topología natural de $latex mathbb{K}^{n^2}$:

$latex U_k = { C in GL(n,mathbb{K}): |c^{i}_{j} – a^{i}_{j} < frac{1}{k}| }$

es una base de entornos del elemento $latex A in GL(n,mathbb{K})$.

Finalmente, las aplicaciones $latex f^{i}_{j}(A,B)=a^{i}_{k} b^{k}_{j}$ y $latex g^{i}_{j} = frac{A^{i}_{j}}{det A}$, donde $latex A^{i}_{j}$ son los adjuntos de los elementos $latex a^{i}_{j}$, son contínuas por ser polinomios.

Tomando bases, para cualquier $latex mathbb{K}$ espacio vectorial $latex mathbb{V}$ de dimension $latex n$, podemos identificar $latex GL(mathbb{V})$ con $latex GL(n,mathbb{K})$.

Los grupos lineales son subgrupos cerrados de $latex GL(n,mathbb{K})$ que se distinguen por dejar invariante una forma bilineal $latex Phi$. El grupo seudoortogonal $latex O(p,q)$, el grupo ortogonal $latex O(n)$ y el grupo ortogonal especial $latex SO(n)$, que aparecen cuando $latex mathbb{K}=mathbb{R}$ y el grupo seudounitario $latex U(p,q)$, el grupo unitario $latex U(n)$ y el grupo unitario especial $latex SU(n)$ que lo hacen cuando $latex mathbb{K} = mathbb{C}$.

Primer post de vacaciones

Hace una semana y pico que estoy de vacaciones y tenía ésto abandonado. Como me he comprado unos cuantos libros (cinco en total y que me voy a leer estos días :D) de editorial URSS sobre Ciencias Físico-Matemáticas, aprovecharé para meter unos cuantos posts sobre cosas interesantes que vaya leyendo. Son libros típicos de paises del este con bastantes ejercicios donde la física y las matemáticas van muy de la mano. Lo dejaremos aquí de momento.

Aproximación del campo gravitatorio creado por un sistema de masas puntuales con Chombo

Para empezar, vamos a calcular numéricamente, y en mecánica clásica,  el campo creado por una partícula con masa en el espacio.

Si colocamos las fronteras de nuestro dominio $latex Omega in mathbb{R}^3$ lo suficientemente lejos, el cálculo del potencial gravitatorio se reduce a resolver la ecuación de Poisson

$latex Delta u(x,y,z) = 4 pi G rho(x,y,z)$ si $latex (x,y,z) in Omega$

con

$latex u(bar{x},bar{y},bar{z}) = 0$ si $latex (bar{x},bar{y},bar{z}) in partial Omega$,

y donde $latex rho(x,y,z)$ es la densidad de masa.

Aunque en estos casos tenemos solución analítica utilizando la función de Green, vamos a calcularla numéricamente utilizando Chombo, y mediante superposición, extenderlo a un sistema de masas puntuales.

Para empezar con la aproximación, utilizaremos gaussianas para simular las funciones $latex delta$ correspondientes a la distribución de masa puntual (mas similares a una $latex delta$ cuanto mas estrechas sean).

A continuación, colocaremos una partícula en el centro de un cubo y utilizaremos un malla adaptativa, definida manualmente (aunque Chombo también capaz de hacerlo automáticamente), que se hará mas fina a medida que se acerque a la misma. Esto permitirá tener resolución y tiempo de cálculo donde realmente se necesita:

masPun1masPun2

Colocamos fronteras Dirichlet homogeneas, y ejecutamos. El resultado es:

masPunSol1

que, al ser tridimensional, cuesta un poco de ver. Básicamente, es un campo con simétria esférica. A continuación cortamos con un plano por el centro del campo

masPunSol2masPunSol2b masPunSol2c

y lo elevamos, pues es campo gravitatorio se puede pensar como una curvatura 🙂

masPunSol3b masPunSol3

Suponemos ahora dos masas puntuales y procedemos de la misma manera. El tamaño de la partícula representa su masa.

2masPunSol1

Como se puede apreciar, hemos añadido un poco mas de resolución en la parte de la partícula mas masiva. Lo que obtenemos es (en 3D y en corte):

Finalmente, si elevamos los cortes, obtenemos:

2masPunSol3 2masPunSol3b

Finalmente, algunas gráficas correspondientes a dos nuevos casos en los que separo cada vez mas las partículas:

Experiencias elípticas con Chombo (II)

En el libro de Análisis numérico de Burden y Faires aparecen una serie de ejemplos y ejercicios resueltos de PDEs elípticas en 2D. Vamos a intentar resolverlos utilizando Chombo…

La primera ecuación corresponde con un ejemplo y es

$latex frac{partial^2}{partial x^2}u(x,y) + frac{partial^2}{partial y^2}u(x,y) = 0$

en

$latex Omega = { (x,y): 0<x<0.5, 0<y<0.5}$

y cuyas condiciones en la frontera $latex partial Omega$ son

$latex u(x,0)=0, u(0,y)=0, u(x,0.5)=200x, u(0.5,y)=200y$.

El resultado es:

ejeM1

Para el ejercicio 12.1.1

$latex u_{xx} + u_{yy} = 4$

en

$latex Omega = { (x,y): 0<x<1, 0<y<2}$

y cuyas condiciones en la frontera $latex partial Omega$ son

$latex u(x,0)=x^2, u(0,y)=y^2, u(x,2)=(x-2)^2, u(1,y)=(y-1)^2$.

El resultado es:

ejeR1

A continuación, para el 12.1.3.a

$latex u_{xx} + u_{yy} = 0$

en

$latex Omega = { (x,y): 0<x<1, 0<y<1}$

y cuyas condiciones en la frontera $latex partial Omega$ son

$latex u(x,0)=0, u(0,y)=0, u(x,1)=x, u(1,y)=y$.

El resultado es:

ejeR3a

En el 12.1.3.b encontramos

$latex Delta u = -(cos(x+y)+cos(x-y))$

en

$latex Omega = { (x,y): 0<x<pi, 0<y<frac{pi}{2}}$

y

$latex u(x,0)=cos x , u(0,y)=cos y, u(x,frac{pi}{2})=0, u(pi,y)=-cos y$,

obteniendo:

 ejeR3b ejeR3b2

Experiencias elípticas con Chombo

El software Chombo, del Berkeley Lab, combina los métodos en diferencias finitas con las mallas adaptativas (AMR) para resolver, entre otras, PDEs elípticas.

Las siguientes imágenes, en 2D y 3D, se han obtenido a partir de su AMRPoisson:

schSolSouschSol

Terry Tao escribiendo sobre… ¡la hipótesis de Riemann!

Sorpresa máxima al abrir hoy el Reader de WordPress: ¡Tao hablando de la hipótesis de Riemann en su blog!. Deja claro al principio del post que simplemente va a poner junto todo lo que se conoce al respecto, sin aportar nada nuevo. ¡Pero es Tao y es la hipótesis de Riemann! ¿Va a quedar sólo en eso? Expectación máxima. ¡Dios nos coja confesados! 😀

El gradiente del kernel

Definimos a los kernels como funciones del tipo:

$latex W_{ab}=W(boldsymbol{r}_a – boldsymbol{r}_b,h)$,

donde $latex a$ es la partícula en la que está centrada la función y $latex b$ es una partícula dentro del soporte compacto de la función kernel, controlado éste último por $latex h$, la smoothing length (longitud de suavizado).

En este post básicamente pretendo aclarar lo que significa $latex nabla_a W_{ab}$ cuando, por ejemplo, tenemos definido el kernel como:

$latex W(q) = alpha_D exp (-q^2)$ con $latex 0 leq q leq 2$.

Para empezar, $latex alpha_D$ es una constante de dimensionalidad, por lo que la fórmula está escrita de manera compacta y sirve para cualquier dimensión. Además, tenemos que $latex q = frac{r}{h}$, siendo $latex r$ la distancia ente las partículas, por lo que:

$latex r = |boldsymbol{r}_a – boldsymbol{r}_b| =^{(3D)} sqrt{(x_a-x_b)^2 + (y_a-y_b)^2 + (z_a-z_b)^2}$.

Si fijamos la posición de la partícula $latex a$, la función que nos da la distancia de esta a cualquier punto dentro del soporte compacto es:

$latex r_a (boldsymbol{r}) = |boldsymbol{r}_a-boldsymbol{r}| =^{(3D)} sqrt{(x_a-x)^2 + (y_a-y)^2 + (z_a-z)^2}$,

siendo $latex q_a$ lo mismo añadiendo el factor $latex h$.

Por lo tanto, en este caso tenemos, en tres dimensiones y donde $latex b$ es una partícula en una posición arbitraria $latex (x,y,z)$:

$latex nabla_a W_{ab}(q) =^{(3D)} (partial_x W_{ab}(q_a), partial_y W_{ab}(q_a), partial_z W_{ab}(q_a)) =$

$latex = alpha_D exp(-q^2) (-2q) (partial_x (q_a), partial_y (q_a), partial_z (q_a)) = alpha_D exp(-q^2) (-2q) nabla_a q_a$

donde:

$latex nabla_a q_a = frac{-1}{h r_a} (x_a-x,y_a-y,z_a-z)$.

De la misma manera, si tenemos:

$latex W(q) = alpha_D begin{cases} 1-frac{3}{2} q^2 + frac{3}{4} q^3, 0 leq q < 1\ frac{1}{4} (2-q)^3, 1 leq q < 2 \ 0, q geq 2 end{cases}$

entonces:

$latex nabla_a W_{ab}(q) = alpha_D begin{cases} (-3q + frac{9}{4}q^2) nabla_a q_a, 0 leq q < 1 \ -frac{3}{4} (2-q)^2 nabla_a q_a, 1 leq q < 2 \ 0, q geq 2 end{cases}$

Así pues:

$latex nabla W(q) = frac{d}{dq} W(q) nabla q$.

 

Condiciones de contorno: desarrollo multipolar vs compactificación

A la hora de resolver las diferentes ecuaciones elípticas CFC tenemos dos posibilidades para fijar las condiciones en la frontera, cada una con sus mas y sus menos.

La primera consiste en hacer un desarrollo multipolar de los terminos fuente en armónicos esféricos, de manera que cuantos mas términos consideremos mas cerca podremos colocar la frontera.

La segunda consiste en compactificar el dominio, lo que nos permite reducir todo el universo a un cubo unidad y considerar Minkowski en su frontera, puesto que ésta corresponde a infinito.

Desacoplamiento de los sistemas para las X^i y beta^i de la discretización en cartesianas de la reformulación covariante del sector elíptico de la aproximación CFC en términos de CoCoNuT

En la discretización que hicimos teníamos dos sistemas acoplados, uno para las $latex X^i$ y otro para las $latex beta^i$. Procedemos ahora a desacoplarlos.

Para empezar, tomamos la divergencia (plana) del sistema:

$latex Delta X^i = 8 pi f^{ij} S^*_j – frac{1}{3}mathcal{D}^i mathcal{D}_j X^j$

y, teniendo en cuenta que $latex mathcal{D}$ conmuta con $latex Delta$ (métrica plana), tenemos:

$latex Delta (mathcal{D}_i X^i) = 8 pi mathcal{D}^j S^*_j – frac{1}{3} Delta (mathcal{D}_j X^j)$,

por lo que:

$latex Delta (mathcal{D}_i X^i) = frac{3}{4} 8 pi mathcal{D}^j S^*_j$.

De esta manera, si definimos $latex Theta_X := mathcal{D}_i X^i$, nos queda:

$latex Delta Theta_X = frac{3}{4} 8 pi mathcal{D}^j S^*_j = 6 pi (partial_x S^*_x + partial_y S^*_y +partial_z S^*_z )$,

que discretizado queda:

$latex frac{(Theta_X)_{i-1,j,k}-2(Theta_X)_{i,j,k}+(Theta_X)_{i+1,j,k}}{h_x^2} + $

$latex frac{(Theta_X)_{i,j-1,k}-2(Theta_X)_{i,j,k}+(Theta_X)_{i,j+1,k}}{h_y^2} + $

$latex frac{(Theta_X)_{i,j,k-1}-2(Theta_X)_{i,j,k}+(Theta_X)_{i,j,k+1}}{h_z^2} = $

$latex = 6 pi (partial_x S^*_x + partial_y S^*_y +partial_z S^*_z )_{i,j,k} $,

donde inicialmente:

$latex (S^*_a)_{i,j,k} = (psi^6)_{i,j,k}rho_{i,j,k}h_{i,j,k}w^2_{i,j,k}(v_a)_{i,j,k}$,

$latex (partial_x S^*_x + partial_y S^*_y +partial_z S^*_z )_{i,j,k} = $

$latex frac{(S^*_x)_{i+1,j,k}-(S^*_x)_{i-1,j,k}}{2h_x} + frac{(S^*_x)_{i,j+1,k}-(S^*_x)_{i,j-1,k}}{2h_y} + frac{(S^*_x)_{i,j,k+1}-(S^*_x)_{i,j,k-1}}{2h_z}$

y que es lineal.

El primer sistema acoplado de ecuaciones quedaría ahora:

$latex partial_{xx} X^x + partial_{yy} X^x + partial_{zz} X^x = 8 pi S^*_x – frac{1}{3} partial_x Theta_X approx $

$latex approx frac{X^x_{i-1,j,k}-2X^x_{i,j,k}+X^x_{i+1,j,k}}{h_x^2} + frac{X^x_{i,j-1,k}-2X^x_{i,j,k}+X^x_{i,j+1,k}}{h_y^2} + frac{X^x_{i,j,k-1}-2X^x_{i,j,k}+X^x_{i,j,k+1}}{h_z^2} = $

$latex = 8 pi (S^*_x)_{i,j,k} – frac{1}{3} (partial_x Theta_X)_{i,j,k}$,

¡que vuelve a ser lineal!

Continuamos con:

$latex partial_{xx} X^y + partial_{yy} X^y + partial_{zz} X^y = 8 pi S^*_y – frac{1}{3} partial_y Theta_X approx $

$latex approx frac{X^y_{i-1,j,k}-2X^y_{i,j,k}+X^y_{i+1,j,k}}{h_x^2} + frac{X^y_{i,j-1,k}-2X^y_{i,j,k}+X^y_{i,j+1,k}}{h_y^2} + frac{X^y_{i,j,k-1}-2X^y_{i,j,k}+X^y_{i,j,k+1}}{h_z^2} = $

$latex = 8 pi (S^*_y)_{i,j,k} – frac{1}{3} (partial_y Theta_X)_{i,j,k}$

y, finalmente:

$latex partial_{xx} X^z + partial_{yy} X^z + partial_{zz} X^z = 8 pi S^*_z – frac{1}{3} partial_z Theta_X approx $

$latex approx frac{X^z_{i-1,j,k}-2X^z_{i,j,k}+X^z_{i+1,j,k}}{h_x^2} + frac{X^z_{i,j-1,k}-2X^z_{i,j,k}+X^z_{i,j+1,k}}{h_y^2} + frac{X^z_{i,j,k-1}-2X^z_{i,j,k}+X^z_{i,j,k+1}}{h_z^2} = $

$latex = 8 pi (S^*_z)_{i,j,k} – frac{1}{3} (partial_z Theta_X)_{i,j,k}$,

donde calculamos al principio:

$latex (partial_x Theta_X)_{i,j,k} = frac{(Theta_X)_{i+1,j,k}-(Theta_X)_{i-1,j,k}}{2h_x}$

$latex (partial_y Theta_X)_{i,j,k} = frac{(Theta_X)_{i,j+1,k}-(Theta_X)_{i,j-1,k}}{2h_y}$

$latex (partial_z Theta_X)_{i,j,k} = frac{(Theta_X)_{i,j,k+1} – (Theta_X)_{i,j,k-1}}{2h_z}$

A continuación, discretizamos las siguientes ecuaciones:

$latex hat{A}^{xx} = 2 partial_x X^x – frac{2}{3} (partial_x X^x + partial_y X^y + partial_z X^z) approx$

$latex approx frac{2}{3}frac{X^x_{i+1,j,k}-X^x_{i-1,j,k}}{h_x} -frac{1}{3} frac{X^y_{i,j+1,k}-X^y_{i,j-1,k}}{h_y} – frac{1}{3} frac{X^z_{i,j,k+1}-X^z_{i,j,k-1}}{h_z}) = hat{A}^{xx}_{i,j,k}$,

$latex hat{A}^{xy} = hat{A}^{yx}= partial_x X^y + partial_y X^x approx $

$latex approx frac{X^y_{i+1,j,k}-X^y_{i-1,j,k}}{2h_x} + frac{X^x_{i,j+1,k}-X^x_{i,j-1,k}}{2h_y} = hat{A}^{xy}_{i,j,k} = hat{A}^{yx}_{i,j,k}$,

$latex hat{A}^{xz} = hat{A}^{zx} = partial_x X^z + partial_z X^x approx $

$latex approx frac{X^z_{i+1,j,k}-X^z_{i-1,j,k}}{2h_x} + frac{X^x_{i,j,k+1}-X^x_{i,j,k-1}}{2h_z} = hat{A}^{xz}_{i,j,k} = hat{A}^{zx}_{i,j,k}$,

$latex hat{A}^{yy} = 2 partial_y X^y – frac{2}{3} (partial_x X^x + partial_y X^y + partial_z X^z) approx $

$latex approx -frac{1}{3}frac{X^x_{i+1,j,k}-X^x_{i-1,j,k}}{h_x} +frac{2}{3} frac{X^y_{i,j+1,k}-X^y_{i,j-1,k}}{h_y} – frac{1}{3} frac{X^z_{i,j,k+1}-X^z_{i,j,k-1}}{h_z}) = hat{A}^{yy}_{i,j,k}$,

$latex hat{A}^{yz} = hat{A}^{zy} = partial_y X^z + partial_z X^y approx $

$latex approx frac{X^z_{i,j+1,k}-X^z_{i,j-1,k}}{2h_y} + frac{X^y_{i,j,k+1}-X^y_{i,j,k-1}}{2h_z} = hat{A}^{yz}_{i,j,k} = hat{A}^{zy}_{i,j,k}$,

$latex hat{A}^{zz} = 2 partial_z X^z – frac{2}{3} (partial_x X^x + partial_y X^y + partial_z X^z) approx $

$latex approx -frac{1}{3}frac{X^x_{i+1,j,k}-X^x_{i-1,j,k}}{h_x} -frac{1}{3} frac{X^y_{i,j+1,k}-X^y_{i,j-1,k}}{h_y} + frac{2}{3} frac{X^z_{i,j,k+1}-X^z_{i,j,k-1}}{h_z}) = hat{A}^{zz}_{i,j,k}$.

Por tanto, la siguiente ecuación:

$latex Delta psi = -2 pi psi^{-1} E^* – psi^{-7} frac{(hat{A}^{xx})^2+(hat{A}^{yy})^2+(hat{A}^{zz})^2+2(hat{A}^{xy})^2+2(hat{A}^{xz})^2+2(hat{A}^{yz})^2}{8}$

queda:

$latex approx frac{psi_{i-1,j,k}-2psi_{i,j,k}+psi_{i+1,j,k}}{h_x^2} + frac{psi_{i,j-1,k}-2psi_{i,j,k}+psi_{i,j+1,k}}{h_y^2} + frac{psi_{i,j,k-1}-2psi_{i,j,k}+psi_{i,j,k+1}}{h_z^2} = $

$latex =-2 pi psi^{-1}_{i,j,k} E^*_{i,j,k} – $

$latex – frac{psi^{-7}_{i,j,k}}{8} ( (hat{A}^{xx}_{i,j,k})^2+(hat{A}^{yy}_{i,j,k})^2+(hat{A}^{zz}_{i,j,k})^2+2(hat{A}^{xy}_{i,j,k})^2+2(hat{A}^{xz}_{i,j,k})^2+2(hat{A}^{yz}_{i,j,k})^2 ) $,

con:

$latex partial_{psi_{i,j,k}} F(psi_{i,j,k}) = -2 ( frac{1}{h_x^2} + frac{1}{h_y^2} + frac{1}{h_z^2} ) -2 pi psi_{i,j,k}^{-2} E^*_{i,j,k} – $

$latex – frac{7}{8} psi^{-8}_{i,j,k} ( (hat{A}^{xx}_{i,j,k})^2+(hat{A}^{yy}_{i,j,k})^2+(hat{A}^{zz}_{i,j,k})^2+2(hat{A}^{xy}_{i,j,k})^2+2(hat{A}^{xz}_{i,j,k})^2+2(hat{A}^{yz}_{i,j,k})^2 )$,

donde:

$latex E^*_{i,j,k} = psi^{6}_{i,j,k} (D_{i,j,k}+tau_{i,j,k})$

y la ecuación:

$latex Delta (alphapsi) = (alpha psi) (2 pi psi^{-2} (E^*+2S^*) + $

$latex + frac{7}{8} psi^{-8} ((hat{A}^{xx})^2+(hat{A}^{yy})^2+(hat{A}^{zz})^2+2(hat{A}^{xy})^2+2(hat{A}^{xz})^2+2(hat{A}^{yz})^2) )$

como:

$latex approx frac{(alphapsi)_{i-1,j,k} – 2(alphapsi)_{i,j,k}+(alphapsi)_{i+1,j,k}}{h_x^2} + $

$latex + frac{(alphapsi)_{i,j-1,k}-2(alphapsi)_{i,j,k}+(alphapsi)_{i,j+1,k}}{h_y^2} + $

$latex + frac{(alphapsi)_{i,j,k-1}-2(alphapsi)_{i,j,k}+(alphapsi)_{i,j,k+1}}{h_z^2} = $

$latex = (alpha psi)_{i,j,k} (2 pi psi^{-2}_{i,j,k} (E^*_{i,j,k}+2S^*_{i,j,k}) + $

$latex + frac{7}{8} psi^{-8}_{i,j,k} ((hat{A}^{xx}_{i,j,k})^2+(hat{A}^{yy}_{i,j,k})^2+(hat{A}^{zz}_{i,j,k})^2+2(hat{A}^{xy}_{i,j,k})^2+2(hat{A}^{xz}_{i,j,k})^2+2(hat{A}^{yz}_{i,j,k})^2) )$,

donde:

$latex partial_{(alpha psi)_{i,j,k}} F((alpha psi)_{i,j,k}) = -2 ( frac{1}{h_x^2} + frac{1}{h_y^2} + frac{1}{h_z^2} ) – 2 pi psi^{-2}_{i,j,k} (E^*_{i,j,k}+2S^*_{i,j,k}) + $

$latex – frac{7}{8} psi^{-8}_{i,j,k} ((hat{A}^{xx}_{i,j,k})^2+(hat{A}^{yy}_{i,j,k})^2+(hat{A}^{zz}_{i,j,k})^2+2(hat{A}^{xy}_{i,j,k})^2+2(hat{A}^{xz}_{i,j,k})^2+2(hat{A}^{yz}_{i,j,k})^2) )$

con:

$latex S^*_{i,j,k} = psi^6_{i,j,k}(rho_{i,j,k}h_{i,j,k}(w^2_{i,j,k}-1) + 3 p_{i,j,k})$.

Finalmente, tenemos el otro sistema acoplado:

$latex Delta beta^i = mathcal{D}_j(2 alpha psi^{-6} hat{A}^{ij}) – frac{1}{3} mathcal{D}^i(mathcal{D}_j beta^j)$,

con el que procedemos de igual manera que con las $latex X^i$:

$latex Delta(mathcal{D}_i beta^i) = mathcal{D}_i (mathcal{D}_j (2 alpha psi^{-6} hat{A}^{ij})) – frac{1}{3} Delta (mathcal{D}_i beta^i)$,

de manera que:

$latex Delta Theta_beta = frac{3}{4} mathcal{D}^i (mathcal{D}_j (2 alpha psi^{-6} hat{A}^{ij})) =$

$latex frac{3}{2}(partial_{xx}(alpha psi^{-6} hat{A}^{xx}) + partial_{yy}(alpha psi^{-6} hat{A}^{yy}) + partial_{zz}(alpha psi^{-6} hat{A}^{zz})$,

con:

$latex Theta_beta := mathcal{D}_i beta^i$,

que discretizada queda:

$latex frac{(Theta_beta)_{i-1,j,k}-2(Theta_beta)_{i,j,k}+(Theta_beta)_{i+1,j,k}}{h_x^2} + $

$latex frac{(Theta_beta)_{i,j-1,k}-2(Theta_beta)_{i,j,k}+(Theta_beta)_{i,j+1,k}}{h_y^2} + $

$latex frac{(Theta_beta)_{i,j,k-1}-2(Theta_beta)_{i,j,k}+(Theta_beta)_{i,j,k+1}}{h_z^2} = $

$latex frac{3}{2}((partial_{xx}(alpha psi^{-6} hat{A}^{xx}))_{i,j,k} + (partial_{yy}(alpha psi^{-6} hat{A}^{yy}))_{i,j,k} + (partial_{zz}(alpha psi^{-6} hat{A}^{zz})_{i,j,k})$,

De esta manera, tenemos:

$latex Delta beta^x = partial_x (2 alpha psi^{-6} hat{A}^{xx}) + partial_y (2 alpha psi^{-6} hat{A}^{xy}) + partial_z (2 alpha psi^{-6} hat{A}^{xz}) – frac{1}{2} partial_x Theta_beta approx $

$latex approx frac{beta^x_{i-1,j,k}-2beta^x_{i,j,k}+beta^x_{i+1,j,k}}{h_x^2} + frac{beta^x_{i,j-1,k}-2beta^x_{i,j,k}+beta^x_{i,j+1,k}}{h_y^2} + frac{beta^x_{i,j,k-1}-2beta^x_{i,j,k}+beta^x_{i,j,k+1}}{h_z^2} = $

$latex = (partial_x (2 alpha psi^{-6} hat{A}^{xx}))_{i,j,k} + (partial_y (2 alpha psi^{-6} hat{A}^{xy}))_{i,j,k} + (partial_z (2 alpha psi^{-6} hat{A}^{xz}) )_{i,j,k} – $

$latex – frac{1}{3} (partial_x Theta_beta)_{i,j,k}$.

De la misma manera:

$latex Delta beta^y = partial_x (2 alpha psi^{-6} hat{A}^{yx}) + partial_y (2 alpha psi^{-6} hat{A}^{yy}) + partial_z (2 alpha psi^{-6} hat{A}^{yz}) – frac{1}{3} partial_y Theta_beta approx $

$latex approx frac{beta^y_{i-1,j,k}-2beta^y_{i,j,k}+beta^y_{i+1,j,k}}{h_x^2} + frac{beta^y_{i,j-1,k}-2beta^y_{i,j,k}+beta^y_{i,j+1,k}}{h_y^2} + frac{beta^y_{i,j,k-1}-2beta^y_{i,j,k}+beta^y_{i,j,k+1}}{h_z^2} = $

$latex = (partial_x (2 alpha psi^{-6} hat{A}^{yx}))_{i,j,k} + (partial_y (2 alpha psi^{-6} hat{A}^{yy}))_{i,j,k} + (partial_z (2 alpha psi^{-6} hat{A}^{yz}) )_{i,j,k} – $

$latex – frac{1}{3} (partial_y Theta_beta)_{i,j,k}$.

Y, por último:

$latex Delta beta^z = partial_x (2 alpha psi^{-6} hat{A}^{zx}) + partial_y (2 alpha psi^{-6} hat{A}^{zy}) + partial_z (2 alpha psi^{-6} hat{A}^{zz}) – frac{1}{3} partial_z Theta_beta approx $

$latex approx frac{beta^z_{i-1,j,k}-2beta^z_{i,j,k}+beta^z_{i+1,j,k}}{h_x^2} + frac{beta^z_{i,j-1,k}-2beta^z_{i,j,k}+beta^z_{i,j+1,k}}{h_y^2} + frac{beta^z_{i,j,k-1}-2beta^z_{i,j,k}+beta^z_{i,j,k+1}}{h_z^2} = $

$latex = (partial_x (2 alpha psi^{-6} hat{A}^{zx}))_{i,j,k} + (partial_y (2 alpha psi^{-6} hat{A}^{zy}))_{i,j,k} + (partial_z (2 alpha psi^{-6} hat{A}^{zz}) )_{i,j,k} – $

$latex – frac{1}{3} (partial_z Theta_beta)_{i,j,k}$.

Parece que, del sistema no lineal acoplado inicial, hemos llegado a un sistema de diez ecuaciones desacopladas donde ocho de ellas son lineales y solo dos son no linales. No pinta mal. Ya escribiremos próximamente sobre las condiciones de contorno…

Los autómatas celulares de John von Neumann

Hace un tiempo estuve trabajando con autómatas celulares y tengo ganas de compartir algunas cosas interesantes de estos, aunque ahora ando un poco escaso de tiempo…

Para empezar a abrir boca, un enlace al artículo original de John von Neumann «Theory of Self-Reproducing Automata» y otros dos a la wikipedia: la definición de lo que son y el ya clásico juego de la vida.

Al resolver mediante diferencias finitas PDEs lo que estamos haciendo, de alguna manera, es poner en marcha un pseudoautómata celular que lo hace. Me interesa explorar sus generalizaciones: del estado, de la función de transición (como podemos encontrarlas, por ejemplo a partir de algoritmos genéticos), de la vecindad (trabajar con vecinos no contíguos),…

Por cierto, el record del Bounded gaps between primes podría estar ya en $latex 6966$, por lo que hemos rebajado el problema en $latex 4$ ordenes de magnitud (Iniciamos el viaje en $latex 70,000,000$ y habría que llegar a $latex 2$ para demostrar la conjetura de los números primos gemelos). Ya queda menos :-).

Tratando con el infinito: geometría proyectiva y coordenadas homogéneas

«En el plano proyectivo, por ejemplo, todo par de rectas se cruzan en un punto».

Esta afirmación resume la esencia de los espacios proyectivos. Se trata de completar los espacios afines con elementos especiales que nos permitirán tratar con el infinito de igual manera que tratamos el resto de elementos del espacio. De esta manera, en el caso del plano proyectivo, incluimos los puntos de infinito de manera que todo para de rectas paralelas, que en el espacio afín no se cortan, en el proyectivo lo hacen en uno de estos punto de infinito añadido. La gracia está en que, a la hora de trabajar con elementos ordinarios y con elementos de infinito, lo haremos de la misma manera, sin necesidad de conocer su tipo concreto.

Matemáticamente, el espacio proyectivo real se define simplemente como:

$latex mathbb{P}(mathbb{R})^n:=frac{mathbb{R}^{n+1}- {0}}{sim}$ donde $latex (x_0,ldots, x_n) sim (alpha x_0,ldots, alpha x_n)$ con $latex alpha in mathbb{R} – {0}$,

que, del punto de vista intuitivo, no son mas que las rectas que pasan por el origen (es decir, como todos los puntos de una recta que pasa por el origen son equivalentes entre si por la relación de equivalencia que acabamos de definir, tomamos uno como representante y este será un punto del espacio proyectivo).

Introducimos ahora las coordenadas homogéneas (ampliamente utilizadas en robótica y visión por ordenador). Supongamos que tenemos un punto $latex (x,y)$ del plano afín $latex mathbb{R}^2$. Para representar el mismo punto del plano proyectivo real $latex mathbb{P}^2(mathbb{R})$ simplemente añadimos una tercera coordenada al final:

$latex (x:y:1) sim (alpha x : alpha y: alpha) sim (X,Y,W) = [X,Y,W]^T$

(estamos embebiendo el punto en $latex mathbb{R}^3$ y quedandonos como representante de la recta que pasa por el punto y el origen con aquel que tiene la tercera componente igual a $latex 1$).

Una recta en el espacio afín es:

$latex ax+by+c=0$,

que, al homogeneizar, queda:

$latex aX + bY + cW = 0$ que es $latex u^Tp = p^Tu =0$

con $latex u=[a,b,c]^T$ la línea y $latex p=[X,Y,W]^T$ el punto, por lo que los puntos y las lineas se representan de la misma manera en el prlano proyectivo (serán elementos duales).

Para transformar puntos del espacio proyectivo $latex (X,Y,W)$ al espacio afín únicamente tenemos que dividir por la tercera componente:

$latex (x,y):=(X/W,Y/W)$.

Es fácil ver ahora que tendremos puntos con $latex W=0$. A estos puntos los llamaremos puntos de infinito. Por ejemplo, en el plano proyectivo tendremos un punto de infinito para cada dirección, siendo por ejemplo $latex (1:0:0)$ y $latex (0:1:0)$ los puntos de infinito correspondientes a las direcciones horizontal y vertical respectivamente. La gracia de todo esto es que los puntos de infinito se tratan como cualquier otro punto del espacio proyectivo, es decir, en el espacio proyectivo operamos de la misma manera tanto con puntos ordinarios como con puntos de infinito.

Si todos los puntos de una recta son de infinito, entonces tenemos una recta de infinito. Y, en general, cualquier variedad con todos sus puntos de infinito, sera una variedad de infinito. Y otra vez, la idea fundamental es que cualquier variedad de infinito se tratara como cualquier otra variedad ordinaria. En el plano proyectivo, la recta de infinito se representa mediante $latex (0,0,1)$.

Para empezar, veamos que en el plano proyectivo todo par de rectas se cruzan en un punto (si son paralelas, este punto será un punto de infinito). Sean las rectas $latex u_1 = (a_1,b_1,c_1)$ y $latex u_2=(a_2,b_2,c_2)$. El punto de intersección $latex p = u_1 times u_2 = (b_1c_2-b_2c_1,a_2c_1-a_1c_2,a_1b_2-a_2b_1)$ que, en el caso de ser paralelas, nos quedará $latex p = (b_1c_2-b_2c_1,a_2c_1-a_1c_2,0)$ que, efectivamente, es un punto de infinito.

Por el principio de dualidad que hemos visto, la ecuación de la recta que pasa por dos puntos $latex p_1$ y $latex p_2$ es $latex u = p_1 times p_2$.

Se empieza a vislumbrar la potencia de este enfoque. Veamos ahora un ejemplo un poco mas complicado.

Consideremos la intersección de la hipérbola $latex xy = 1$ con la recta $latex y=1$. En coordenadas homogeneas tenemos $latex XY=W^2$ para la hipérbola, ya que $latex X = Wx$ y $latex Y = Wy$,  y $latex Y = W$ para la recta. La solución es $latex (W,W,W)$ que es $latex (1,1)$, tal como esperabamos. Pero supongamos ahora que la intersección es con $latex y=0$, es decir, que no hay intersección en el espacio afín. El resultado en coordenadas homogeneas es $latex (X,0,0)$, que es el punto de infinito asociado a la dirección horizontal, por lo que si tenemos intersección en el espacio proyectivo.

Sorprendente, ¿no?

Tres supertierras en la zona habitable de una estrella cercana

Fantástica noticia desde el ESO (Observatorio Austral Europeo): tres supertierras (planetas con masas superiores a la Tierra pero inferiores a Urano o Neptuno) en la zona habitable (con posibilidad de albergar agua líquida) de una estrella cercana (a una distancia de 22 años luz).

Enlazamos el comunicado científico del observatorio y el artículo científico «A dynamically-packed planetary system around GJ 667C with three super-Earths in its habitable zone» en la revista Astronomy & Astrophysics.

Cuestiones interesantes: el sistema estelar Gliese 667 es triple y es el primer caso de zona habitable totalmente equipada (no existen mas órbitas estables dentro de la zona donde pudiera existir un planeta).

A continuación una representación artística realizada por el propio observatorio del sistema Gliese 667 (C en primer plano y tanto A como B mas distantes) y la reciente descubierta supertierra Gliese 667Ce (creciente a la izquierda de Gliese 667C) todo visto desde la superficie del exoplaneta Gliese 667Cd:

eso1328a

En el enlace al comunicado científico también encontraremos algunos videos.

El avance de la ciencia hoy en día y como contribuir eficazmente.

En este post ya comenté, por una parte, la aportación de Zhang a la conjetura de los números primos gemelos, y por otra, todo el revuelo que había generado en polymath con el mismísimo Tao a la cabeza.

Para volvernos a situar, en esta entrada del blog gaussianos explica de manera sencilla la relación entre el trabajo de Zhang y la conjetura de los primos gemelos. Un resumen podría ser:

  • La conjetura dice que existen infinitas parejas de números primos $latex p,q$ tales que $latex p+2=q$.
  • Podemos reescribir la conjetura de la siguiente manera: existen infinitas parejas de número primos $latex p,q$ tales que $latex |p-q|<3$.
  • Esto permite generalizar la conjetura de la siguiente manera: existen infinitas parejas de números primos $latex p,q$ tales que $latex |p-q|<N$.
  • Si llamamos a esta generalización $latex mathtt{CNPG(N)}$, lo que demostró Zhang es $latex mathtt{CNPG(70000000)}$, es decir, que existen infinitas parejas de primos $latex p,q$ tales que $latex |p-q|<70000000$.
  • Zhang ya sabía que $latex 70000000$ no era la mejor cota que se podía alcanzar con su método.

Efectivamente, a día de hoy, gracias a la colaboración masiva de prestigiosos matemáticos, y en poco mas de un mes, tenemos comprobado $latex mathtt{CNPG(12006)}$, y con algo de suerte $latex mathtt{CNPG}(10206)$, una cota que Zhang nunca habría alcanzado si hubiera seguido unos meses mas trabajando solo.

En este útimo post de francisthemulenews saca conclusiones muy interesantes, basandose en el caso que acabamos de exponer, sobre el avance de la ciencia hoy en día:

  • «En la ciencia actual el prestigio está asociado al impacto y éste al número de citas recibidas».
  • «Hacer algo importante sin molestarse en afinar los detalles es mucho mejor, pues los revisores no pondrán inconvenientes y el trabajo recibirá gran número de citas de quienes refinen los detalles».
  • «La demora cercena el éxito de los demasiado egoístas que ignoran como funciona la ciencia actual».
  • «En ciencia, siempre se citará al padre de la idea».
  • «[…] muchos […] creen que han descubierto algo “grande” y creen que si lo publican algún “listo” se lo robará. Así no funciona la ciencia y lo que se publica por la vía estándar queda para siempre. Los que ocultan sus supuestos descubrimientos no hacen ciencia, hacen paraciencia. Y la paraciencia siempre queda en el olvido».

Tengámoslo en cuenta 😉

Discretización de la reformulación covariante del sector elíptico de la aproximación CFC en términos de CoCoNuT

Vamos a discretizar las ecuaciones que comentamos en este post. Para ello, discretizaremos las derivadas de la siguiente manera:

$latex partial_x u = frac{u_{i+1,j,k}-u_{i-1,j,k}}{2h_x}$,

$latex partial_y u = frac{u_{i,j+1,k}-u_{i,j-1,k}}{2h_y}$,

$latex partial_z u = frac{u_{i,j,k+1}-u_{i,j,k-1}}{2h_z}$,

$latex partial_{xx} u = frac{u_{i-1,j,k}-2u_{i,j,k}+u_{i+1,j,k}}{h_x^2}$,

$latex partial_{yy} u = frac{u_{i,j-1,k}-2u_{i,j,k}+u_{i,j+1,k}}{h_y^2}$,

$latex partial_{zz} u = frac{u_{i,j,k-1}-2u_{i,j,k}+u_{i,j,k+1}}{h_z^2}$,

$latex partial_{xy} u = frac{u_{i-1,j-1,k}-u_{i+1,j-1,k}-u_{i-1,j+1,k}+u_{i+1,j+1,k}}{4h_xh_y}$,

$latex partial_{xz} u = frac{u_{i-1,j,k-1}-u_{i+1,j,k-1}-u_{i-1,j,k+1}+u_{i+1,j,k+1}}{4h_xh_z}$,

$latex partial_{yz} u = frac{u_{i,j-1,k-1}-u_{i,j+1,k-1}-u_{i,j-1,k+1}+u_{i,j+1,k+1}}{4h_yh_z}$.

El primer grupo de ecuaciones quedaría:

$latex partial_{xx} X^x + partial_{yy} X^x + partial_{zz} X^x = 8 pi psi^6 rho h w^2 v_x – frac{1}{3} partial_x (partial_x X^x + partial_y X^y + partial_z X^z) approx $

$latex approx frac{X^x_{i-1,j,k}-2X^x_{i,j,k}+X^x_{i+1,j,k}}{h_x^2} + frac{X^x_{i,j-1,k}-2X^x_{i,j,k}+X^x_{i,j+1,k}}{h_y^2} + frac{X^x_{i,j,k-1}-2X^x_{i,j,k}+X^x_{i,j,k+1}}{h_z^2} = $

$latex = 8 pi psi^6_{i,j,k} rho_{i,j,k} h_{i,j,k} w^2_{i,j,k} v_{x_{i,j,k}} – frac{1}{3} ( frac{X^x_{i-1,j,k}-2X^x_{i,j,k}+X^x_{i+1,j,k}}{h_x^2} +$

$latex + frac{X^y_{i-1,j-1,k}-X^y_{i+1,j-1,k}-X^y_{i-1,j+1,k}+X^y_{i+1,j+1,k}}{4h_xh_y} +$

$latex + frac{X^z_{i-1,j,k-1}-X^z_{i+1,j,k-1}-X^z_{i-1,j,k+1}+X^z_{i+1,j,k+1}}{4h_xh_z} )$,

y además, para los esquemas de relajación no lineales, reescribimos la igualdad anterior como $latex F(X^x_{i,j,k})=0$ y entonces tenemos:

$latex partial_{X^x_{i,j,k}} F(X^x_{i,j,k}) = -2 ( frac{4}{3}frac{1}{h_x^2} + frac{1}{h_y^2} + frac{1}{h_z^2})$.

$latex partial_{xx} X^y + partial_{yy} X^y + partial_{zz} X^y = 8 pi psi^6 rho h w^2 v_y – frac{1}{3} partial_y (partial_x X^x + partial_y X^y + partial_z X^z) approx $

$latex approx frac{X^y_{i-1,j,k}-2X^y_{i,j,k}+X^y_{i+1,j,k}}{h_x^2} + frac{X^y_{i,j-1,k}-2X^y_{i,j,k}+X^y_{i,j+1,k}}{h_y^2} + frac{X^y_{i,j,k-1}-2X^y_{i,j,k}+X^y_{i,j,k+1}}{h_z^2} = $

$latex = 8 pi psi^6_{i,j,k} rho_{i,j,k} h_{i,j,k} w^2_{i,j,k} v_{y_{i,j,k}} – frac{1}{3} ( frac{X^x_{i-1,j-1,k}-X^x_{i+1,j-1,k}-X^x_{i-1,j+1,k}+X^x_{i+1,j+1,k}}{4h_xh_y} +$

$latex + frac{X^y_{i,j-1,k}-2X^y_{i,j,k}+X^y_{i,j+1,k}}{h_y^2} +$

$latex + frac{X^z_{i-1,j,k-1}-X^z_{i+1,j,k-1}-X^z_{i-1,j,k+1}+X^z_{i+1,j,k+1}}{4h_yh_z} )$,

con:

$latex partial_{X^y_{i,j,k}} F(X^y_{i,j,k}) = -2 ( frac{1}{h_x^2} +frac{4}{3} frac{1}{h_y^2} + frac{1}{h_z^2})$.

$latex partial_{xx} X^z + partial_{yy} X^z + partial_{zz} X^z = 8 pi psi^6 rho h w^2 v_z – frac{1}{3} partial_z (partial_x X^x + partial_y X^y + partial_z X^z) approx $

$latex approx frac{X^z_{i-1,j,k}-2X^z_{i,j,k}+X^z_{i+1,j,k}}{h_x^2} + frac{X^z_{i,j-1,k}-2X^z_{i,j,k}+X^z_{i,j+1,k}}{h_y^2} + frac{X^z_{i,j,k-1}-2X^z_{i,j,k}+X^z_{i,j,k+1}}{h_z^2} = $

$latex = 8 pi psi^6_{i,j,k} rho_{i,j,k} h_{i,j,k} w^2_{i,j,k} v_{z_{i,j,k}} – frac{1}{3} ( frac{X^x_{i-1,j,k-1}-X^x_{i+1,j,k-1}-X^x_{i-1,j,k+1}+X^x_{i+1,j,k+1}}{4h_xh_z} +$

$latex + frac{X^y_{i,j-1,k-1}-X^y_{i,j+1,k-1}-X^y_{i,j-1,k+1}+X^y_{i,j+1,k+1}}{4h_yh_z} )$

$latex + frac{X^z_{i,j,k-1}-2X^z_{i,j,k}+X^z_{i,j,k+1}}{h_z^2}$

con:

$latex partial_{X^z_{i,j,k}} = F(X^z_{i,j,k}) = -2 ( frac{1}{h_x^2} + frac{1}{h_y^2} + frac{4}{3} frac{1}{h_z^2})$.

A continuación, discretizamos las siguientes ecuaciones:

$latex hat{A}^{xx} = 2 partial_x X^x – frac{2}{3} (partial_x X^x + partial_y X^y + partial_z X^z) approx$

$latex approx frac{2}{3}frac{X^x_{i+1,j,k}-X^x_{i-1,j,k}}{h_x} -frac{1}{3} frac{X^y_{i,j+1,k}-X^y_{i,j-1,k}}{h_y} – frac{1}{3} frac{X^z_{i,j,k+1}-X^z_{i,j,k-1}}{h_z}) = hat{A}^{xx}_{i,j,k}$,

$latex hat{A}^{xy} = hat{A}^{yx}= partial_x X^y + partial_y X^x approx $

$latex approx frac{X^y_{i+1,j,k}-X^y_{i-1,j,k}}{2h_x} + frac{X^x_{i,j+1,k}-X^x_{i,j-1,k}}{2h_y} = hat{A}^{xy}_{i,j,k} = hat{A}^{yx}_{i,j,k}$,

$latex hat{A}^{xz} = hat{A}^{zx} = partial_x X^z + partial_z X^x approx $

$latex approx frac{X^z_{i+1,j,k}-X^z_{i-1,j,k}}{2h_x} + frac{X^x_{i,j,k+1}-X^x_{i,j,k-1}}{2h_z} = hat{A}^{xz}_{i,j,k} = hat{A}^{zx}_{i,j,k}$,

$latex hat{A}^{yy} = 2 partial_y X^y – frac{2}{3} (partial_x X^x + partial_y X^y + partial_z X^z) approx $

$latex approx -frac{1}{3}frac{X^x_{i+1,j,k}-X^x_{i-1,j,k}}{h_x} +frac{2}{3} frac{X^y_{i,j+1,k}-X^y_{i,j-1,k}}{h_y} – frac{1}{3} frac{X^z_{i,j,k+1}-X^z_{i,j,k-1}}{h_z}) = hat{A}^{yy}_{i,j,k}$,

$latex hat{A}^{yz} = hat{A}^{zy} = partial_y X^z + partial_z X^y approx $

$latex approx frac{X^z_{i,j+1,k}-X^z_{i,j-1,k}}{2h_y} + frac{X^y_{i,j,k+1}-X^y_{i,j,k-1}}{2h_z} = hat{A}^{yz}_{i,j,k} = hat{A}^{zy}_{i,j,k}$,

$latex hat{A}^{zz} = 2 partial_z X^z – frac{2}{3} (partial_x X^x + partial_y X^y + partial_z X^z) approx $

$latex approx -frac{1}{3}frac{X^x_{i+1,j,k}-X^x_{i-1,j,k}}{h_x} -frac{1}{3} frac{X^y_{i,j+1,k}-X^y_{i,j-1,k}}{h_y} + frac{2}{3} frac{X^z_{i,j,k+1}-X^z_{i,j,k-1}}{h_z}) = hat{A}^{zz}_{i,j,k}$.

Por tanto, la siguiente ecuación:

$latex Delta psi = -2 pi psi^{-1} (D + tau) – psi^{-7} frac{(hat{A}^{xx})^2+(hat{A}^{yy})^2+(hat{A}^{zz})^2+2(hat{A}^{xy})^2+2(hat{A}^{xz})^2+2(hat{A}^{yz})^2}{8}$

queda:

$latex approx frac{psi_{i-1,j,k}-2psi_{i,j,k}+psi_{i+1,j,k}}{h_x^2} + frac{psi_{i,j-1,k}-2psi_{i,j,k}+psi_{i,j+1,k}}{h_y^2} + frac{psi_{i,j,k-1}-2psi_{i,j,k}+psi_{i,j,k+1}}{h_z^2} = $

$latex =-2 pi psi^{-1}_{i,j,k} (D_{i,j,k}+tau_{i,j,k}) – $

$latex – frac{psi^{-7}_{i,j,k}}{8} ( (hat{A}^{xx}_{i,j,k})^2+(hat{A}^{yy}_{i,j,k})^2+(hat{A}^{zz}_{i,j,k})^2+2(hat{A}^{xy}_{i,j,k})^2+2(hat{A}^{xz}_{i,j,k})^2+2(hat{A}^{yz}_{i,j,k})^2 ) $,

con:

$latex partial_{psi_{i,j,k}} F(psi_{i,j,k}) = -2 ( frac{1}{h_x^2} + frac{1}{h_y^2} + frac{1}{h_z^2} ) -2 pi psi_{i,j,k}^{-2} (D_{i,j,k}+tau_{i,j,k}) – $

$latex – frac{7}{8} psi^{-8}_{i,j,k} ( (hat{A}^{xx}_{i,j,k})^2+(hat{A}^{yy}_{i,j,k})^2+(hat{A}^{zz}_{i,j,k})^2+2(hat{A}^{xy}_{i,j,k})^2+2(hat{A}^{xz}_{i,j,k})^2+2(hat{A}^{yz}_{i,j,k})^2 )$.

y la ecuación:

$latex Delta (alphapsi) = 2 pi (alphapsi)^{-1} ( D + tau + 2 rho h (w^2-1) + 6 p) + $

$latex + frac{7}{8} (alpha psi)^{-7} ((hat{A}^{xx})^2+(hat{A}^{yy})^2+(hat{A}^{zz})^2+2(hat{A}^{xy})^2+2(hat{A}^{xz})^2+2(hat{A}^{yz})^2)$

como:

$latex approx frac{(alphapsi)_{i-1,j,k} – 2(alphapsi)_{i,j,k}+(alphapsi)_{i+1,j,k}}{h_x^2} + frac{(alphapsi)_{i,j-1,k}-2(alphapsi)_{i,j,k}+(alphapsi)_{i,j+1,k}}{h_y^2} + frac{(alphapsi)_{i,j,k-1}-2(alphapsi)_{i,j,k}+(alphapsi)_{i,j,k+1}}{h_z^2} = $

$latex =2 pi (alphapsi)_{i,j,k}^{-1} (D_{i,j,k}+tau_{i,j,k} + 2 rho_{i,j,k} h_{i,j,k} (w^2_{i,j,k}-1)+6p_{i,j,k}) + $

$latex + frac{7}{8}(alphapsi)_{i,j,k}^{-7} ( (hat{A}^{xx}_{i,j,k})^2+(hat{A}^{yy}_{i,j,k})^2+(hat{A}^{zz}_{i,j,k})^2+2(hat{A}^{xy}_{i,j,k})^2+2(hat{A}^{xz}_{i,j,k})^2+2(hat{A}^{yz}_{i,j,k})^2 ) $,

donde:

$latex partial_{psialpha_{i,j,k}} F(psialpha_{i,j,k}) = -2 ( frac{1}{h_x^2} + frac{1}{h_y^2} + frac{1}{h_z^2} ) + $

$latex + 2 pi (psialpha)_{i,j,k}^{-2} (D_{i,j,k}+tau_{i,j,k} + 2 rho_{i,j,k} h_{i,j,k} (w^2_{i,j,k}-1)+6p_{i,j,k}) – $

$latex + frac{49}{8} (psialpha)_{i,j,k}^{-8} ( (hat{A}^{xx}_{i,j,k})^2+(hat{A}^{yy}_{i,j,k})^2+(hat{A}^{zz}_{i,j,k})^2+2(hat{A}^{xy}_{i,j,k})^2+2(hat{A}^{xz}_{i,j,k})^2+2(hat{A}^{yz}_{i,j,k})^2 )$.

Finalmente, tenemos:

$latex Delta beta^x = partial_x (2 alpha psi^{-6} hat{A}^{xx}) + partial_y (2 alpha psi^{-6} hat{A}^{xy}) + partial_z (2 alpha psi^{-6} hat{A}^{xz}) – $

$latex – frac{1}{3} partial_x (partial_x beta^x + partial_y beta^y + partial_z beta^z) approx $

$latex approx frac{beta^x_{i-1,j,k}-2beta^x_{i,j,k}+beta^x_{i+1,j,k}}{h_x^2} + frac{beta^x_{i,j-1,k}-2beta^x_{i,j,k}+beta^x_{i,j+1,k}}{h_y^2} + frac{beta^x_{i,j,k-1}-2beta^x_{i,j,k}+beta^x_{i,j,k+1}}{h_z^2} = $

$latex = frac{(alpha psi)_{i+1,j,k}^{-6} hat{A}_{i+1,j,k}^{xx} – (alpha psi)_{i-1,j,k}^{-6} hat{A}_{i-1,j,k}^{xx}}{h_x} + $

$latex + frac{(alpha psi)_{i,j+1,k}^{-6} hat{A}_{i,j+1,k}^{xy} – (alpha psi)_{i,j-1,k}^{-6} hat{A}_{i,j-1,k}^{xy}}{h_y} + $

$latex + frac{(alpha psi)_{i,j,k+1}^{-6} hat{A}_{i,j,k+1}^{xz} – (alpha psi)_{i,j,k-1}^{-6} hat{A}_{i,j,k-1}^{xz}}{h_z} – $

$latex – frac{1}{3} ( frac{beta^x_{i-1,j,k}-2beta^x_{i,j,k}+beta^x_{i+1,j,k}}{h_x^2} + $

$latex + frac{beta^y_{i-1,j-1,k}-beta^y_{i+1,j-1,k}-beta^y_{i-1,j+1,k}+beta^y_{i+1,j+1,k}}{4 h_x h_y} + $

$latex + frac{beta^z_{i-1,j,k-1}-beta^z_{i+1,j,k-1}-beta^z_{i-1,j,k+1}+beta^z_{i+1,j,k+1}}{4 h_x h_z} $,

con:

$latex partial_{beta^x_{i,j,k}} F(beta^x_{i,j,k}) = -2 ( frac{4}{3}frac{1}{h_x^2} + frac{1}{h_y^2} + frac{1}{h_z^2})$,

$latex Delta beta^y = partial_x (2 alpha psi^{-6} hat{A}^{yx}) + partial_y (2 alpha psi^{-6} hat{A}^{yy}) + partial_z (2 alpha psi^{-6} hat{A}^{yz}) – $

$latex – frac{1}{3} partial_y (partial_x beta^x + partial_y beta^y + partial_z beta^z) approx $

$latex approx frac{beta^y_{i-1,j,k}-2beta^y_{i,j,k}+beta^y_{i+1,j,k}}{h_x^2} + frac{beta^y_{i,j-1,k}-2beta^y_{i,j,k}+beta^y_{i,j+1,k}}{h_y^2} + frac{beta^y_{i,j,k-1}-2beta^y_{i,j,k}+beta^y_{i,j,k+1}}{h_z^2} = $

$latex = frac{(alpha psi)_{i+1,j,k}^{-6} hat{A}_{i+1,j,k}^{yx} – (alpha psi)_{i-1,j,k}^{-6} hat{A}_{i-1,j,k}^{yx}}{h_x} + $

$latex + frac{(alpha psi)_{i,j+1,k}^{-6} hat{A}_{i,j+1,k}^{yy} – (alpha psi)_{i,j-1,k}^{-6} hat{A}_{i,j-1,k}^{yy}}{h_y} + $

$latex + frac{(alpha psi)_{i,j,k+1}^{-6} hat{A}_{i,j,k+1}^{yz} – (alpha psi)_{i,j,k-1}^{-6} hat{A}_{i,j,k-1}^{yz}}{h_z} – $

$latex – frac{1}{3} ( frac{beta^x_{i-1,j-1,k}-beta^x_{i+1,j-1,k}-beta^x_{i-1,j+1,k}+beta^x_{i+1,j+1,k}}{4h_xh_y} +$

$latex + frac{beta^y_{i,j-1,k}-2beta^y_{i,j,k}+beta^y_{i,j+1,k}}{h_y^2} +$

$latex + frac{beta^z_{i-1,j,k-1}-beta^z_{i+1,j,k-1}-beta^z_{i-1,j,k+1}+beta^z_{i+1,j,k+1}}{4h_yh_z} )$,

con:

$latex partial_{beta^y_{i,j,k}} F(beta^y_{i,j,k}) = -2 ( frac{1}{h_x^2} + frac{4}{3} frac{1}{h_y^2} + frac{1}{h_z^2})$,

$latex Delta beta^z = partial_x (2 alpha psi^{-6} hat{A}^{zx}) + partial_y (2 alpha psi^{-6} hat{A}^{zy}) + partial_z (2 alpha psi^{-6} hat{A}^{zz}) – $

$latex – frac{1}{3} partial_z (partial_x beta^x + partial_y beta^y + partial_z beta^z) approx $

$latex approx frac{beta^z_{i-1,j,k}-2beta^z_{i,j,k}+beta^z_{i+1,j,k}}{h_x^2} + frac{beta^z_{i,j-1,k}-2beta^z_{i,j,k}+beta^z_{i,j+1,k}}{h_y^2} + frac{beta^z_{i,j,k-1}-2beta^z_{i,j,k}+beta^z_{i,j,k+1}}{h_z^2} = $

$latex = frac{(alpha psi)_{i+1,j,k}^{-6} hat{A}_{i+1,j,k}^{zx} – (alpha psi)_{i-1,j,k}^{-6} hat{A}_{i-1,j,k}^{zx}}{h_x} + $

$latex + frac{(alpha psi)_{i,j+1,k}^{-6} hat{A}_{i,j+1,k}^{zy} – (alpha psi)_{i,j-1,k}^{-6} hat{A}_{i,j-1,k}^{zy}}{h_y} + $

$latex + frac{(alpha psi)_{i,j,k+1}^{-6} hat{A}_{i,j,k+1}^{zz} – (alpha psi)_{i,j,k-1}^{-6} hat{A}_{i,j,k-1}^{zz}}{h_z} – $

$latex – frac{1}{3} ( frac{beta^x_{i-1,j,k-1}-beta^x_{i+1,j,k-1}-beta^x_{i-1,j,k+1}+beta^x_{i+1,j,k+1}}{4h_xh_z} +$

$latex + frac{beta^y_{i,j-1,k-1}-beta^y_{i,j+1,k-1}-beta^y_{i,j-1,k+1}+beta^y_{i,j+1,k+1}}{4h_yh_z} )$

$latex + frac{beta^z_{i,j,k-1}-2beta^z_{i,j,k}+beta^z_{i,j,k+1}}{h_z^2}$,

con:

$latex partial_{beta^z_{i,j,k}} F(beta^z_{i,j,k}) = -2 ( frac{1}{h_x^2} + frac{1}{h_y^2} + frac{4}{3} frac{1}{h_z^2} )$.

The polymath project, massively collaborative mathematics, y la conjetura de los números primos gemelos

A raiz del post de Tao Online reading seminar for Zhang’s “bounded gaps between primes”, he sabido de la existencia del interesantísimo proyecto polymath.

Nacido de la mano del medallista Fields Timothy Gowers, está pensado para la colaboración masiva entre matemáticos.

Que promete, parece claro, pues el primer proyecto que se propuso, relacionado con el teorema de Hales-Jewett, aparentemente se resolvió en siete semanas y ahora mismo, en el último proyecto y en sólo tres semanas, se ha bajado una cota del artículo «Bounded gaps between primes» publicado por Yitang Zhang en la prestigiosa Annals of Mathematics y relacionado con la conjetura de los números primos gemelos, de $latex 70,000,000$ a $latex 4,788,240$ (aquí un tabla con diferentes y posibles futuras mejoras).

Es una novedosa manera, gracias a las nuevas tecnologías, de centrar la atención de una gran mente matemática global, la todos los matemáticos interesados en participar en un problema concreto. ¿Existirán propuestas similares e igualmente eficientes para otros campos…?

Dos notas interesantes sobre matemáticas y sus cuatro protagonistas: Goldbach, Helfgott, Erdös y Tao.

No pensaba escribir nada hoy, pero he visto dos cosas que me han llamado la atención y he decidido (re)publicarlas.

La primera es que parece ser que el peruano Harald Andrés Helfgott ha demostrado la conjetura débil de Goldbach (los artículos en arxiv son Major arcs for Goldbach’s theorem de hace unos dias, que completa Minor arcs for Goldbach’s problem de hace un año). Aunque falta la verificación oficial, el propio Tao en su cuenta de Google+ parece que confía en que será correcta. De confirmarse, seguramente tengamos a uno de los medallistas Fields para el año que viene… Un final feliz para un problema de 271 años de antigüedad, las conjeturas aparecen en una carta de Goldbach a Euler de 1742, y típico de teoría de números: muy fácil de enunciar (del abstract del artículo: The ternary Goldbach conjecture, or three-primes problem, asserts that every odd integer $latex n$ greater than $latex 5$ is the sum of three primes) pero muy complicado de demostrar (los artículos tienen 133 y 79 páginas respectivamente).

La segunda es una foto del año 1985 en la que aparecen dos poderosísimas mentes matemáticas juntas: Erdös, de 72 años entonces, y Tao, con 10 años. La foto la publicó el propio Terry en su cuenta de Google+ y yo la he recuperado del blog gaussianos. Una foto curiosa e histórica 🙂

8702301042_04dca0cde3_o

La cara del error…

Hace tiempo que no escribo nada pues estoy intentando terminar un programa que ya va tocando…

Para que no se diga, añado a continuación una imagen que he obtenido hace un momento, y que me ha hecho gracia, cuando pintaba el error entre la solución analítica de un problema de Poisson tridimensional y mi solución aproximada.

caraError

Se diría que estoy diseñando la cabeza de un nuevo personaje de animación, ¿no?

:mrgreen:

Dos nuevos exoplanetas rocosos en la zona habitable de su estrella

¡Fascinante!

Como siempre, el blog de Francis se hace eco de la noticia y la comenta en detalle con referencias a los artículos técnicos, etc. La estrella es Kepler-62 (recibe este nombre porque es la número 62 en la que misión Kepler ha encontrado un exoplaneta) y los planetas son Kepler-62e y Kepler-62f (para nombrar a los exoplanetas se acompaña con una letra minúscula del abecedario empezando por la b, las mayúsculas son para nombrar las componentes de la estrella si es múltiple, en función del orden en que se han ido descubriendo, al nombre de la estrella).

Para los legos en la materia, los exoplanetas son planetas que orbitan otras estrellas distintas al Sol y nos vamos acercando ya a los mil planetas extrasolares descubiertos, muchos formando sistemas planetarios, de manera que parece ser algo habitual que cualquier estrella este acompañada de éstos.

La zona habitable es aquella región alrededor de una estrella que permite la existencia de agua líquida. Está demostrado que puede haber vida mucho mas exótica, pero básicamente como nuestra vida esta basada en el agua, ésta es lo que se busca.

Finalmente, el post de Francis también enlaza esta fantástica animación de The New York Times sobre los exoplanetas descubiertos por Kepler.

Las dos misiones puestas en marcha hasta ahora, en órbita, son COROT de la ESA en 2006-2012(fallo ordenador),  y Kepler de la NASA en 2009. El JPL de la NASA tiene una página dedicada a exoplanetas.

Generalizaciones de espacios pre-Hilbertianos

Dado un $latex mathbb{K}$-espacio vectorial $latex E$, diremos que la aplicación:

$latex B:E times E longrightarrow mathbb{K}$

es un producto escalar si verifica:

  1. Fijado $latex y in E$, entonces $latex E longrightarrow mathbb{K} ,:, x mapsto B(x,y)$ es lineal.
  2. $latex B(x,y) = bar{B(y,x)}, forall x,y in E$.
  3. $latex B(x,y) geq 0, forall x in E$.
  4. $latex B(x,x)=0 leftrightarrow x=0, forall x in E$.

Llamamos espacio pre-Hilbertiano al par $latex (E,B)$.

Dos consecuencias inmediatas de estas propiedades son:

  1. Fijado $latex x in E$, entonces $latex E longrightarrow mathbb{K} ,:, y mapsto B(x,y)$ es sesquilineal.
  2. $latex B(0,y)=B(x,0)=0, forall x,y in E$.

Podemos definir la aplicación norma como:

$latex q:E longrightarrow mathbb{R}^+ cup {0} ,:, x mapsto sqrt{B(x,x)}$,

que cumple la desigualdad de Cauchy-Schwartz:

$latex |B(x,y)| leq q(x)q(y), forall x,y in E$,

dandose la igualdad cuando $latex x, y$ son linealmente dependientes, y las propiedades:

  1. $latex q(x+y) leq q(x)+ q(y), forall x,y in E$.
  2. $latex q(lambda x) = lambda q(x), forall x in E$.
  3. $latex q(x)=0 leftrightarrow x=0, forall x in E$.

Podemos definir la aplicación distancia como:

$latex d: E times E longrightarrow mathbb{R}^+ cup { 0 } ,:, (x,y) mapsto q(x-y)$,

cumpliendo:

  1. $latex q(x,y) = q(y,x)$.
  2. $latex d(x,y)=0 leftrightarrow x = y$.
  3. $latex d(x,y) leq d(x,z)+d(z,y)$.

¿Qué pasa ahora si empezamos a eliminar requisitos en las definiciones? Se siguen cumpliendo propiedades interesantes de manera que las estructuras resultantes son ricas o no? Suponemos que si. Vamos a ver…

Flujos de trabajo ramificados en Git

Simplemente enlazo esta página donde habla de como realizar flujos de trabajo aprovechando el poco coste del branching en Git.

También puede servir como punto de entrada al libro Pro Git de Scott Chacon. Ayuda mucho a entender el funcionamiento de Git sus explicaciones de como están implementadas internamente estas funcionalidades.

Algunas notas interesantes:

  • Git no guarda cambios incrementales sino que guarda instantaneas completas del estado del código en el momento del commit.
  • La rama principal y las demás ramas son apuntadores a estas instantaneas.
  • En el momento de crear una nueva rama, se crea un apuntador a la instantánea del último commit.
  • Esta política hace que el coste del branching sea bajo en comparación a otros
  • Permite, por tanto, la existencia y utilización con ramas temporales para los flujos de trabajo.

En la siguiente imagen del libro podemos ver reflejadas todas estas ideas:

gitBranching

La demostración de Perelman de la conjetura de Poincaré explicada por Terry Tao

Tiene Terry Tao una explicación en 20 posts de la demostración de la conjetura de Poincaré hecha por Perelman.

Enlazo aquí su Lecture 0 que nos puede servir tanto como introducción de los conceptos básicos de la geometría Riemanniana, que hemos tratado anteriormente en unos cuantos posts, como para ir leyendo el resto de posts en los que se sumerge en la explicación de la (complicadísima) demostración…

Enlazo también un artículo interesante sobre Grisha en el que se puede leer algo asombroso:

Todos sus compañeros de escuela y del club de matemáticas en el que estaba inscrito (en la antigua URSS los clubes de matemáticas, a los que asistían los estudiantes después de clases, jugaban un papel central en su formación) recuerdan como rasgo sobresaliente de Perelman no su rapidez ni su elegancia o brillantez para resolver un problema, sino más bien el nada despreciable hecho de que jamás, ni una sola vez, hubo un error en sus soluciones.

Elementos de Scrum

Roles

  • Product Owner: es el que sabe como debe ser el producto, por lo que escribe historias de usuario (requisitos funcionales), las ordena por prioridad, las coloca en el product backlog, pone fechas y se encarga de aceptar o rechazar los entregables. Por ejemplo, en kunagi:

scrum_PO

  • ScrumMaster: es el encargado de asegurar que los procesos Scrum se cumplan, que se cumplan las reglas, que los equipos trabajen como es debido, eliminando obstáculos y aislándolos de distracciones. Por ejemplo, en kunagi:

scrum_SM

  • Development Team: es el equipo multidisciplinar de entre 5 y 9 personas con habilidades transversales (diseño, implementación, documentación…) que se autoorganiza para tener los entregables en los plazos.

scrum_T

Reuniones

  • Daily Scrum (15m): cada dia a la misma hora y en el mismo sitio de pie para que cada miembro del equipo diga que hizo ayer, que ara hoy y que impedimentos está encontrando.
  • Scrum de Scrum (15m):  después del daily scrum y a nivel de equipos cuando existen varios. Un representate por equipo para explicar que hizo su equipo ayer, que ará hoy, que problemas tiene y si va a subir algo que se encontraran el resto de equipos.
  • Sprint Planning Meeting (8h): al empezar un sprint para prepararlo. Seleccionar que es lo que se hará, construir el sprint backlog y asignar plazos.
  • Sprint Review Meeting (4h): revisar que se ha conseguido y que no. Demo únicamente de lo entregable.
  • Sprint Retrospetive Meeting (4h): opinión de todos sobre las demos.

Documentos

  • Product Backlog: que se tiene que hacer en el producto.
  • Sprint Backlog: que se tiene que hacer en el sprint actual.

En la web de ScrumAlliance encontramos el siguiente resumen:

scrumFramework

Control de versiones para múltiples equipos ágiles: Git y Scrum

En el siguiente post de Henrik Kniberg comenta como llevar a la práctica los conceptos tratados en los posts sobre Software Configuration Management y Agile Software Development.

El siguiente gráfico, del mismo post, resume todo lo tratado en el artículo:

gitScrum

A continuación sencillos comentarios interesantes que aparecen en el post:

  • Cada branch (rama), incluso la mainline (tronco), tiene un owner (propietario) y una policy (política).
  • Tenemos to do, in progress y done como estados para cada user story.
  • Done (hecho) significa releasable (entregable), es decir, que si en ese momento el cliente quisiera entrar y empezar a probarlo, nadie tuviera que decirle que no puede, que tiene que esperar.
  • El tronco es la rama hecho, es decir, la que entrará en producción llegado el momento.
  • La política del tronco puede ser o (exclusivo) entregable at any time (en cualquier momento) o lo antes posible (asap).
  • Crear ramas cuantas menos mejor. Solo crearemos una cuando queramos probar algo y no lo podamos hacer con ninguna de las existentes sin violar sus políticas.
  • Como entegrable incluye las pruebas de integración y no podemos hacerlo sobre la mainline, necesitamos una nueva rama: work branch (rama de trabajo) o development branch (rama de desarrollo).

Lagrangianos, Hamiltonianos y geodésicas en variedades

Leyendo el capítulo dedicado a Lagrangianos y Hamiltonianos del libro de Roger Penrose El camino a la realidad me sorprendió cuando en un momento, después de presentar al Lagrangiano

$latex mathcal{L} = mathcal{L}(q^1, ldots, q^n, dot{q}^1, ldots, dot{q}^n )$

como una función, de posiciones generalizadas $latex q^i$ que etiquetan los puntos del espacio de configuración $latex mathcal{C}$, una variedad diferenciable de dimensión $latex n$, y velocidades generalizadas $latex dot{q}^i:=frac{d}{dt}q^i$, cuya interpretación física es la diferencia entre energía cinética $latex K$ del sistema y la energía potencial $latex V$ debido a fuerzas externas, es decir, $latex mathcal{L} = K-V$, las ecuaciones de Euler-Lagrange quedan como:

$latex frac{d}{dt} frac{partial}{partial dot{q}^r}mathcal{L} = frac{partial}{partial q^r} mathcal{L}$ con $latex r=1 ldots n$,

recordando que cada $latex dot{q}^r$ debe tratarse como una variable independiente.

Esto, aquí mi sorpresa, es idéntico a lo que utilizamos en este post

$latex frac{d}{dt} frac{partial}{partial dot{x}^i} g = frac{partial}{partial x ^i} g $

para calcular las geodésicas de una variedad Riemanniana sin necesidad de pasar por el cálculo de los símbolos de Christoffel a partir de su métrica, por ejemplo, para encontrar su conexión…

Así pues, la conclusión es que, como cada punto $latex alpha$ de la variedad $latex n$-dimensional $latex mathcal{C}$ representa una configuración del sistema y, a medida que evoluciona en el tiempo, describe una curva $latex alpha(t) in mathcal{C}$, esta trayectoria puede considerarse como una geodésica en el espacio de fases $latex mathcal{C}$.

Para terminar, pone un sencillo ejemplo donde el sistema consta de una única partícula de masa $latex m$ que se mueve en el campo gravitatorio cerca de la superficie terrestre $latex V(t,x,y,z)=mgz$. Utilizando $latex frac{1}{2}mv^2$ para la energía cinética, nos queda que el Lagrangiano es:

$latex mathcal{L} = frac{1}{2}m(dot{x}^2+dot{y}^2+dot{z}^2)-mgz$,

por lo que la ecuación de Euler-Lagrange para $latex z$ nos queda:

$latex mfrac{d}{dt}dot{z} = mg Leftrightarrow ddot{z} = g$,

que es lo que esperabamos :-).

Agile Software Development, Scrum y principios de la OO

El Agile Software Development (desarrollo ágil de software) es un paradigma de la ingenieria del software cuyas principales características son:

  • la idea general es el desarrollo iterativo e incremental minimizando costes.
  • una iteración es el software desarrollado en una unidad de tiempo, entre una y cuatro semanas.
  • cada iteración no agrega mucha funcionalidad pero debe estar libre de errores y funcionar.
  • en cada iteración: planificación, analisis, diseño, implementación, prueba y documentación.
  • al final de cada iteración se reevaluan las prioridades del proyecto.
  • se enfatiza la comunicación cara a cara.

Scrum es un ejemplo concreto de metodología ágil. El diagrama de la empresa Mountain Goat Software de Mike Cohn es bastante autoexplicativo:

scrum

aquí una introducción de ellos mismos a estos temas.

¿Alguna herramienta libre para llevar ésto a la práctica? Pués, por ejemplo, PangoScrum o Kunagi. Según ellos mismos, «PangoScrum is a agile project management tool for Scrum.Keeping it simple, it focus on the continuously efficiency improvement of software development», «Kunagi is a free web-based tool for integrated project management and collaboration based on Scrum«.

Finalmente, en esta página de Scrum Manager, los princípios de la Orientación a Objetos.

SCM

Seguimos con SCM, con el libro Software Configuration Management Patterns: Effective Teamwork, Practical Integration, desde donde lo dejamos en el último post sobre el tema.

Private Workspace

¿Cómo lo hacemos, con una codeline que cambia contínuamente, para realizar progresos sin que nos distraiga este entorno cambiante debido a los que están por debajo de nosotros?

Realiza tu trabajo en un workspace privado donde controlemos las versiones del código y los componentes que estamos utilizando. Debemos tener control total sobre cuando y como cambia nuestro entorno.

Repository

¿Cómo obtener las versiones correctas de los componentes correctos en un nuevo workspace?

Private System Build

¿Cómo verificas que tus cambios no rompen la construcción o el sistema antes de colocarselos?

Antes de hacer un submit al control de fuente, construir el sistema de manera privada de manera similar a como será.

SCM_psb

Integration Build

¿Cómo asegurarse de que el código base siempre se construye de manera fiable?

Asegurate de que todos los cambios (y sus dependencias) se construyen utilizando un proceso para la construcción de la integración centralizado.

SCM_ib

Third Party Codeline

¿Cúal es la estrategia mas efectiva para coordinar las versiones de vendedores de código con las versiones de productores de código?

SCM_tpc

Task Level Commit

¿Cuanto trabajo debemos realizar entre submits al sistema de control de versiones? ¿Cuando tiempo deberíamos esperar antes de colocarlos?

Realizar un commit por cada pequeña tarea de grano fino consistente.

Codeline Policy

¿Como saben los desarrolladores en que codeline deben comprobar su código y que tests deben realizar antes de hacerlo?

Para cada rama o codeline define una política que determine cómo y cúando los desarrolladores realizarán cambios. La política debe ser concisa y auditable.

Smoke Test

¿Cómo saber que el sistema seguirá funcionando después de que realizemos un cambio?

Somete cada construcción a una prueba de humo que verifique que la aplicación no se rompe de una manera evidente.

Unit Test

¿Cómo comprobar si un módulo continua funcionando tras realizar un cambio?

Desarrolla y realiza pruebas unitarias.

Regression Test

¿Cómo asegurarse de que el código existente no empeora con las nuevas mejoras?

Ejecutar pruebas de regresión en el sistema siempre que lo desee para asegurar la estabilidad de la codeline, como antes de liberar una construcción, o antes de un cambio especialmente arriesgado.
Crea las pruebas de regresión a partir de los casos de prueba que hicieron fallar al sistema en el pasado.

Private Versions

¿Cómo puedes experimentar con un cambio complejo y beneficiarse del sistema de control de versiones sin hacer el cambio público?

Provee a los desarrolladores de un mecanismo de checkpoints de cambios en una granularidad que se sienta cómodo. Esto puede hacerse mediante un área de control para versiones locales. Sólo los conjuntos de código estables se registrarán en el repositorio del proyecto.

Release Line

¿Cómo mantener versiones publicadas sin interferir en el trabajo actual de desarrollo?

SCM_rl

Release-Prep Codeline

¿Cómo se puede estabilizar una codeline para un lanzamiento inminente, además de facilitar el continuar trabajando en la codeline activa?

SCM_rpc

Task Branch

¿Cómo puede nuestro equimo hacer a una codeline múltiples cambios a largo plazo superpuestos sin comprometer su consistencia e integridad?

SCM_tb

Tensor de Riemann, tensor de Ricci y curvatura escalar para un agujero negro de Kerr-Newman

Calculamos la curvatura escalar $latex R$ para la métrica de Kerr-Newman, es decir, para la solución analítica a las ecuaciones de Einstein en presencia de momento y de carga ($latex J neq 0$ y $latex Q neq 0$).

La métrica es:

$latex g = -frac{J^2+M^2 left(Q^2+r (-2 M+r)right)+J^2 text{Sin}[theta ]^2}{M^2 r^2+J^2 text{Cos}[theta ]^2} dt otimes dt + $

$latex + 2 frac{J M left(Q^2-2 M rright) text{Sin}[theta ]^2}{M^2 r^2+J^2 text{Cos}[theta ]^2} dt tilde{otimes} dvarphi + $

$latex + frac{M^2 r^2+J^2 text{Cos}[theta ]^2}{J^2+M^2 left(Q^2+r (-2 M+r)right)} dr otimes dr +$

$latex r^2+frac{J^2 text{Cos}[theta ]^2}{M^2} dtheta otimes dtheta +$

$latex + frac{left(frac{J^2}{M^2}+r^2right)^2 text{Sin}[theta ]^2}{r^2+frac{J^2 text{Cos}[theta ]^2}{M^2}}+frac{J^2 text{Sin}[theta ]^4}{M^2} dvarphi otimes dvarphi$.

Como ya hemos hecho con la métrica de Kerr, solo mostramos una componente de cada elemento calculado debido a su extrema complejidad (como para realizar los cálculos manualmente…):

$latex R^{r}_{theta varphi t}$:

tRiemann_kn_rthvpt

$latex R_{r theta}$:

tRicci_kn_rth

Utilizando nuestras funciones, obtenemos los siguientes gráficos:

$latex M=0.9, J=0.1, Q=0.5$:

R_M09_J01_Q05

$latex M=0.9, J=0.1, Q=0.25$:

R_M09_J01_Q025

$latex M=1, J=1, Q=1$:

R_M1_Q1_J1

$latex M=0.1, J=0.9, Q=0.5$:

R_M01_J09_Q05

Representación gráfica en coordenadas cilíndricas de la curvatura escalar para un agujero negro de Kerr con diferentes momentos angulares.

Volvemos a representar los gráficos de este post pero ahora en coordenadas cilíndricas, que tienen mas sentido:

Cálculo del tensor de Riemann, de Ricci y la curvatura escalar para un agujero negro de Kerr

Calcularemos el tensor de Riemann, el de Ricci y la curvatura escalar para la métrica de Kerr correspondiente a un agujero negro en rotación y sin carga eléctrica ($latex J neq 0, Q=0$), cuya métrica ya utilizamos.

A continuación, mostramos nuestras funciones para realizar los calculos automáticamente:

tensor de Riemann:

riemanNd

tensor de Ricci:

ricciNd

curvatura escalar:

rNd

y obtenemos (solo escribiremos una elemento de cada debido a su complejidad):

$latex R^{t}_{ttvarphi}$:

tRiemann_rtttvp

donde $latex x1=t, x2=r, x3=theta, x4=varphi$.

$latex R_{rtheta}$:

tRicci_rth

y dos gráficas correspondientes a su curvatura escalar $latex R$:

curvaturaEscalar3D2

curvaturaEscalar3D

En la definición de la métrica, tenemos la restricción $latex 0 leq frac{a}{M} leq 1$, que en nuestro caso, como imponemos $latex M=1$, nos queda $latex 0 leq J leq 1$. A continuación una serie de gráficos en los que hacemos el valor de

$latex J=0.1, 0.25, 0.5, 0.75, 0.9, 1$:

Operador D’Alambertiano

El operador D’Alambartiano generaliza el Laplaciano a cualquier métrica. Por ejemplo, en cartesianas en Minkowski con signatura $latex (-,+,+,+)$ tendríamos ($latex c=1$):

$latex square = -partial_{tt} + partial_{xx} + partial_{yy} + partial_{zz} = -partial_{tt} + nabla$,

que, numerando las variables, tenemos:

$latex square = partial^alpha partial_alpha = g^{alpha beta} partial_beta partial_alpha$.

Ejemplos de cálculos tensoriales utilizando superficies de curvatura constante (IV): tensores de Riemann, Ricci, Weyl y curvatura escalar.

Para empezar, empezaremos escribiendo las ecuaciones en coordenadas de cada uno de los elementos que queremos calcular.

El tensor de curvatura de Riemann:

$latex R^{a}_{bcd} = partial_c Gamma^{a}_{bd} – partial_d Gamma^{a}_{bc} + Gamma^{a}_{ec} Gamma^{e}_{bd} – Gamma^{a}_{ed} Gamma^{e}_{bc}$,

el tensor de Ricci:

$latex R_{ab} = R^{c}_{acb} = partial_c Gamma^{c}_{bd} – partial_d Gamma^{c}_{bc} + Gamma^{c}_{ec} Gamma^{e}_{bd} – Gamma^{c}_{ed} Gamma^{e}_{bc}$,

la curvatura escalar:

$latex R = R^{a}_{a}$

y el tensor de Weyl:

$latex C_{abcd} = R_{abcd} – $

$latex – frac{1}{2}(g_{ac}R_{bd}-g_{ad}R_{bc}-g_{bc}R_{ad}+g_{bd}R_{ac}) + frac{1}{6}(g_{ac}g_{bd}-g_{ad}g_{bc}) R$

Empezamos con la esfera $latex S^2(frac{1}{r^2})$. Recordamos los símbolos de Christoffel que encontramos:

$latex Gamma^{theta}_{theta theta} = 0, Gamma^{theta}_{theta varphi} = Gamma^{theta}_{varphi theta} = 0, Gamma^{theta}_{varphi varphi} = -sin theta cos theta$,

$latex Gamma^{varphi}_{theta theta} = 0, Gamma^{varphi}_{theta varphi} = Gamma^{varphi}_{varphi theta} = cot theta, Gamma^{varphi}_{varphi varphi} = 0$

(Escribir ahora las ecuaciones de las geodésicas es inmediato: una equacion por variable contravariante donde aparece la segunda derivada de esta y un termino para cada símbolo no nulo de la fila con la primera derivada de las variables covariantes:

$latex begin{cases} ddot{theta} – dot{varphi}^2 sin theta cos theta = 0 \ ddot{varphi} + 2 dot{theta} dot{varphi} cot theta = 0 end{cases}$

que coincide con lo que calculamos en este post de otra manera sin necesidad de los símbolos de Christoffel).

Tenemos cuatro índices y cada uno puede tomar dos valores, pues estamos trabajando con superificies, variedades de dos dimensiones, por lo que tenemos un tensor de con 16 componentes (en el caso de estar trabajando con una variedad de cuatro dimensiones como es espacio-tiempo, el tensor de Riemann tiene 256 componentes..). Aunque existe una serie de propiedades que minimizan el número de componentes de $latex n^4$ a $latex frac{1}{12}n^2(n^2-1)$ (simetrías, antisimetrías e identidades de Bianchi) vamos a calcularlos todos aquí para practicar.

$latex R^{theta}_{ theta theta theta} = partial_theta Gamma^{theta}_{theta theta} -partial_theta Gamma^{theta}_{theta theta} + Gamma^{theta}_{theta theta} Gamma^{theta}_{theta theta} + Gamma^{theta}_{varphi theta} Gamma^{varphi}_{theta theta} – Gamma^{theta}_{theta theta} Gamma^{theta}_{theta theta} – Gamma^{theta}_{varphi theta} Gamma^{varphi}_{theta theta} = 0$

$latex R^{theta}_{ theta theta varphi} = partial_theta Gamma^{theta}_{theta varphi} -partial_varphi Gamma^{theta}_{theta theta} + Gamma^{theta}_{theta theta} Gamma^{theta}_{theta varphi} + Gamma^{theta}_{varphi theta} Gamma^{varphi}_{theta varphi} – Gamma^{theta}_{theta varphi} Gamma^{theta}_{theta theta} – Gamma^{theta}_{varphi varphi} Gamma^{varphi}_{theta theta} = 0$

$latex R^{theta}_{ theta varphi theta} = partial_varphi Gamma^{theta}_{theta theta} -partial_theta Gamma^{theta}_{theta varphi} + Gamma^{theta}_{theta varphi} Gamma^{theta}_{theta theta} + Gamma^{theta}_{varphi varphi} Gamma^{varphi}_{theta theta} – Gamma^{theta}_{theta theta} Gamma^{theta}_{theta varphi} – Gamma^{theta}_{varphi theta} Gamma^{varphi}_{theta varphi} = 0$

$latex R^{theta}_{ theta varphi varphi} = partial_varphi Gamma^{theta}_{theta varphi} -partial_varphi Gamma^{theta}_{theta varphi} + Gamma^{theta}_{theta varphi} Gamma^{theta}_{theta varphi} + Gamma^{theta}_{varphi varphi} Gamma^{varphi}_{theta varphi} – Gamma^{theta}_{theta varphi} Gamma^{theta}_{theta varphi} – Gamma^{theta}_{varphi varphi} Gamma^{varphi}_{theta varphi} = 0$

$latex R^{theta}_{ varphi theta theta} = 0$

$latex R^{theta}_{ varphi theta varphi} = $

$latex = partial_theta Gamma^{theta}_{varphi varphi} -partial_varphi Gamma^{theta}_{varphi theta} + Gamma^{theta}_{theta theta} Gamma^{theta}_{varphi varphi} + Gamma^{theta}_{varphi theta} Gamma^{varphi}_{varphi varphi} – Gamma^{theta}_{theta varphi} Gamma^{theta}_{varphi theta} – Gamma^{theta}_{varphi varphi} Gamma^{varphi}_{varphi theta} = sin^2 theta$

$latex R^{theta}_{ varphi varphi theta} = $

$latex = partial_varphi Gamma^{theta}_{varphi theta} -partial_theta Gamma^{theta}_{varphi varphi} + Gamma^{theta}_{theta varphi} Gamma^{theta}_{varphi theta} + Gamma^{theta}_{varphi varphi} Gamma^{varphi}_{varphi theta} – Gamma^{theta}_{theta theta} Gamma^{theta}_{varphi varphi} – Gamma^{theta}_{varphi theta} Gamma^{varphi}_{varphi varphi} = -sin^2 theta$

$latex R^{theta}_{varphi varphi varphi} = 0$

$latex R^{varphi}_{ theta theta theta} = 0$

$latex R^{varphi}_{ theta theta varphi} = partial_theta Gamma^{varphi}_{theta varphi} -partial_varphi Gamma^{varphi}_{theta theta} + Gamma^{varphi}_{theta theta} Gamma^{theta}_{theta varphi} + Gamma^{varphi}_{varphi theta} Gamma^{varphi}_{theta varphi} – Gamma^{varphi}_{theta varphi} Gamma^{theta}_{theta theta} – Gamma^{varphi}_{varphi varphi} Gamma^{varphi}_{theta theta} = -1$

$latex R^{varphi}_{ theta varphi theta} = partial_varphi Gamma^{varphi}_{theta theta} -partial_theta Gamma^{varphi}_{theta varphi} + Gamma^{varphi}_{theta varphi} Gamma^{theta}_{theta theta} + Gamma^{varphi}_{varphi varphi} Gamma^{varphi}_{theta theta} – Gamma^{varphi}_{theta theta} Gamma^{theta}_{theta varphi} – Gamma^{varphi}_{varphi theta} Gamma^{varphi}_{theta varphi} = 1$

$latex R^{varphi}_{ theta varphi varphi} = 0$

$latex R^{varphi}_{ varphi theta theta} = 0$

$latex R^{varphi}_{ varphi theta varphi} = 0$

$latex R^{varphi}_{ varphi varphi theta} = 0$

$latex R^{varphi}_{varphi varphi varphi} = 0$

Continuamos con el tensor de Ricci. Podemos calcularlo a partir de la formula o a partir del tensor de Riemann, que ya lo tenemos. Lo haremos de esta última manera:

$latex R_{theta theta} = R^{a}_{theta a theta} = R^{theta}_{theta theta theta} + R^{varphi}_{theta varphi theta} = 1$

$latex R_{theta varphi} = R^{a}_{theta a varphi} = R^{theta}_{theta theta varphi} + R^{varphi}_{theta varphi varphi} = 0$

$latex R_{varphi theta} = R^{a}_{varphi a theta} = R^{theta}_{varphi theta theta} + R^{varphi}_{varphi varphi theta} = 0$

$latex R_{varphi varphi} = R^{a}_{varphi a varphi} = R^{theta}_{varphi theta varphi} + R^{varphi}_{varphi varphi varphi} = sin^2 theta$.

Finalmente, calculamos la curvatura escalar:

$latex g^{cb}R_{ab} = R^c_a$,

$latex R^a_a = g^{theta theta}R_{theta theta} + g^{theta varphi}R_{theta varphi} + g^{varphi theta}R_{varphi theta} + g^{varphi varphi}R_{varphi varphi} = frac{1}{r^2}1+frac{1}{r^2 sin^2 theta} sin^2 = frac{2}{r^2}$,

que es, tal y como esperabamos, la mitad de la curvatura de Gauss ($latex R = 2K$).

Seguimos ahora con la pseudoesfera $latex mathbb{H}^2(-frac{1}{r^2})$. Los símbolos de Christoffel eran:

$latex Gamma^{theta}_{theta theta} = -csc theta sec theta, Gamma^{theta}_{theta varphi} = Gamma^{theta}_{varphi theta} = 0, Gamma^{theta}_{varphi varphi} = -sin^2 theta tan theta$,

$latex Gamma^{varphi}_{theta theta} = 0, Gamma^{varphi}_{theta varphi} = Gamma^{varphi}_{varphi theta} = cot theta, Gamma^{varphi}_{varphi varphi} = 0$

(Aprovechamos otra vez, conocidos los símbolos de Christoffel, para escribir las ecuaciones de las geodésicas:

$latex begin{cases} ddot{theta} – dot{theta}^2 csc theta sec theta – dot{varphi}^2 sin^2 theta tan theta = 0 \ ddot{varphi} + 2 dot{theta} dot{varphi} cot theta = 0 end{cases}$

que debería coincidir con la de aquí).

Como es bastante laborioso, aquí otro programita, esta vez para el tensor de Riemann:

tensorRiemann

y los resultados:

tensorRiemannPseudoesfera

por tanto, Ricci es:

$latex R_{theta theta} = R^{a}_{theta a theta} = R^{theta}_{theta theta theta} + R^{varphi}_{theta varphi theta} = – cot^2 theta$

$latex R_{theta varphi} = R^{a}_{theta a varphi} = R^{theta}_{theta theta varphi} + R^{varphi}_{theta varphi varphi} = 0$

$latex R_{varphi theta} = R^{a}_{varphi a theta} = R^{theta}_{varphi theta theta} + R^{varphi}_{varphi varphi theta} = 0$

$latex R_{varphi varphi} = R^{a}_{varphi a varphi} = R^{theta}_{varphi theta varphi} + R^{varphi}_{varphi varphi varphi} = -sin^2 theta$.

y la curvatura escalar:

$latex R=R^a_a = g^{theta theta}R_{theta theta} + g^{theta varphi}R_{theta varphi} + g^{varphi theta}R_{varphi theta} + g^{varphi varphi}R_{varphi varphi} = $

$latex = frac{1}{r^2 cot^2 theta}(-cot^2 theta)+frac{1}{r^2 sin^2 theta} (-sin^2) = -frac{2}{r^2}$,

que vuelve a ser $latex R = 2K$. Aquí es resultado con dos nuevas funciones programadas para el tensor de Ricci y la curvatura escalar:

RiemannRicciRH2

Por último, para $latex mathbb{R}^2$ todo es $latex 0$.

Finalmente una gráfica de todas las curvaturas escalares que hemos encontrado:

curvaturaEscalar2D

Los colores son los mismos que los de las superficie correspondiente de este post y añadiendo en rojo la curvatura escalar del toro. Recordar que, en superficies, la curvatura escalar es el doble de la curvatura Gauss o curvatura intrínseca y esta, a su vez, es el producto de las dos curvaturas principales.

Cálculo de los símbolos de Christoffel, de la conexión de Levi-Civita y de las geodésicas en un agujero negro de Kerr

Cuando hablamos de soluciones analíticas de las ecuaciones de Einstein hablamos de los agujeros negros estacionarios en rotación y sin carga eléctrica ($latex J neq 0$ y $latex Q = 0$). A esta solución analítica se la conoce  como métrica de Kerr.

Procedemos a buscar calcular los símbolos de Christoffel, la conexión de Levi-Civita y las geodésicas de la métrica de Kerr:

$latex g = – (1-frac{2Mr}{Sigma})dt otimes dt – frac{4aMrsin^2theta}{Sigma}dt tilde{otimes} dvarphi + $

$latex + frac{Sigma}{Delta}dr otimes dr + Sigma dtheta otimes dtheta + (r^2+a^2+frac{2a^2Mrsin^2theta}{Sigma})sin^2theta dvarphi otimes dvarphi$

donde $latex a:=frac{J}{M}$, $latex Delta:= r^2 – 2Mr + a^2$ y $latex Sigma = r^2 + a^2 cos^2 theta$. El agujero negro está rotando en la dirección $latex +varphi$ y el espín está restringido al rango $latex 0 leq frac{a}{M} leq 1$. Notar que recuperamos la métrica de Schwarzschild cuando $latex a=0$.

Modificamos ligeramente el programa que teniamos de manera que nos permita trabajar con metricas sobre variedades en $latex 4$ dimensiones (si el índices ic empieza en ib nos ahorramos los cálculos simétricos):


Simbolos[] := 
For[ia = 1, ia <= 4, ia++, 
  For[ib = 1, ib <= 4, ib++,
    For[ic = 1, ic <= 4, ic++,
      r = 0;
      For[ii = 1, ii <= 4, ii++,
        r = r + 
            FullSimplify[
                         1/2*Inverse[g][[ii]][[ia]]*(
                         D[g[[ii]][[ib]], x[[ic]]] + 
                         D[g[[ii]][[ic]], x[[ib]]] - 
                         D[g[[ib]][[ic]], x[[ii]]])
            ]
      ];
      Print["Gamma[", ia, ",", ib, ",", ic, "] = ", r]
    ]
  ]
]

Introducimos la métrica como siempre:

$latex left(
begin{array}{cccc}
-1+frac{2 M text{x2}}{text{x2}^2+frac{J^2 text{Cos}[text{x3}]}{M^2}} & 0 & 0 & -frac{2 J text{x2} text{Sin}[text{x3}]^2}{text{x2}^2+frac{J^2 text{Cos}[text{x3}]}{M^2}} \
0 & frac{text{x2}^2+frac{J^2 text{Cos}[text{x3}]}{M^2}}{frac{J^2}{M^2}-2 M text{x2}+text{x2}^2} & 0 & 0 \
0 & 0 & text{x2}^2+frac{J^2 text{Cos}[text{x3}]}{M^2} & 0 \
-frac{2 J text{x2} text{Sin}[text{x3}]^2}{text{x2}^2+frac{J^2 text{Cos}[text{x3}]}{M^2}} & 0 & 0 & text{Sin}[text{x3}]^2 left(frac{J^2}{M^2}+text{x2}^2+frac{2 J^2 text{x2} text{Sin}[text{x3}]^2}{M left(text{x2}^2+frac{J^2 text{Cos}[text{x3}]}{M^2}right)}right)
end{array}
right)$

y en un momento obtenemos:

$latex Gamma^{1}_{alpha beta}$:

Gamma1

$latex Gamma^2_{alpha beta}$:

Gamma2

$latex Gamma^3_{alpha beta}$:

Gamma3

$latex Gamma^4_{alpha beta}$:

Gamma4

Calculamos ahora las ecuaciones de las geodesicas partiendo del hecho de que conocemos los símbolos de Christoffel. Como ya vimos, la ecuación en coordenadas a partir de estos es:

$latex frac{d^2}{dt^2}x^i + Gamma^i_{jk} frac{d}{dt}x^j frac{d}{dt}x^k = 0$.

Si nos fijamos, la estructura es sencilla: una ecuación por cada variable y, en esta, utilizamos los símbolos de Christoffel que la tienen como coordenada contravariante y cada símbolo acompañado del producto de las derivadas primeras de las variables que aparecen como covariantes.

Obviamente, y debido al tamaño de las expresiones, solo vamos a escribir de manera explícita alguna. Así pues, las ecuaciones de las geodésicas son:

$latex begin{cases} ddot{t} + ldots = 0 \ ddot{r} + ldots = 0 \ ddot{theta} + ldots = 0 \ ddot{varphi} + ldots = 0 end{cases}$

donde, por ejemplo, para $latex theta$ tenemos (algunas expresiones no caben pero al pinchar y arrastrar se ven completas):

$latex ddot{theta} – $

$latex – frac{J^2 M^5 r text{Sin}[theta]}{left(M^2 r^2+J^2 text{Cos}[theta]right)^3} dot{t}^2 + frac{J^2 M^2 text{Sin}[theta]}{2 left(J^2+M^2 r (-2 M+r)right) left(M^2 r^2+J^2 text{Cos}[theta]right)} dot{r}^2 – frac{J^2 text{Sin}[theta]}{2 M^2 r^2+2 J^2 text{Cos}[theta]} dot{theta}^2 – $

$latex -frac{left(J^2+M^2 r^2right) text{Cos}[theta] left(M^2 r^2+J^2 text{Cos}[theta]right)^2 text{Sin}[theta]+4 J^2 M^3 r text{Cos}[theta] left(M^2 r^2+J^2 text{Cos}[theta]right) text{Sin}[theta]^3+J^4 M^3 r text{Sin}[theta]^5}{left(M^2 r^2+J^2 text{Cos}[theta]right)^3} dot{varphi}^2 + $

$latex + frac{J M^4 r left(4 M^2 r^2 text{Cos}[theta]+J^2 (3+text{Cos}[2 theta])right) text{Sin}[theta]}{left(M^2 r^2+J^2 text{Cos}[theta]right)^3} dot{t} dot{varphi} + frac{r}{r^2+frac{J^2 text{Cos}[theta]}{M^2}} dot{r} dot{theta} = 0$

Ejemplos de cálculos tensoriales utilizando superficies de curvatura constante (III): símbolos de Christoffel y conexión de Levi-Civita.

Calculamos ahora los símbolos de Christoffel de la esfera y de la pseudoesfera. La formula general es:

$latex Gamma_{ij}^k = frac{1}{2} g^{rk} { frac{partial}{partial x^j}g_{ir} + frac{partial}{partial x^i}g_{jr} – frac{partial}{partial x^r}g_{ij} }$.

Empezamos con la esfera donde teniamos un embedding:

$latex f: S^2(frac{1}{a^2}) longrightarrow mathbb{R}^3 ,/, (theta,varphi) mapsto a(cos theta cos varphi, cos theta sin varphi, sin theta)$

y la métrica inducida medainte el pullback era:

$latex f^*h: a^2 dtheta^2 + a^2 sin^2 theta dvarphi^2$

Tenemos que calcular:

$latex Gamma^{theta}_{theta theta}, Gamma^{theta}_{theta varphi} = Gamma^{theta}_{varphi theta}, Gamma^{theta}_{varphi varphi}, Gamma^{varphi}_{theta theta}, Gamma^{varphi}_{theta varphi} = Gamma^{varphi}_{varphi theta}, Gamma^{varphi}_{varphi varphi}$

Calculamos, por ejemplo, $latex Gamma^{1}_{22} = Gamma^{theta}_{varphi varphi}$:

$latex Gamma_{varphi varphi}^theta = frac{1}{2} { frac{partial}{partial dvarphi}g_{varphi theta} + frac{partial}{partial varphi}g_{varphi theta} + frac{partial}{partial theta}g_{varphi varphi} } g^{theta theta} + frac{1}{2} { frac{partial}{partial dvarphi}g_{varphi varphi} + frac{partial}{partial varphi}g_{varphi varphi} + frac{partial}{partial varphi}g_{varphi varphi} } g^{varphi theta}$,

que, teniendo en cuenta que las bases son ortogonales, es decir, que métrica es diagonal, queda:

$latex Gamma^{theta}_{varphi varphi} = frac{1}{2} (frac{partial}{partial theta} g_{varphi varphi}) g^{theta theta} = -frac{1}{2 a^2} a^2 , 2 sin theta cos theta = – sin theta cos theta$.

Como son cálculos largos y tediosos donde es muy fácil equivocarse, he escrito una pequeña función en Mathematica que nos los calcula:


 Simbolos[] := For[ia = 1, ia <= 2, ia++,
   For[ib = 1, ib <= 2, ib++,
     For[ic = 1, ic <= 2, ic++,
       r = 0;
       For[ii = 1, ii <= 2, ii++,
         r = r + FullSimplify[
                              1/2*Inverse[g][[ii]][[ia]]*
                              (D[g[[ii]][[ib]],u[[ic]]] + 
                               D[g[[ii]][[ic]],u[[ib]]] - 
                               D[g[[ib]][[ic]], u[[ii]]])
                 ]
       ];
       Print["Gamma[", ia, ",", ib, ",", ic, "] = ", r]
     ]
   ]
 ]
 

Para utilizarla, simplemente inicializamos previamente a su llamada una matriz con nombre $latex g$ de dimensión $latex 2 times 2$ con la métrica (por ejemplo introducimos la de la esfera, las variables sobre las que deriva deben llamarse u_1 y u_2)

$latex g={{a{}^{wedge}2,0},{0,a{}^{wedge}2*text{Sin}[text{u1}]{}^{wedge}2}}$

y, a continuación, llamamos a la función Simbolos sin parámetros:

$latex text{Simbolos}[]$

y obtenemos:

$latex text{Gamma[}1,1,1text{] = }0$

$latex text{Gamma[}1,1,2text{] = }0$

$latex text{Gamma[}1,2,1text{] = }0$

$latex Gamma^{1}_{22} = text{Gamma[}1,2,2text{] = }-text{Cos}[text{u1}] text{Sin}[text{u1}]$

$latex text{Gamma[}2,1,1text{] = }0$

$latex text{Gamma[}2,1,2text{] = }text{Cot}[text{u1}]$

$latex text{Gamma[}2,1,2text{] = }text{Cot}[text{u1}]$

$latex text{Gamma[}2,2,2text{] = }0$

De la misma manera, para la pseudoesfera $latex mathbb{H}^2(-frac{1}{a^2})$ tenemos:

$latex g={{a{}^{wedge}2*text{Cot}[text{u1}]{}^{wedge}2,0},{0,a{}^{wedge}2*text{Sin}[text{u1}]{}^{wedge}2}}$

que nos da, al ejecutar $latex text{Simbolos}[]$,

$latex text{Gamma[}1,1,1text{] = }-text{Csc}[text{u1}] text{Sec}[text{u1}]$

$latex text{Gamma[}1,1,2text{] = }0$

$latex text{Gamma[}1,2,1text{] = }0$

$latex text{Gamma[}1,2,2text{] = }-text{Sin}[text{u1}]^2 text{Tan}[text{u1}]$

$latex text{Gamma[}2,1,1text{] = }0$

$latex text{Gamma[}2,1,2text{] = }text{Cot}[text{u1}]$

$latex text{Gamma[}2,2,1text{] = }text{Cot}[text{u1}]$

$latex text{Gamma[}2,2,2text{] = }0$.

Finalmente, si hacemos todos los cálculos finalmente para $latex mathbb{R}^2$ obtenemos que todos los símbolos de Christoffel son $latex 0$, de manera que, en este caso, y como era de esperar, la derivación parcial y la derivación covariante coinciden.

Conocidos los símbolos de Christoffel, la derivación covariante de cualquier tensor, por ejemplo $latex T^a_b$, queda:

$latex nabla_c T^a_b = partial_c T^a_b + Gamma^a_{dc} T^d_b – Gamma^d_bc T^a_d$,

que corresponde a la parcial a la que sumamos por cada índice covariante del tensor y restamos por cada índice contravariante. En cada caso, lo que se se suma o se resta, proviene del recorrerido sobre el otro índice y el correspondiente del símbolo de Christoffel por el criterio de sumación y fijando el resto.

Construcción de dos variedades de Riemann no isométricas a partir de la misma variedad diferenciable.

Tomamos el toro $latex mathbb{T}^2$ como variedad diferenciable sobre el que construiremos dos variedades de Riemann no isométricas.

Por una parte, si consideramos $latex mathbb{T}^2 = S^1(frac{1}{a^2}) times S^1(frac{1}{b^2})$. Como a $latex S^1(frac{1}{a^2})$ le corresponde la métrica $latex theta_1^2$ y a $latex S^1(frac{1}{b^2})$ le corresponde $latex theta_2^2$, podemos construir una variedad de Riemann con la métrica producto:

$latex (mathbb{T}^2, (dtheta^1)^2 + (dtheta^2)^2)$

Por otra, podemos considerar el embedding (la parametrización) de $latex mathbb{T}^2$ en $latex mathbb{R}^3$ siguiente:

$latex f: mathbb{T}^2 longrightarrow mathbb{R}^3 ,/, (theta^1,theta^2) mapsto (a+bcos theta^1) cos theta^2, (a + b cos theta^1) sin theta^2, b sin theta^2)$

de manera  que, mediante el pullback, podemos construir la métrica $latex f^*h$ donde $latex h$ es la métrica ordinaria de $latex mathbb{R}^3$:

$latex f^*h = b^2 (dtheta_1)^2 + (a+b cos theta^1)^2 (dtheta^2)^2$.

Estas dos variedades de Riemann no son isométricas (la primera tiene $latex k=0$, por lo que es isométrica al plano y la variedad recibe el nombre de toro plano, mientras que la segunda tiene $latex k neq 0$ y es el toro habitual).

Expresión en coordenadas de la conexión de Levi-Civita

El teorema de Whitney nos dice que toda variedad diferenciable admite una métrica. La idea es sencilla: como toda variedad $latex M$ admite una inmersión $latex f:M longrightarrow mathbb{R}^m$ en un espacio euclideo de dimensión apropiada $latex m$ entonces $latex f^*h$ es una métrica de Riemann en $latex M$ donde $latex h$ es la métrica ordinaria de $latex mathbb{R}^m$.

Dada una variedad de Riemann $latex (M,g)$, siempre podemos construir una conexión $latex nabla$ compatible con la métrica, $latex nabla_g = 0$, y libre de torsión, $latex T(nabla) = 0$ a la que llamaremos conexión de Levi-Civita.

¿Cómo es su expresión en coordenadas? La condición $latex nabla_g = 0$ hace que

$latex X(g(Y,Z)) = g(nabla_X Y,Z) + g(Y,nabla_X Z)$.

Si la escribimos tres veces permutando los campos $latex X, Y, Z$ obtenemos:

$latex X(g(Y,Z)) = g(nabla_X Y,Z) + g(Y,nabla_X Z)$,

$latex Z(g(X,Y)) = g(nabla_Z X,Y) + g(X,nabla_Z Y)$,

$latex Y(g(Z,X)) = g(nabla_Y Z,X) + g(Z,nabla_Y X)$.

Sumando las dos primeras, restando la última y aplicando que $latex T(nabla)=0$, es decir, que $latex nabla_X Y – nabla_Y X = [X,Y]$ nos queda:

$latex X(g(Y,Z)) + Z(g(X,Y)) – Y(g(Z,X)) = $

$latex = g([X,Y],Z) + g([Z,Y],X) + g([X,Z],Y) + 2g(nabla_Z X, Y)$,

por lo que, despejando:

$latex g(nabla_Z X, Y) = $

$latex = frac{1}{2} { X(g(Y,Z)) + Z(g(X,Y) + Y(g(Z,X)) -$

$latex – g([X,Y],Z) – g([Z,Y],X) + g([X,Z],Y) )}$.

Si $latex (U,(x^i))$  es un abierto de coordenadas de $latex (M,g)$, veamos la expresión de los símbolos de Christoffel de la conexión de Levi-Civita $latex nabla$. En la expresión anterior hacemos $latex Z = frac{partial}{partial x^i}$, $latex X = frac{partial}{partial x^j}$ y $latex Y = frac{partial}{partial x^r}$ y como el claudator de Lie para estos campos es cero, nos queda:

$latex g(nabla_{frac{partial}{partial x^i}} frac{partial}{partial x^j}, frac{partial}{partial x^r} ) = frac{1}{2} { frac{partial}{partial dx^j}g_{ir} + frac{partial}{partial x^i}g_{jr} + frac{partial}{partial x^j}g_{ij} } =$

es decir:

$latex Gamma_{ij}^l g_{lr} = frac{1}{2} { frac{partial}{partial x^j} g_{ir} + frac{partial}{partial x^i} g_{jr} + frac{partial}{partial x^r} g_{ij} }$

y utilizando la matriz inversa $latex g^{ij}$ de $latex g_{ij}$ obtenemos:

$latex Gamma_{ij}^l g_{lr}g^{rk} = Gamma_{ij}^l delta_l^k = Gamma_{ij}^k = frac{1}{2} { frac{partial}{partial dx^j}g_{ir} + frac{partial}{partial x^i}g_{jr} + frac{partial}{partial x^r}g_{ij} } g^{rk}$,

Por lo que los símbolos de Christoffel de la conexión de Levi-Civita se obtienen a partir de la métrica y de sus primeras derivadas.

Reescritura en cartesianas de la reformulación covariante del sector elíptico de la aproximación CFC en términos de CoCoNuT

Ya escribimos al respecto en este post. Aquí lo que haremos es reescribir las expresiones allí introducidas

En primer lugar, teniamos:

 $latex Delta X^i = 8 pi f^{ij}S_j^* – frac{1}{3}mathcal{D}^i mathcal{D}_j X^j$

donde:

$latex S_j^* := sqrt{ frac{gamma}{f} } S = psi^6 S_j$,

$latex S_j := rho h w^2 v_j$.

En el caso de estar trabajando en cartesianas y teniendo en cuenta todo el trabajo realizado en el artículo, nos queda:

$latex partial_{xx} X^x + partial_{yy} X^x + partial_{zz} X^x = 8 pi psi^6 rho h w^2 v_x – frac{1}{3} partial_x (partial_x X^x + partial_y X^y + partial_z X^z)$,

$latex partial_{xx} X^y + partial_{yy} X^y + partial_{zz} X^y = 8 pi psi^6 rho h w^2 v_y – frac{1}{3} partial_y (partial_x X^x + partial_y X^y + partial_z X^z)$,

$latex partial_{xx} X^z + partial_{yy} X^z + partial_{zz} X^z = 8 pi psi^6 rho h w^2 v_z – frac{1}{3} partial_z (partial_x X^x + partial_y X^y + partial_z X^z)$.

A continuación, y para la siguiente ecuación, necesitamos:

$latex hat{A}^{ij} = mathcal{D}^i X^j + mathcal{D}^j X^i – frac{2}{3} mathcal{D}_k X^k f^{ij}$

que queda como:

$latex hat{A}^{xx} = 2 partial_x X^x – frac{2}{3} (partial_x X^x + partial_y X^y + partial_z X^z)$,

$latex hat{A}^{xy} = hat{A}^{yx}= partial_x X^y + partial_y X^x$,

$latex hat{A}^{xz} = hat{A}^{zx} = partial_x X^z + partial_z X^x$,

$latex hat{A}^{yy} = 2 partial_y X^y – frac{2}{3} (partial_x X^x + partial_y X^y + partial_z X^z)$,

$latex hat{A}^{yz} = hat{A}^{zy} = partial_y X^z + partial_z X^y$,

$latex hat{A}^{zz} = 2 partial_z X^z – frac{2}{3} (partial_x X^x + partial_y X^y + partial_z X^z)$,

por lo que:

$latex Delta psi = -2 pi psi^{-1} E^* – psi^{-7} frac{f_{il}f_{jm}hat{A}^{lm}hat{A}^{ij}}{8}$

donde:

$latex E^*:= sqrt{ frac{gamma}{f} } E = psi^6 E$,

$latex E:= D + tau$

es:

$latex Delta psi = -2 pi psi^{-1} (D + tau) – psi^{-7} frac{(hat{A}^{xx})^2+(hat{A}^{yy})^2+(hat{A}^{zz})^2+2(hat{A}^{xy})^2+2(hat{A}^{xz})^2+2(hat{A}^{yz})^2}{8}$.

La siguiente:

$latex Delta (alphapsi) = 2 pi (alphapsi)^{-1} (E^* + 2S^*) + frac{7}{8} (alphapsi)^{-7} (f_{il} f{jm} hat{A}^{lm} hat{A}^{ij})$

con:

$latex S^*:= sqrt{ frac{gamma}{f} } S = psi^6 S$,

$latex S:= rho h (w^2-1) + 3 p$

queda:

$latex Delta (alphapsi) = 2 pi (alphapsi)^{-1} ( D + tau + 2 rho h (w^2-1) + 6 p) + $

$latex + frac{7}{8}(alphapsi)^{-7} ((hat{A}^{xx})^2+(hat{A}^{yy})^2+(hat{A}^{zz})^2+2(hat{A}^{xy})^2+2(hat{A}^{xz})^2+2(hat{A}^{yz})^2)$

Y la última:

$latex Delta beta^i = mathcal{D}_j (2 (alphapsi)^{-6} hat{A}^{ij}) – frac{1}{3} mathcal{D}^i (mathcal{D}_j beta^j)$,

que escribimos como:

$latex Delta beta^x = partial_x (2 (alpha psi)^{-6} hat{A}^{xx}) + partial_y (2 (alpha psi)^{-6} hat{A}^{xy}) + partial_z (2 (alpha psi)^{-6} hat{A}^{xz}) – $

$latex – frac{1}{3} partial_x (partial_x beta^x + partial_y beta^y + partial_z beta^z)$

$latex Delta beta^y = partial_x (2 (alpha psi)^{-6} hat{A}^{yx}) + partial_y (2 (alpha psi)^{-6} hat{A}^{yy}) + partial_z (2 (alpha psi)^{-6} hat{A}^{yz}) – $

$latex – frac{1}{3} partial_y (partial_x beta^x + partial_y beta^y + partial_z beta^z)$

$latex Delta beta^z = partial_x (2 (alpha psi)^{-6} hat{A}^{zx}) + partial_y (2 (alpha psi)^{-6} hat{A}^{zy}) + partial_z (2 (alpha psi)^{-6} hat{A}^{zz}) – $

$latex – frac{1}{3} partial_z (partial_x beta^x + partial_y beta^y + partial_z beta^z)$

Ejemplos de cálculos tensoriales utilizando superficies de curvatura constante (II): longitud de una curva sobre la variedad y geodésicas.

Sigamos con lo que empezamos en el post anterior.

Empezamos trabajando ahora suponiedo que, inicialmente, nos dan la variedad de Riemann $latex (S^2(1/a^2),g)$ con

$latex g = left(
begin{array}{cc}
a^2 & 0 \
0 & a^2 sin^2 theta
end{array}
right)$

y veremos como calcular, a partir de aquí, como encontrar longitudes, áreas, ángulos, la conexión de Levi-Civita correspondiente a la métrica dada, es decir, como realizar la derivación covariante o transporte paralelo, como encontrar las geodésicas, la calcular la curvatura intrínseca, etc.

Para empezar, dada una curva $latex gamma:I longrightarrow M$ diferenciable, $latex forall a,b in I$, $latex a < b$, se define la longitud del segmento de curva $latex alpha$, desde $latex a$ hasta $latex b$, como:

$latex L [gamma]_a^b=int_a^b || gamma’||dt$ con $latex ||gamma’|| = sqrt{g(gamma’,gamma’)}$,

es decir:

$latex L [gamma]_a^b=int_a^b sqrt{g_{ij} gamma’^i gamma’^j} dt$

En este primer caso que nos ocupa, vamos a medir la longitud de medio meridiano, $latex varphi=0$ ,parametrizado sobre la esfera como $latex gamma(theta,0)=a(sin theta, 0, cos theta)$ con $latex theta in ]0,pi[$. Pero hay que realizar los cálculos de manera intrínseca, por lo que la curva que nos interesa es $latex gamma(theta)=(theta,0)$ con $latex theta in ]0,pi[$. Calculamos $latex dot{gamma}(t) = (1,0)$, de manera que $latex dot{gamma}^1(t) = 1$ y  $latex dot{gamma}^2(t)=0$. Entonces:

$latex L[gamma]_0^{pi} = int_0^{pi} sqrt{sum_{i=0}^1 sum_{j=0}^1 g_{ij} dot{gamma}^i(t) dot{gamma}^j(t)} dt = int_0^{pi} sqrt{ a^2 } dt = a int_0^{pi} dt = a pi$

De la misma manera, para los habitantes de la hiperesfera $latex mathbb{H}^2(-frac{1}{a^2})$, pueden medir la longitud de una sección apropiada (recordar que tenemos comportamiento asintótico en $latex 0$ y cambio discontínuo de la normal a la superfície en $latex theta = frac{pi}{2}$) de su meridiano $latex 0$ sabiendo su parametrización en coordenadas $latex (theta, phi)$ sobre la hiperesfera y conociendo la métrica de esta variedad en donde viven:

$latex gamma(theta,varphi) = (theta, 0)$ con $latex theta in ]b,c[$

$latex g = left(
begin{array}{cc}
a^2 cot^2 theta & 0 \
0 & a^2 sin^2 theta
end{array}
right)$

de manera que, procediendo como antes:

$latex L[gamma]_b^c = a int_b^{c} sqrt{cot^2 theta} dtheta = a sqrt{cot^2 theta} tan theta ln[sin theta]|_{b}^{c}$.

Por ejemplo, para $latex a=1$, $latex b = frac{pi}{4}$ y $latex c = frac{pi}{2}$ nos queda $latex L[gamma]_{frac{pi}{4}}^{frac{pi}{2}} = frac{ln{2}}{2}$ y para $latex L[gamma]_{frac{pi}{8}}^{frac{pi}{2}} = -ln{sin frac{pi}{8}}$.

¿Necesitamos calcular la conexión de Levi-Civita $latex nabla$, que es la única libre de torsión (dados dos campos vectoriales $latex X, Y$, como $latex T(X,Y) = nabla_X Y – nabla_Y X – [X,Y]$, lo que tenemos es que $latex nabla_X Y – nabla_Y X = [X,Y]$) que preserva la métrica ($latex nabla_g = 0$) para calcular las geodésicas?

Pues no.  En el libro Geometría Diferencial y Relatividad de J. Girbau encontramos una receta del procedimiento para calcular las geodésicas basada en, a grandes rasgos:

  • Llamamos geodésica a toda curva $latex x(t)$ tal que $latex nabla_{dot{x(t)}} dot{x(t)} = 0$.
  • En coordenadas, $latex nabla_X Y = ( X(Y^k) + Y^j X^i Gamma_{ij}^k) e_k$.
  • En una carta local $latex (U,x^i)$, le ecuación $latex nabla_{dot{x(t)}} dot{x(t)}$ se escribe $latex frac{d^2 x^i}{dt^2}+Gamma_{jk}^i frac{dx^j}{dt} frac{dx^k}{dt} = 0$ donde $latex Gamma_{jk}^i$ son los símbolos de Christoffel relativos a la base $latex partial_{x^i}$.
  • «muchos matemáticos alejados del mundo de la física o del cálculo de variaciones en su formulación primitiva de Euler», como es mi caso :-), «tienen la firme convicción de que para escribir explícitamente las ecuaciones de las geodésicas de una determinada métrica de Riemann es indispensable haber calculado previamente la derivada covariante $latex nabla$ asociada a la métrica, ya sea por sus símbolos de Christoffel o per algun otro método equivalente. Nada mas lejos de la realidad».
  • Tendremos la métrica $latex g$ que depende de $latex x^1,ldots,x^n$. Escribimos, formalmente, la función de $latex 2n$ variables $latex x^i, dot{x}^i$ que volvemos a denotar $latex g$ abusando de la notación. Entonces, con la convención $latex frac{d}{dt}x^i = dot{x}^i$ y $latex frac{d}{dt}dot{x}^i = ddot{x}^i$, las ecuaciones de las geodésicas son: $latex frac{d}{dt} frac{partial}{partial dot{x}^i} g = frac{partial}{partial x ^i} g $.

Vamos a aplicarlo, en primer lugar, a la esfera $latex S^2(frac{1}{a^2})$. Como:

$latex g = a^2 dtheta otimes dtheta + a^2 sin^2 theta dvarphi otimes dvarphi$,

entonces:

$latex g(theta,varphi,dot{theta},dot{varphi}) = a^2 dot{theta}^2+ a^2 sin^2 theta dot{varphi}^2$,

de manera que:

$latex partial_theta g = a^2 , 2 sin theta cos theta dot{varphi}^2$

$latex partial_varphi g = 0$

$latex partial_{dot{theta}} g = a^2 , 2 dot{theta}$ y entoces $latex frac{d}{dt} partial_{dot{theta}} g = a^2 2 ddot{theta}$

$latex partial_{dot{varphi}} g = a^2 sin^2 theta 2 dot{varphi} $ y entonces $latex frac{d}{dt} partial_{dot{varphi}} g = 2 a^2 sin theta (cos theta dot{theta} dot{varphi} + sin theta ddot{varphi})$.

Así pués, las ecuaciones de las geodésicas son:

$latex begin{cases}ddot{theta} – dot{varphi}^2 sin theta cos theta = 0 \ sin theta (2 dot{theta} dot{varphi} cos theta + ddot{varphi} sin theta) = 0 end{cases}$

En el caso de la pseudoesfera $latex mathbb{H}^2(-frac{1}{a^2})$ tenemos:

$latex g = a^2 cot^2 theta dtheta otimes dtheta + a^2 sin^2 theta dvarphi otimes dvarphi$,

entonces:

$latex g(theta,varphi,dot{theta},dot{varphi}) = a^2 cot^2 theta dot{theta}^2+ a^2 sin^2 theta dot{varphi}^2$,

de manera que:

$latex partial_theta g = 2 a^2 (-dot{theta}^2 cot theta csc^2 theta + dot{varphi}^2 cos theta sin theta )$

$latex partial_varphi g = 0$

$latex partial_{dot{theta}} g = 2 a^2 dot{theta} cot^2 theta$ y entoces $latex frac{d}{dt} partial_{dot{theta}} g = 2 a^2 cot theta (ddot{theta} cot theta – 2 dot{theta}^2 csc^2 theta )$

$latex partial_{dot{varphi}} g = 2 a^2 dot{varphi} sin^2 theta$ y entonces $latex frac{d}{dt} partial_{dot{varphi}} g =2 a^2 sin theta (ddot{varphi} sin theta + 2 dot{theta} dot{varphi} cos theta )$.

Así pues, las geodésicas cumplen:

$latex begin{cases} cot theta (ddot{theta} cot theta – 2 dot{theta}^2 csc^2 theta) – (-dot{theta}^2 cot theta csc^2 theta + dot{varphi}^2 cos theta sin theta ) = 0 \ sin theta (ddot{varphi} sin theta + 2 dot{theta} dot{varphi} cos theta ) = 0 end{cases}$

Para terminar, procediento de la misma manera para $latex mathbb{R}^2$ obtenemos que las geodésicas satisfacen:

$latex begin{cases} ddot{theta} = 0 \ ddot{varphi} = 0 end{cases}$

Ejemplos de cálculos tensoriales utilizando superficies de curvatura constante (I): primera y segunda forma fundamental, normal y curvatura intrínseca.

Existe un teorema que nos dice que dada una variedad de Riemann $latex M$ conexa, completa y simplemente conexa con curvatura constante $latex k$ es isométrica a:

  • el Espacio Hiperbólico: $latex mathbb{H}^n(k)$ si $latex k<0$,
  • el Espacio Euclídeo: $latex mathbb{R}^n$ si $latex k=0$,
  • la Hipersuperfície Esférica: $latex S^n(k)$ si $latex k>0$.

En particular, cuando la dimensión sea $latex n=2$, tenemos las superfícies $latex mathbb{H}^2(k)$, trabajaremos con la pseudoesfera, el plano $latex mathbb{R}^2$ y la esfera $latex S^2(k)$.

En este caso, existe una forma sencilla de calcular la primera forma fundamental $latex I equiv ds^2$, la métrica inducida por la métrica Euclidea del espacio ambiente $latex mathbb{R}^3$ en el que las superficies pueden ser embebidas, a partir de su parametrización (Una parametrización $latex f$ es un embedding y si $latex h$ es la métrica del espacio ambiente entonces tenemos la métrica $latex f^*h$ en la variedad):

$latex S(u,v)=(x(u,v),y(u,v),z(u,v))$,

$latex I(u,v) = E(u,v) du otimes du + F(u,v) du otimes dv + $

$latex + F(u,v) dv otimes du + G(u,v) dv otimes dv$

o, lo que es lo mismo,

$latex ds^2 = g_{00} du^2 + g_{01} du dv + g_{10} dv du + g_{11} dv^2$

donde

$latex g_{00}=frac{partial}{partial u}S(u,v) cdot frac{partial}{partial u}S(u,v) = partial_u S cdot partial_u S$

$latex g_{01}=g_{10} = partial_u S cdot partial_v S$

$latex g_{11} = partial_v S cdot partial_v S$.

Si en lugar de $latex u$ y $latex v$ trabajamos con $latex u_1$ y $latex u_2$ entonces podemos escribir

$latex ds^2 = sum_{i=0}^1 g_{ij}du^i du^j = g_{ij}du^i du^j$,

donde al final aplicamos el $latex C sum E$ con $latex i=1,2$ y $latex j=1,2$.

También son sencillas de calcular el vector normal $latex boldsymbol{n}$, la segunda forma fundamental $latex II$ y la curvatura de Gauss o intrínseca $latex k$:

$latex boldsymbol{n} = frac{partial_u S times partial_v S}{|| partial_u S times partial_v S||}$,

$latex II(u,v) = L(u,v) du otimes du + M(u,v) du otimes dv + $

$latex + M(u,v) dv otimes du + N(u,v) dv otimes dv$

o, lo que es lo mismo,

$latex amalg = b_{00} du^2 + b_{01} du dv + b_{10} dv du + b_{11} dv^2$ o $latex amalg = b_{ij}du^i du^j$

donde

$latex b_{00}=partial_{uu} cdot boldsymbol{n}$

$latex b_{01}=b_{10} = partial_{uv} S cdot boldsymbol{n}$

$latex b_{11} = partial_{vv} S cdot boldsymbol{n}$,

$latex k = frac{LN-M^2}{EG-F^2} = frac{b_{11}b_{22}-b_{12}^2}{g_{11}g_{22}-g_{12}^2}$

Calculamos a continuación todos estos valores en las superficies que nos interesan.

Plano $latex mathbb{R}^2$

Utilizamos la parametrización $latex S(u,v)=(u,v,0)$ con $latex u in mathbb{R}$ y $latex v in mathbb{R}$ (desde el punto de vista de las variedades, tenemos un atlas  con una única carta que es la identidad. Recordar que las cartas van en sentido contrario)

plaR2

$latex g_{00} = partial_u S cdot partial_u S = (1,0,0) cdot (1,0,0) = 1$

$latex g_{01} = g_{10} = 0$, $latex g_{11}=1$

$latex boldsymbol{n} = (0,0,1)$

$latex partial_{uu} S = partial_{uv} S = partial_{vv} S = 0$ y, por tanto, $latex b_{ij}=0$

$latex k = frac{0.0 – 0^2}{1.1 – 0^2} = 0$.

Esfera $latex S^2(k)$

Parametrizamos según indica la figura:

esfera

$latex g_{00} = a^2$, $latex g_{01} = g_{10} = 0$, $latex g_{11}=a^2 sin^2 theta $

$latex boldsymbol{n} = (sin theta cos varphi, sin theta sin varphi ,cos theta)$

$latex b_{00} = -a$, $latex b_{01} = b_{10} = 0$, $latex b_{11}=-a sin^2 theta$

y, por tanto, $latex k = frac{-a.-a sin^2 theta – 0^2}{a^2.a^2 sin^2 theta – 0^2} = frac{1}{a^2}$.

Pseudoesfera $latex mathbb{H}^2(k)$

pseudoesfera

$latex g_{00} = a^2 cot^2 theta$, $latex g_{01} = g_{10} = 0$, $latex g_{11}=a^2 sin^2 theta $

$latex boldsymbol{n} = (-|cos theta| cos varphi, – |cos theta| sin varphi, sgn(cos theta) sin theta)$

$latex k = -frac{1}{a^2}$.

Para terminar, ¿que tiene de curioso la siguiente aparente parametrización como superficie de revolución de $latex mathbb{R}^2$ para que nos de $latex g_{11} = theta^2$?

plano

Hasta aquí calculamos de manera clásica.

Premio Abel para Pierre Deligne

Pierre Deligne es el ganador del Premio Abel de este año 2013:

«for seminal contributions to algebraic geometry and for their transformative impact on number theory, representation theory, and related fields”

Dos de los blogs que sigo también se hacen eco de la noticia, el de Francisthemulenews y el de Gowers, que de hecho es el encargado oficial de presentar su trabajo al público general. El resumen oficial en español aquí.

El premio Abel es el Nobel de las matemáticas. Era extraño que no existiera un Nobel para esta disciplina fundamental. La Medalla Fields cubre esa ausencia, aunque busca premiar a jovenes talentos, no a matemáticos consagrados. De ahí el premio Abel, creado en el bicentenario del nacimiento del matemático noruego Niels Henrik Abel el año 2002 y otorgado por la Academia Noruega de las Ciencias y las Letras de Noruega, con una dotación económica de $latex 750000$ euros similar a la del Nobel.

La geometría algebraica trata de los conjuntos de soluciones de sistemas de ecuaciones polinómicas en varias variable. Al igual que el conjunto de soluciones de los sistemas de ecuaciones lineales en una variable determinan una variedad lineal (puntos, rectas, planos, etc.), las soluciones de los sistemas de ecuaciones polinómicas no lineales determinan variedades algebraicas.

Andre Weil hizo grandes aportaciones a la geometría algebraica, desarrollando todo un lenguaje y una fundamentación para la misma. En un momento propuso cuatro afirmaciones que no pudo demostrar, conocidas a partir de entonces como las Conjeturas de Weil, siendo la última la mas dificil y la mas profunda. Son las siguientes:

Sea $latex Z(x)$ la función zeta asociada a un sistema de ecuaciones polinómicas de grado $latex n$ y sea $latex q$ un primo. Entonces:

  1. $latex Z(x)$ puede escribirse de la forma $latex frac{P(x)}{Q(x)}$ para dos polinomios $latex P$ y $latex Q$ con coeficientes enteros.
  2. Concretamente, existe una fórmula de la forma $latex Z(x)=frac{P_1(x) P_3(x) ldots P_{2n-1}(x)}{P_0(x) P_2(x) ldots P_{2n}(x)}$ donde cada $latex P_i$ tiene coeficientes enteros y los reciprocos de las raices de $latex P_i$ son enteros algebraicos y las raices tienen módulo $latex q^{frac{-i}{2}}$.
  3. La función $latex z mapsto 1/q^n z$ intercambia las raices de $latex P_i$ con las de $latex P_{2n-1}$.
  4. Bajo condiciones apropiadas, el grado de $latex P_i$ es igual al $latex i$-ésimo Número de Betti del conjunto determinado por el sistema de ecuaciones polinómicas con coeficientes sobre $latex mathbb{C}$.

Alexander Grothendieck es el siguiente personaje importante en el area, pues reescribió la geometría algebraica subsumiendo el concepto de variedad algebraica en el de esquema, entendiendo que cualquier anillo conmutativo puede ser un objeto geométrico, dotando de esta manera, de un nuevo lenguaje y una fundamentación, mucho mas potente que la de Weil, para la geometría algebraica.

A pesar de su abstracción, o precisamente por ella, esta última visión es la que ha permanecido, pues permite conectar dos mundos, el de la geometría algebraica y el de la álgebra conmutativa. Fué gracias a ella que Grothendieck pudo demostrar la ecuación funcional y tenía ideas, demostrar las conjeturas estandar, para abordar la última conjetura.

Es aquí cuando entra en escena Pierre Deligne, discípulo aventajado de Grothendieck. que la demostró pero sin seguir el guión propuesto por Grothendieck, es decir, sin demostrar las conjeturas estandar (de hecho hay gente que piensa que fue capaz de demostrarla porque era el único que realmente comprendía toda la reformulación de su maestro).

Yo no entiendo mucho, y Gowers dice que tampoco, aunque muchísimo mas que yo, por supuesto. pero la demostración dicen que es asombrosa, pues utiliza muchos resultados muy profundos y complidos del area, en palabras del propio Gowers:

  • A theorem of Kazhdan and Margulis about monodromy groups of Lefschetz pencils.
  • A method of Rankin for estimating Ramanujan’s tau function.
  • A cohomology theory of Grothendieck for certain L-functions.
  • The classical invariant theory of the symplectic group.
  • A Leray spectral sequence argument.
  • The «tensor-power trick»

De hecho, esta demostración ya le valió en su momento la medalla Fields. En fin, casi nada… Nuestra felicitación a Pierre Deligne.

SCM Pattern Language

Alguna definicion previa (mantendremos la nomenclatura inglesa):

Un workspace es un lugar donde el desarrollador tiene todos las entidades que necesita para realizar su tarea. En concreto, puede ser un arbol de directorios en disco en el area de trabajo del desarrollador o una colección de ficheros mantenidad en un espacio abstracto por una herramienta. Está asociado con versiones particulares de las entidades. Debe disponer de un mecanismo para construir ejecutables a partir de su contenido.

Una codeline es un conjunto de fichero fuente y otras entidades que forman parte y que cambia a lo largo del tiempo. Cada vez que modificamos un fichero u otra entidad en el sistema de control de versiones, creamos una revisión de los mismos. Una codeline contiene cada versión de cada entidad a lo largo de un camino de evolución.

Dado que las ramas en las que se trabaja en paralelo no constituyen conjuntos disjuntos, el merge siempre tiene un overhead debido a posibles conflictos.

En cada uno de los patrones aparecen los problemas que intenta resolver y el esquema de solución.

Mainline
¿Cómo mantener el numero de codelines activas de manera que sea un conjunto manejable, y evitar que el crecimiento del arbol de versiones deproyecto lo lleve a ser demasiado amplio o demasiado denso? ¿Como evitar el overhead del merging?

mainlineDevelopment

Active Development Line
¿Cómo conseguir una codeline rapidamente evolucionable pero lo suficientemente estable para poder utilizarse?

labelingNamedStableBases

Private Workspace

SCM: Software configuration management

Acabo de conseguir el libro Software Configuration Management Patterns: Effective Teamwork, Practical Integration de Stephen P. Berczuk, Brad Appleton y Kyle Brown en el que se abordan diferentes patrones para la Gestión de Configuración de Software. Además, encontre una presentación de G. Serrano basada en el libro que cubre sobradamente nuestros intereses.

En la práctica, la SCM se preocupa de como construir y lanzar un producto, así como de la identificación y el seguimiento de sus modificaciones.

Para empezar, ¿qué entendemos por patrón? La idea de patrón tal y como la utilizaremos aparece originalmente en el trabajo que el arquitecto Christopher Alexander hizo en construcción arquitectónica para describir las cualidades de un buen diseño arquitectónico. Define patrón como una «solución a un problema en un contexto», como algo que «describe un problema que ocurre una y otra vez en nuestro entorno, y describe la esencia de la solución a dicho problema, de manera que puedes utilizar esa solución millones de veces sin tenerlo que hacer dos veces de la misma manera».

El esquema de patrones que seguiremos es:

SCMPatternLanguage

Prezi: la presentación desde el esquema

Acabo de descubrir Prezi, un programa que nos permite crear presentaciones online.

Por una parte, como acabamos de decir, permite tanto su creación como su exposición sin necesidad de ninguna instalación local. Por otra, el punto mas original, es que nos permite crearla a partir de un único esquema por el que podremos navegar líbremente, un complejo gráfico por el que nos iremos desplazando, acercando y alejando a lo largo de nuestra exposición.

Existen tres modalidades, una de ellas gratuita, para darnos de alta en el sistema. A partir de ahí, podemos crear tantas presentaciones como queramos (tenemos un límite de almacenamiento) y disponemos de unas cuantas plantillas, que parecen meditadas, que nos facilitarán la iniciación en el sistema.

Las presentaciones, la verdad, quedan resultonas.

Para los que utilizamos latex, tenemos que añadirlo como imagen (generada, por ejemplo, mediante LatexIt).

GR: calculo tensorial y electrodinámica en SR

En la Lecture III del curso sobre GR de C. Hirata nos comenta, por una parte, operaciones sobre tensores, y por otra, electrodinámica en relatividad especial.

La primera operación que define es el producto tensorial. Dados dos tensores $latex A$ y $latex B$ de tipo $latex binom{m}{n}$ y $latex binom{p}{q}$ respectivamente, podemos construir un nuevo tensor $latex A otimes B$ de tipo $latex binom{m+p}{n+q}$ haciendo:

$latex (boldsymbol{A} otimes boldsymbol{B})(boldsymbol{tilde{k}},ldots,boldsymbol{u},boldsymbol{tilde{l}},ldots,boldsymbol{v}):=boldsymbol{A}(boldsymbol{tilde{k}}ldotsboldsymbol{u})boldsymbol{B}(boldsymbol{tilde{l}},ldots,boldsymbol{v}) $

que en components queda:

$latex (A otimes B)^{alpha_1 ldots alpha_m,,gamma_1 ldots gamma_p}_{beta_1 ldots beta_n ,, delta_1 ldots delta_q} = A^{ alpha_1 ldots alpha_m}_{beta_1 ldots beta_n} B^{gamma_1 ldots gamma_p}_{delta_1 ldots delta_q}$

Comenta la idea intuitiva que lo que estamos haciendo es la generalización  a tensores de rango arbitrario del hecho de construir la matriz $latex boldsymbol{u}boldsymbol{v^T}$ a partir de los dos vectores (columna, siempre columna los vectores…) $latex boldsymbol{u}$ y $latex boldsymbol{v}$.

Ya comentamos que:

$latex boldsymbol{d}f(boldsymbol{v}) = frac{d}{dt}(boldsymbol{x}(t) circ f)|_{t=0}$.

Podemos generalizarlo para un tensor $latex boldsymbol{T}$ de rango cualquiera. Por ejemplo, con rango $latex binom{1}{1}$ tendriamos $latex T^{alpha}_{beta}$ y:

$latex (boldsymbol{nabla T}$

Contracción de un tensor

Transposición de un tensor

Simetrización y antisimetrización de un tensor

Producto exterior

Tensor de volumen

Derivada exterior

Con respecto a la parte de electrodinámica, empezamos con la fuerza de Lorentz clásica, que es la fuerza que experiementa una particula de masa $latex m$ y carga $latex e$ sometida a un cambo electromagnético:

$latex m frac{d}{dt} boldsymbol{v} = e( boldsymbol{E} + boldsymbol{v} times boldsymbol{B} )$.

Para su generalización en SR necesitamos, por una parte, que la ecuación sea invariante Lorentz, y por otra, pensar como se generaliza el producto vectorial. La opción mas simple y que funciona es, pensando en $latex 4$-aceleraciones, el campo electromagnético y las $latex 4$-velocidades, la siguiente:

$latex frac{d}{dtau}p^{alpha} = m^{alpha} = e F^{alpha}_{beta} u^{beta}$

Tenemos ahora $latex 16$ ecuaciones mientras que, hasta ahora, teniamos $latex 6$: $latex 3$ para el campo eléctrico y $latex 3$ para el campo magnético.

Ecuaciones de Maxwell

GR: operador gradiente, tiempo propio, 4-momento y algebra tensorial

En su Lecture II, Christopher empieza hablando del gradiente $latex boldsymbol{d}f$ de un campo escalar $latex f$ como una $latex 1$-forma (transformable en vector subiendo un índice) importante que nos permitirá definir bases de vectores y $latex 1-$formas en espacios curvados.

La explicación está bastante clara y lo que hace es traducir lo que nos encontrariamos trabajando con variedades a un lenguaje comprensible para aquellos que aun no las conocen, es decir, existe una manera general de construir la diferencial en un punto de una función con dominio en una variedad y los espacios planos con los que estamos trabajando no son mas que casos particulares de variedades donde las cartas son la identidad (podemos pensar $latex mathbb{R}^3$ como una variedad diferenciable con la carta identidad: $latex (mathbb{R}^3,id)$. A partir de ahí podemos construir las variedades tangentes, $latex T_mmathbb{R}^3 cong mathbb{R}^3$, y cotangente y en esta última aparece la diferencial como una $latex 1$-forma).

El resumen es, sean $latex alpha(t)$ una trayectoria y $latex f$ un campo escalar en el espacio plano considerado, entonces podemos construir una función $latex (f circ alpha)(t) = f(alpha(t))$ que, por ser una función de una variable, podemos derivar y evaluar en $latex t=0$:

$latex frac{d}{dt}(f circ alpha)(t)|_{t=0}$,

por lo que podemos escribir:

$latex frac{partial}{partial boldsymbol{v}} f := frac{d}{dt}$ $latex (f circ alpha)(t) = langle boldsymbol{d}f, boldsymbol{v} rangle$

donde $latex boldsymbol{v} = frac{d}{dt}alpha(t)$ y $latex boldsymbol{d}f$ es la $latex 1$-forma diferencial o gradiente de $latex f$.

En un espacio plano se puede escoger un sistema de referencia en el que las coordenadas $latex x^alpha$ son las componentes de vector de posición $latex boldsymbol{x} = x^alpha boldsymbol{e}_alpha$. En este caso:

$latex langle boldsymbol{d}(x^alpha) , boldsymbol{v} rangle = frac{d}{dt}x^alpha = v^alpha$,

por lo que $latex $, formando una base. Definimos $latex boldsymbol{d}(x^alpha) := boldsymbol{omega}^alpha$.

Dada una partícula que sigue una trayectoria $latex boldsymbol{alpha}(t) = x^{alpha}(t)$, podemos parametrizarla mediante el tiempo propio $latex tau$ que es aquel que cumple:

$latex |frac{d}{dtau}boldsymbol{alpha}(tau)|^2 = frac{d}{dtau}x^{alpha}(tau) cdot frac{d}{dtau}x^{alpha}(tau) = -1$.

Siempre podemos reparametrizar haciendo:

$latex frac{d}{dt}tau = sqrt{-frac{d}{dt}alpha(t) cdot frac{d}{dt}alpha(t)}$.

La idea, desde el punto de vista de curvas sobre variedades, es que la parametrización mediante el tiempo propio no es mas que el equivalente a la parametrización por longitud de arco de manera de manera que nos permita medir la longitud de la misma que en este caso corresponde a medir tiempos (lo del reloj propio y estas cosas).

Para tener un invariante Lorentz de la velocidad $latex boldsymbol{v}$ definimos la $latex 4$-velocidad $latex boldsymbol{u}$ como:

$latex boldsymbol{u}:=frac{d}{dtau}alpha(tau)$,

ya que, como acabamos de ver, por construcción tenemos $latex boldsymbol{u} cdot boldsymbol{u} = -1$.

Para un objeto con masa $latex m$ definimos el $latex 4$-momento como $latex boldsymbol{p} = m boldsymbol{v}$, de manera que $latex boldsymbol{p} cdot boldsymbol{p} = -m^2$. La componente temporal $latex p^0$ del $latex 4-$momento es la energía y las componentes espaciales $latex p^i$ son los $latex 3$-momentos.

Finalmente, si hay fuerzas tenemos aceleraciones. La $latex 4$-aceleración $latex boldsymbol{a}$ se define como

$latex boldsymbol{a} = frac{d}{dtau}boldsymbol{v}$ o $latex a^{mu} = frac{d}{dtau}v^{mu}$.

En variedades generales, para que la aceleración tenga sentido, necesitaremos trabajo extra, pues necesitaremos ser capaces de trasladar paralelamente vectores sobre la variedad.

Para finalizar, nos habla de algunos conceptos mas de algebra tensorial. En primer lugar define un tensor $latex boldsymbol{T}$ de tipo $latex binom{m}{n}$ como un operador lineal que actua sobre $latex m$ $latex 1$-formas y $latex n$ vectores y nos devuelve un escalar:

$latex boldsymbol{T}(boldsymbol{tilde{k}},ldots, boldsymbol{tilde{l}}, boldsymbol{u},ldots, boldsymbol{v})$

y que, fijada una referencia, queda determinada por su actuación sobre los elementos de esta base:

$latex boldsymbol{T}(boldsymbol{w}^{alpha_1},ldots,boldsymbol{w}^{alpha_m},boldsymbol{e}_{beta_1},ldots,boldsymbol{e}_{beta_n}) = T^{alpha_1,ldots,alpha_m}_{beta_1,ldots,beta_n}$.

Podemos ver una métrica $latex boldsymbol{g}$ como un tensor de tipo $latex binom{0}{2}$, o $latex 2$ veces covariante, pues actua sobre $latex 2$ vectores y devuelve $latex g_{alpha beta}u^{alpha}v^{beta}$. Podemos pensar una $latex 1$-forma $latex boldsymbol{tilde{k}}$ como un tensor de tipo $latex binom{0}{1}$, o $latex 1$ vez covariante, pues a partir de un vector $latex boldsymbol{v}$ nos devuelve el escalar $latex langle boldsymbol{tilde{k}},boldsymbol{v}rangle$. Sus componentes son $latex tilde{k}_{alpha}$. Por el contrario, podemos pensar un vector $latex boldsymbol{v}$ como un tensor de tipo $latex binom{1}{0}$, o $latex 1$ vez contravariante, pues a partir de una $latex 1$-forma $latex boldsymbol{tilde{k}}$ nos devuelve el escalar $latex langle boldsymbol{tilde{k}}, boldsymbol{v} rangle$. Las componentes de $latex boldsymbol{v}$ son $latex v^{alpha} = langle boldsymbol{w}^{alpha},boldsymbol{v} rangle$.

Finalmente, es útil recordar que, por una parte, los tensores de tipo $latex binom{m}{n}$ no necesitan de las métricas para existir y, por otra, que en el caso de existir, entonces gracias a ésta, todos los tensores de rango $latex m+n$ son equivalentes entre si, es decir, el mismo tensor lo podemos escribir de $latex 2^{m+n}$ maneras en función de donde aparece cada índice, si arriba o abajo, contravariante o covariante. Por ejemplo, si $latex T$ es un tensor de tipo $latex binom{1}{2}$ podemos transformalo a uno de tipo $latex binom{0}{3}$ de la siguiente manera:

$latex T^{alpha}_{beta gamma} = boldsymbol{T}(boldsymbol{w}^{alpha},boldsymbol{e}_{beta},boldsymbol{e}_{gamma}) = boldsymbol{T}(g^{delta alpha}boldsymbol{e}_{delta},boldsymbol{e}_{beta},boldsymbol{e}_{gamma}) = g^{delta alpha} boldsymbol{T}(boldsymbol{e}_delta,boldsymbol{e}_beta,boldsymbol{e}_gamma) = g^{delta alpha}T_{delta beta gamma}$.

Desde la geometria diferencial y Riemanniana, subir y bajar índices equivale a construir el isomorfismo musical, $latex sharp$ y $latex flat$ ,entre el fibrado tangente $latex TM$ y el cotangente $latex T^*M$ de una variedad $latex M$ inducido por una métrica $latex g$. Básicamente son contracciones entre el tensor métrico o el co-tensor métrico con un tensor arbitrario. Permite, por ejemplo, la generalización del gradiente.

GR: vectores, 1-formas, tensores y espacio-tiempo plano

En su Lecture I nos habla de vectores, $latex 1$-formas, tensores y espacio-tiempos planos. Para empezar, un vector, a diferencia de un escalar, no solo tiene magnitud sino tambien dirección y sentido. En un contexto mas abstracto, son los elementos de un espacio vectorial fínito $latex V$ (en realidad, un espacio euclideo, es decir, un espacio vectorial normado con una norma procedente de un producto escalar).

Por ejemplo, dada una curva $latex alpha(t) in mathbb{R}^3$, siendo $latex t$ un parámetro, el tiempo absoluto Newtoniano, podemos definir su vector velocidad como:

$latex boldsymbol{v} = boldsymbol{v}(t) = frac{d}{dt} alpha(t) = frac{d}{dt}alpha (= alpha_t)$.

O, en relatividad, $latex beta(tau) in mathbb{M}^4$, con $latex tau$ el tiempo propio:

$latex boldsymbol{v} = boldsymbol{v}(tau) = frac{d}{dtau} beta(tau) = frac{d}{dtau}beta (= beta_tau)$.

Al introducir los espacio vectoriales, podemos sumar/restar vectores entre si, multiplicarlos por un escalar y disponemos de los conceptos de bases (conjuntos de vectores linealmente independientes que forman un sistema generador)  y coordenadas. Sean $latex {boldsymbol{e}_1, boldsymbol{e}_2, boldsymbol{e}_3}$ y $latex { boldsymbol{e}_0, boldsymbol{e}_1, boldsymbol{e}_2, boldsymbol{e}_3}$ las bases de $latex mathbb{R}^3$ y $latex mathbb{M}^4$ respectivamente. Entonces podemos escribir, por ejemplo:

$latex boldsymbol{v} = v^0 boldsymbol{e}_0 + v^1 boldsymbol{e}_1 + v^2 boldsymbol{e}_2 + v^3 boldsymbol{e}_3 = sum_alpha v^alpha boldsymbol{e}_alpha = v^alpha boldsymbol{e}_alpha = v^0 boldsymbol{e}_0 + v^i boldsymbol{e}_i$.

Aunque muchas veces no se escriba explicitamente, tener en cuenta que las coordenadas pueden ser, como en el ejemplo anterior, funciones:

$latex v(tau) = v^alpha (tau) boldsymbol{e}_alpha$.

Para cambiar de un sistema de coordenadas $latex { boldsymbol{e}_alpha }$ a otro $latex { boldsymbol{e}_{tilde{alpha}} }$ basta expresar los vectores de una base  en la otra:

$latex boldsymbol{e}_{tilde{alpha}} = sum_alpha A^alpha_{tilde{alpha}} boldsymbol{e}_{alpha} = A^alpha_{tilde{alpha}} boldsymbol{e}_{alpha}$,

$latex boldsymbol{e}_{alpha} = sum_{tilde{alpha}} B_alpha^{tilde{alpha}} boldsymbol{e}_{tilde{alpha}} = B_alpha^{tilde{alpha}} boldsymbol{e}_{tilde{alpha}}$,

donde $latex B_alpha^{tilde{alpha}} = (A^{-1})_alpha^{tilde{alpha}}$, de manera que si $latex boldsymbol{v} = v^{alpha} boldsymbol{e}_alpha$ entonces:

$latex boldsymbol{v} = v^alpha boldsymbol{e}_alpha = v^alpha B^{tilde{alpha}}_{alpha} boldsymbol{e}_{tilde{alpha}} = v^alpha (A^{-1})^{tilde{alpha}}_{alpha} boldsymbol{e}_{tilde{alpha}} = v^{tilde{alpha}} boldsymbol{e}_{tilde{alpha}}$

con:

$latex v^{tilde{alpha}} = v^{alpha}(A^{-1})^{tilde{alpha}}_{alpha} = (A^{-1})^{tilde{alpha}}_{alpha} v^{alpha}$.

Como ya hemos comentado, disponemos de un producto escalar $latex cdot$ y podemos definir una norma

$latex |boldsymbol{u}|^2 = boldsymbol{u} cdot boldsymbol{u}$.

Volviendo a la idea de que tenemos una base $latex { e_{alpha}}$, entonces basta determinar el comportamiento del producto escalar respecto de los elementos de la base:

$latex boldsymbol{u} cdot boldsymbol{v} = u^{alpha} boldsymbol{e}_{alpha} cdot v^{beta} boldsymbol{e}_{beta} = $

$latex bigg( = sum_{alpha} u^{alpha} boldsymbol{e}_{alpha} cdot sum_{beta} v^{beta} boldsymbol{e}_{beta} = sum_{alpha} sum_{beta} u^{alpha} boldsymbol{e}_{alpha} cdot v^{beta} boldsymbol{e}_{beta} = $

$latex = sum_{alpha} sum_{beta} u^{alpha} v^{beta} (boldsymbol{e}_{alpha} cdot boldsymbol{e}_{beta} ) = sum_{alpha} sum_{beta} (boldsymbol{e}_{alpha} cdot boldsymbol{e}_{beta} ) u^{alpha} v^{beta} = bigg)$

$latex = g_{alpha beta} u^{alpha} v^{beta}$

La conmutatividad del producto escalar nos lleva a que $latex g_{alpha beta} = g_{beta alpha}$ y un cambio de coordenadas de $latex g_{alpha beta}$ a nuevas coordenadas tilde queda:

$latex g_{tilde{alpha} tilde{beta}} = boldsymbol{e}_{tilde{alpha}} cdot boldsymbol{e}_{tilde{beta}} = A^{alpha}_{tilde{alpha}} boldsymbol{e}_{alpha} cdot A^{beta}_{tilde{beta}} boldsymbol{e}_b = A^{alpha}_{tilde{alpha}} A^{beta}_{tilde{beta}} boldsymbol{e}_{alpha} cdot boldsymbol{e}_{beta} = A^{alpha}_{tilde{alpha}} A^{beta}_{tilde{beta}} g_{alpha beta}$

Podemos definir el producto escalar como:

$latex g(u,v) := u cdot v$

que es una $latex 2$-forma, $latex g:T_pM times T_pM longrightarrow mathbb{K}$ , o un tensor dos veces covariante, ya hablaremos.

En el caso particular de $latex mathbb{R}^3$  tenemos:

$latex g_{i j} = delta_{i j} := left(
begin{array}{ccc}
1 & 0 & 0 \
0 & 1 & 0 \
0 & 0 & 1
end{array}
right)$

donde, si tenemos $latex boldsymbol{u} = boldsymbol{u}^i = (u^1, u^2, u^3)^T$ en la base $latex { boldsymbol{e}_i}$:

$latex |boldsymbol{u}|^2 = boldsymbol{u} cdot boldsymbol{u} = delta(boldsymbol{u},boldsymbol{u}) = delta_{ij} u^i u^j = (sum_i sum_j delta_{ij} u^i u^j) = u_j u^j = $

$latex = (u^1)^2 + (u^2)^2 + (u^3)^2$.

que es siempre positiva para todos los vectores salvo para el $latex boldsymbol{0}$. Nos ha aparecido en el cálculo, al multiplicar la matriz de la métrica por el primer vector, el mismo vector pero ahora como $latex 1$-forma: $latex u_i = (u^1, u^2, u^3)$, en la base $latex {boldsymbol{e}^i}$. Además, hemos visto como la métrica nos a permitido bajar un índice. Ya volveremos sobre esto.

y en $latex mathbb{M}^4$:

$latex g_{alpha beta} = eta_{alpha beta} := left(
begin{array}{cccc}
-1 & 0 & 0 & 0 \
0 & 1 & 0 & 0 \
0 & 0 & 1 & 0 \
0 & 0 & 0 & 1
end{array}
right)$.

En este caso, $latex eta_{alpha beta} u^alpha u^{beta} = -(u^0)^2 + (u^1)^2 + (u^2)^2 + (u^3)^2$, dado lugar a tres clases de vectores en función del valor de su norma: espaciales, con norma positiva, temporales, con norma negativa y luminosos, con norma $latex 0$.

Para terminar, nos habla de las $latex 1-$formas, que nos son mas que operadores lineales $latex tilde{boldsymbol{k}}$ que a partir de un vector $latex boldsymbol{v}$ nos devuelve un escalar $latex phi$:

$latex phi = langle tilde{boldsymbol{k}}, boldsymbol{v} rangle$.

Desde el punto de vista del espacio vectorial $latex V$, las $latex 1$-formas son elementos del espacio dual $latex V^*$ (elementos del tipo $latex boldsymbol{tilde{k}}: V longrightarrow mathbb{K}$). Si volvemos a mirar componentes, la acción de la $latex 1$-forma queda totalmente determinada, debido a la linealidad, por su acción sobre los elementos de la base $latex { boldsymbol{e}_alpha}$:

$latex tilde{k_{alpha}} = langle boldsymbol{tilde{k}}, boldsymbol{e}_{alpha} rangle$

de manera que si $latex boldsymbol{v} = v^{alpha} boldsymbol{e}_{alpha}$ tenemos:

$latex langle boldsymbol{tilde{k}}, boldsymbol{v} rangle = langle boldsymbol{tilde{k}}, v^{alpha}boldsymbol{e}_{alpha} rangle = langle boldsymbol{tilde{k}}, boldsymbol{e}_{alpha} rangle v^{alpha} = tilde{k_{alpha}}v^{alpha}$.

Por tanto,

Como tenemos una métrica, podemos relacionar cualquier vector $latex boldsymbol{k}$ con una $latex 1$-forma $latex boldsymbol{tilde{k}}$ de manera que:

$latex langle boldsymbol{tilde{k}}, boldsymbol{v} rangle = boldsymbol{k} cdot boldsymbol{v}$

es decir, que dado $latex boldsymbol{k} in V$ entonces le asociamos $latex boldsymbol{tilde{k}} in V^*$:

$latex boldsymbol{tilde{k}}: V longrightarrow mathbb{K} ,/, v mapsto boldsymbol{tilde{k}}(v) = langle boldsymbol{tilde{k}}, boldsymbol{v} rangle = boldsymbol{k} cdot boldsymbol{v}$

¿Y cuales son sus componentes $latex tilde{k}_{alpha}$? Sencillamente:

$latex tilde{k}_{alpha} = langle boldsymbol{tilde{k}}, boldsymbol{e}_{alpha} rangle = boldsymbol{k} cdot boldsymbol{e}_{alpha} = k^{beta} boldsymbol{e}_{beta} cdot boldsymbol{e}_{alpha} = g_{alpha beta} k^{beta}$.

De la misma manera:

$latex k^{alpha} = g^{alpha beta} tilde{k}_{beta}$, donde $latex g^{alpha beta}$ es la inversa de $latex g_{alpha beta}$ ($latex g^{alpha beta}g_{beta gamma} = delta^{alpha}_{gamma}$).

Finalmente, se puede demostrar que $latex g^{alpha beta} tilde{k}_{alpha} tilde{l}_{beta} = boldsymbol{k} cdot boldsymbol{l}$.

Relatividad General con Christopher Hirata, el Terry Tao de la física

Acabo de «tropezarme» por primera vez con Christopher Hirata. La verdad, no lo conocía. Me han sorprendido muchisimo algunas similitudes entre su vida y la de Terry Tao cambiando, obviamene, las matemáticas por la física.

Hirata nace en 1982, Tao en 1975. Hirata gana una medalla de oro en la IPhO en 1996 a los 13 años y Tao gana la de oro en la IMO del 1988 también con los mismos años. Hirata entra en el Calthec a los 14 y recibe un PhD en física a los 22 en Princeton mientras que Tao entra con 14 en Flinders y recibe un PhD en matemáticas a los 20 años también en Princeton. Sorprendente… (Para los que crean en el IQ, yo tengo mis reservas sobre estos índices de inteligencia, dicen que Hirata tiene 225 y Tao 230).

Al margen de curiosidades, vamos a ir comentando a lo largo de unos cuantos posts  su curso sobre relatividad general (GR: General Relativity). Comentaremos lo allí expuesto y lo intentaremos completar desde un punto de vista de la geometría diferencial y Riemanniana.

Visualización remota con VisIt

¿Qué tenemos que hacer para visualizar localmente datos compatibles con VisIt que tenemos en algun host? Para empezar, necesitamos tener la misma versión de VisIt instalada tanto local como remotamente. En segundo lugar, necesitamos crear un New Host en Options->Host profiles... y configurar, básicamente, el Remote host name y el Username (nombre completo de la máquina y nuestro usuario en ella) en la pestaña Host Settings, y un New Profile en la de Launch Profiles con las opciones por defecto.
Un detalle muy importante es que en el campo Path to VisIt installation, en el caso de tener un Mac, lo que necesita es:

/Applications/VisIt.app/Contents/Resources/

Finalmente, tanto para abrir fichero locales como remotos, le daremos a Open y seleccionaremos el localhost o el nuevo host configurado.

Variedades y métricas

Cuando especificamos una variedad de Riemann escribimos $latex (M,g)$, donde $latex M$ es una variedad diferencial abstracta y $latex g$ es la métrica, una generalización de la primera forma fundamental de las superficies, un tensor. ¿Determina la métrica una variedad? Obviamente no, ya que podemos hablar de variedades (cartas, coordenadas, fibrados tangentes y cotangentes, teoremas de función inversa e implicita, campos vectoriales, campos tensoriales, conexiones, corchetes y derivada de Lie, grupos de Lie, etc.) sin referirnos en ningún momento a métricas. Sin embargo, lo que si que determina es la variedad de Riemann. La métrica nos permite hablar de longitudes, angulos, areas y en general cualquier cantidad íntrinseca de la superficie. Dos variedades extrínsecamentes diferentes son equivalentes desde el punto de vista intrínseco, es decir, desde el punto de vista de los habitantes de la variedad, si las medidas que pueden tomar dentro de la variedad son iguales y, por tanto, indistinguibles por éstos. Desde este punto de vista, que es el nuestro, son indistinguibles.

Conexiones, derivación covariante, métricas y conexión de Levi-Civita

Se pueden pensar las geodésicas de una variedad $latex M$ como curvas $latex gamma$ que minimizan distancias o como curvas de aceleración nulas.

Como la segunda opción, su definición en función de segundas derivadas, resulta mas operativa, y las derivadas direccionales ($latex D_{vec{v}} Y$ , que podemos ver como $latex (nabla Y) cdot vec{v}$, que nos permite definir $latex D_X Y$) no tiene porque estar en el espacio tangente de una variedad arbitraria, necesitamos aprender a derivar campos vectoriales en éstas.

Si la variedad está contenida en un espacio ambiente, siempre podemos quedarnos con la parte tangente de las derivadas direccionales, es decir, siempre podemos proyectar ($latex D_X^T Y$), pero ¿qué pasa cuando no tenemos la variedad embebida en un espacio ambiente? o, equivalentemente, ¿qué pasa cuando queremos trabajar de manera intrínseca? Necesitamos introducir el concepto de conexión.

Una conexión nos permitirá derivar campos vectoriales sobre variedades abstractas y definir así la aceleración de una curva como la variación del campo velocidad a lo largo de ésta. Se puede definir una conexión sobre una variedad $latex M$ como una aplicación:

$latex nabla: mathcal{X}(M) times mathcal{X}(M) longrightarrow mathcal{X}(M)$

cumpliendo:

  1. $latex nabla$ es $latex mathcal{C}^infty (M)$-lineal en la primera variable.
  2. $latex nabla$ es $latex mathbb{R}$-lineal en la segunda variable.
  3. $latex nabla_X (fY) = X(f) Y + f nabla_X Y$ para toda función $latex f$.

Llamamos al nuevo campo vectorial $latex nabla_X Y$ derivada covariante de $latex Y$ con respecto a $latex X$ y $latex nabla_{X_p} Y$ es la derivada direccional de $latex Y$ en la dirección $latex X_p$ sobre la variedad abstracta.

Esta definición es poco operativa. Si expresamos los campos en una carta $latex (U,phi)$, entonces $latex nabla_X Y$ queda totalmente determinado por los símbolos de conexión $latex Gamma_{ij}^k$ determinados mediante:

$latex nabla_{frac{partial}{partial phi^i}} frac{partial}{partial phi^j} = sum_k Gamma_{ij}^k frac{partial}{partial phi^k}$

en las coordenadas de la carta.

Una consideración importante es que las conexiones existen sin la necesidad de las métricas, es decir, que podemos hacer referencia a transporte paralelo y a geodésicas en una variedad sin necesidad de tener definida una métrica sobre ésta. Sin embargo, un resultado sorprendente, fundamental, nos garantiza la construcción de una conexión única coherente con la métrica: la conexión de Levi-Civita.

Reescritura de la reformulación del sector elíptico de la aproximación CFC en términos de CoCoNuT

CoCoNuT es un código que permite realizar simulaciones de colapso estelar. Reescribimos las ecuaciones CFC, que son un caso particular de la aproximación FCF haciendo que las $latex h^{ij}$ sean cero, en terminos de las variables que éste utiliza. Empezamos con una auxilar:

 $latex Delta X^i = 8 pi f^{ij}S_j^* – frac{1}{3}mathcal{D}^i mathcal{D}_j X^j$

donde:

$latex S_j^* := sqrt{ frac{gamma}{f} } S = psi^6 S_j$,

$latex S_j := rho h w^2 v_j$.

La primera es:

$latex Delta psi = -2 pi psi^{-1} E^* – psi^{-7} frac{f_{il}f_{jm}hat{A}^{lm}hat{A}^{ij}}{8}$

donde:

$latex E^*:= sqrt{ frac{gamma}{f} } E = psi^6 E$,

$latex E:= D + tau$

La siguiente:

$latex Delta (psi alpha) = 2 pi alpha (E^* + 2S^*) + alpha psi^{-7} frac{7 f_{il} f{jm} hat{A}^{lm} hat{A}^{ij}}{8}$

con:

$latex S^*:= sqrt{ frac{gamma}{f} } S = psi^6 S$,

$latex S:= rho h (w^2-1) + 3 p$

Y la última:

$latex Delta beta^i = mathcal{D}_j (2 alpha psi^{-6} hat{A}^{ij}) – frac{1}{3} mathcal{D}^i (mathcal{D}_j beta^j)$.

Además, en CFC, tenemos:

$latex hat{A}^{ij} = (LX)^{ij} + hat{A}^{ij}_{TT} approx (LX)^{ij} = mathcal{D}^i X^j + mathcal{D}^j X^i – frac{2}{3} mathcal{D}_k X^k f^{ij}$

donde $latex L$ es el operador de Killing conforme actuando sobre la parte longitudinal $latex X^i$ sin traza y $latex A^{ij}_{TT}$ es la parte transversal sin traza de la curvatura extrínseca , y de FCF tenemos:

  • la métrica inducida en cada hipersuperficie $latex gamma_{mu nu} := g_{mu nu} + n_{mu} n_{nu}$ (o $latex boldsymbol{gamma} := boldsymbol{g} + boldsymbol{n} otimes boldsymbol{n}$ ) con $latex boldsymbol{n} = frac{dt}{|dt|}$.
  • la curvatura extrínseca $latex boldsymbol{K:=-frac{1}{2}mathcal{L}_{boldsymbol{n}} boldsymbol{gamma}}$ (o, con índices, $latex K_{mu nu} = -frac{1}{2} mathcal{L}_{boldsymbol{n}} gamma_{mu nu}$).

Diagnostic Tools (from A Multigrid Tutorial)

Textualmente del libro:

«As with any numerical code, debugging can be the most difficult part of creating a successful program. For multigrid, this situation is exacerbated in two ways. First, the interaction between the various multigrid components are very subtle, and it can be difficult to determine which part of a code is defective. Even more insidious is the fact that an incorrectly implemented multigrid code can perform quite well -somentimes better than other solution methods!»

Puedo confirmar, de primera mano, que ésto es así…

El lado bueno de las cosas

No tiene nada que ver con los temas habituales del blog, pero bueno, la vida es algo mas que ciencia y tecnología ¿no?. Simplemente unas frases que me gustaron de «El lado bueno de las cosas»:

«Estoy convencido de ello. Tienes que hacer todo lo que puedes y esforzarte al máximo y, si mantienes el optimismo, siempre te quedará el lado bueno de las cosas.»

«Te lo advierto. Tienes que estar atento a las señales. Cuando la vida te brinda un momento como éste, es un pecado no aprovecharlo. Es un pecado.»

Interesantes 🙂

La derivación y la integración desde un punto de vista algebraico. Utilización en la teoría cuántica de campos.

Simplemente un reblog de nuestro crack Terry Tao sobre como capturar los conceptos esenciales de la derivación y la integración de manera algebraica para permitir su utilización sobre otros sistemas numéricos distintos de aquellos que soportan el concepto de límite, o sea, los reales y los complejos.

Posteriormente comenta como puede utilizar éstas cuando trabaja en teoría cuántica de campos para calcular integrales con variables bosónicas y fermiónicas (variables conmutativas y anticonmutativas en álgebra superconmutativa).

PDE de tipo Poisson con solución analítica

Una manera sencilla de tener una ecuación de Poisson en $latex 3D$ de la que conocer su solución analítica es la siguiente. Para empezar, consideramos una función:

$latex u(x,y,z)$

a la que le aplicamos el operador $latex Delta$ y obtendremos otra función:

$latex s(x,y,z)$.

Ya tenemos $latex Delta u = s$, es decir,

$latex frac{partial^2}{partial x^2}u(x,y,z) + frac{partial^2}{partial y^2}u(x,y,z) + frac{partial^2}{partial z^2}u(x,y,z) = s(x,y,z)$

Para las condiciones de contorno es tan sencillo como considerar el domino:

$latex [a,b] times [c,d] times [e,f]$

y ver cuanto vale $latex u$ en cada uno de los extremos, de manera que obtenemos:

$latex u(a,y,z) = g_a(y,z), u(b,y,z) = g_b(y,z)$,

$latex u(x,c,z) = g_c(x,z), u(x,d,z) = g_d(x,z)$,

$latex u(x,y,e) = g_e(x,y), u(x,y,f) = g_f(x,y)$.

Por ejemplo, si consideramos $latex u(x,y,z)=x^2+y^2+z^2$, entonces:

$latex nabla cdot nabla u = (frac{partial}{partial x},frac{partial}{partial y},frac{partial}{partial z}) cdot (u_x,u_y,u_z)$

de manera que:

$latex Delta u = frac{partial}{partial x}2x + frac{partial}{partial y}2y + frac{partial}{partial z}2z = 6$

y tenemos la ecuación de Poisson $latex Delta u = 6$. Las condiciones de contorno, en $latex Omega = [0,1]^3$ quedan:

$latex u(0,y,z) = g_{xm}(y,z) = y^2+z^2$

$latex u(1,y,z) = g_{xM}(y,z) = y^2+z^2 + 1$

$latex u(x,0,z) = g_{ym}(x,z) = x^2+z^2$

$latex u(x,1,z) = g_{yM}(x,z) = x^2+z^2 + 1$

$latex u(x,y,0) = g_{zm}(x,y) = x^2+y^2$

$latex u(x,y,1) = g_{zM}(x,y) = x^2+y^2 + 1$

Resumiendo, la solución de $latex Delta u = 6$ siendo las funciones anteriores los valores de $latex u$ en $latex partial Omega$ es:

$latex u = x^2+y^2 + z^2$.

Otro ejemplo concreto para el caso de $latex u=0$ en $latex partial Omega$ siendo

$latex Omega = { (x,y,z): 0<x<1, 0<y<1,0<z<1}$ el cubo unidad.

Tomamos $latex u(x,y,z) = (x^4-x^2)(y^4-y^2)(z^4-z^2)$. Es sencillo comprobar que $latex u=0$ en $latex partial Omega$ (p.e. $latex u(1,y,z)=(1-1)(y^4-y^2)(z^4-z^2) = 0$). ¿Cuanto vale $latex Delta u$ en este caso?

$latex s(x,y,z) = Delta [(x^4-x^2)(y^4-y^2)(z^4-z^2)] = $

$latex = nabla cdot [(4x^3-2x)(y^4-y^2)(z^4-z^2),$

$latex ,(x^4-x^2)(4y^3-2y)(z^4-z^2),$

$latex (x^4-x^2)(y^4-y^2)(4z^3-2z)] = $

$latex = 2[(6x^2-1)(y^4-y^2)(z^4-z^2) +$

$latex + (x^4-x^2)(6y^2-1)(z^4-z^2) + $

$latex + (x^4-x^2)(y^4-y^2)(6z^2-1)]$.

De manera que la solución en el cubo unidad de la ecuación de Poisson

$latex u_{xx} + u_{yy} + u_{zz} = $

$latex = 2[(6x^2-1)(y^4-y^2)(z^4-z^2) +$

$latex + (x^4-x^2)(6y^2-1)(z^4-z^2) + $

$latex + (x^4-x^2)(y^4-y^2)(6z^2-1)]$

con condiciones homogeneas de tipo Dirichlet en la frontera tiene como solución:

$latex u(x,y,z) = (x^4-x^2)(y^4-y^2)(z^4-z^2)$