You are currently browsing the category archive for the ‘PDE’ category.
Dado el grupo de Lie uniparamétrico de transformaciones (1), existe una parametrización tal que (1) es equivalente a la solución de un problema de valor inicial de un sistema de ecuaciones diferenciales de primer orden dado por:
con cuando (recordemos la notación que estamos utilizando para las derivadas: ).
En particular,
donde
Como ejemplo, imaginemos el grupo de translaciones en el eje de las :
donde la ley de composición es y . Si entonces y
Llegados a este punto, dado el problema de valor inicial
con , en , por el primer teorema fundamental de Lie, el grupo de transformaciones:
es solución del mismo.
Dado un grupo de Lie uniparamétrico de transformaciones (donde hemos cambiando el punto y coma por otra coma) con identidad y ley de composición , podemos desarrollarla mediante Taylor, a primer orden, para varias variables , tenemos variables) alrededor de .
Si definimos:
como el infinitesimal del grupo de Lie uniparamétrico, podemos definir la transfomación infinitesimal como
La idea que hay detrás de los grupos infinitesimales, parece que originalmente atribuible a Lie, es que, hablando en un caso particular, rotar grados (lo que nos interesa) es lo mismo que rotar veces grado (como lo podemos hacer con infinitesimales). De ahí que se diga que los infinitesimales capturan la información del grupo. En realidad, algo como
Una simetría de Lie o transformación de Lie es un grupo (matemáticamente hablando) de transformaciones con algunas propiedades.
Un grupo es un conjunto de elementos con una ley de composición tal que es cerrada, asociativa y posee elementos identidad e inverso para cada elemento .
Dado un en la región , el conjunto de transformaciones
definido para cada y con parámetro y con definiendo una ley de composición de parámetros y . Tenemos un grupo uniparamétrico de transformaciones en si a) sea cual sea el parametro en punto transformado sigue en , b) con forma un grupo , c) si el parametro es el neutro de entonces el punto sobre el que aplicamos la transformación no varía ; y si y entonces .
Además, tendremos un grupo de Lie uniparamétrico de transformaciones si a) es un parámetro continuo, b) es y analítica de en y c) es una función analítica de y de .
Ejemplos en el plano, para entender la nomenclatura, podrian ser 1) rotación de angulo alrededor del origen: ; 2) translacion a distancia : en donde seria la suma de reales y el neutro (si tuvieramos escalados, la operación sería el producto y necesitariamos un cambió de variable para que el neutro se trasladara a ). Con esta notación, podriamos reescribir como . Sin embargo, como se puede confundir con la notación de derivadas que estamos utilizando, se hará de la anterior manera.
Por una parte, es difícil resolver (sistemas de) ecuaciones en derivadas parciales (EDPs). Por otra, aparecen en multitud de problemas físico-matemáticos, pues son una de las herramientas más potentes a la hora de modelar sistemas.
Una de las aproximaciones seguidas en todos los trabajos realizados hasta el momento a lo largo de este blog es la utilización de los métodos numéricos para la obtención de soluciones.
Vamos a dedicar unas cuantas entradas a trabajar sobre un método general de integración, las simetrías de Lie que, por un lado, son una generalización de muchos métodos particulares conocidos hasta el momento de su introducción y, por otro, está basado en la invariancia de estos sistemas de EDPs bajo un grupo continuo de simetrías.
El método trata de encontrar las simetrías de una EDP calculando el grupo uniparamétrico de transformaciones que la dejan invariante, convirtiendo el conjunto de soluciones en soluciones.
Para ejemplificar esta técnica, encontraremos las simetrias de dos ecuaciones unidimensionales: la ecuación del calor , y la ecuación que describe el comportamiento del medio viscoelástico .
Sabemos que, de forma general,
y
Recordemos que, bajo ciertas condiciones de continuidad y diferenciabilidad, existe commutatividad en las derivadas de orden superior, es decir:
donde si cada entero de a aparece la misma cantidad de veces en que en .
Así pues, en realidad, tenemos:
y
Después de muchísimo tiempo sin escribir, vuelvo con este post que resume todo el trabajo que hemos realizado durante este último año.
En julio del año pasado nos enteramos de un artículo publicado por X. Yang and R. Mittal, de la Johns Hopkins University, en el que aceleraban de manera espectacular el algoritmo de Jacobi y lo utilizaban para resolver ecuaciones en derivadas parciales de tipo elíptico.
A pesar del relativo eco mediático que tuvo, y aunque aceleraba muchísimo Jacobi, seguía sin ser competitivo con los métodos utilizados actualmente para solucionar este tipo de ecuaciones. Sin embargo, como prometía en cuanto a su sencillez desde el punto de vista tanto de implementación como de paralelización, decidimos trabajar un tiempo sobre el mismo.
Finalmente, en junio presentamos unos proceedings en el CEDYA 2015 (pag. 733) y hace tres semanas enviamos un paper a JCP, donde presentamos una serie de mejoras realizadas que permiten, tal y como allí comentamos, que el SRJ sea prácticamente competitivos en ejecución secuencial con los algoritmos utilizados actualmente.
Por un lado, su inmediata implementación (todos tenemos un Jacobi implementado de nuestro curso de métodos numéricos, y es trivial convertirlo en un SRJ 🙂 ) hace pensar que mucha gente que no tenga y necesite un resolvedor elíptico eficiente sin invertir mucho esfuerzo en su implementación quiera utilizarlo. Por otro, su trivial paralelización, por ejemplo en entornos GPU, nos hace pensar en su extraordinario potencial en el ámbito de la supercomputación.
En la página de nuestro grupo de investigación tenemos disponibles todos los esquemas SRJ presentados en el paper.
¡Disfrutenlo!
El operador Laplaciano en dos dimensiones y en coordenadas polares queda:
,
por lo que la ecuación de Laplace en un sector circular se escribe:
.
Aplicando el método de separación de variables, podemos plantear ahora una solución
,
que es producto de dos funciones dependientes cada una de una sola de las variables. Sustituyendo la solución en la ecuación de Laplace, llegamos a:
Para empezar, consideremos el operador Laplaciano. El principio del máximo para el Laplaciano nos dice que si en una región acotada, entonces el máximo de la función se alcanza obligatoriamente en :
.
De la misma manera, si lo que sabemos es que en (principio del mínimo), entonces:
.
Razonamos para la desigualdad estricta (la igualdad también es cierta pero el razonamiento requiere de métodos perturbativos). Si es un punto donde se alcanza su máximo, entonces debe ser un punto crítico, por lo que sus derivadas primeras deben anularse y sus derivadas segundas puras deben ser no positivas . De esta manera, llegamos a la contradicción, ya que
.
En particular, si una función es armónica , cumple tanto el principio del máximo como el del mínimo de manera que los extremos de toda función armónica definida sobre un dominio acotado se alcanzan en la frontera.
El hecho anterior es crucial para la unicidad de solución, si existe, de la ecuaciónes elíptica:
con ,
ya que si existieran dos y , y consideraramos la diferencia , esta es solución del problema:
con ,
siendo, por tanto, armónica y tomando sus extremos en . Pero como es en la frontera, tanto el máximo como el mínimo son nulos, y solo puede ser la función identicamente nula, por lo que .
Existen criterios para la unicidad de operadores mas complejos. En el libro «Maximum Principles in Differential Equations» de M.H. Protter y H.F. Weinberger se trata el tema en profundidad.
Una PDE cuasilineal de segundo orden en dos variables independientes e con función incógnita tiene la forma general:
,
donde son funciones contínuas en un subconjunto abierto de de las variables donde es un abierto de .
Definimos el discriminante como
,
con . Diremos que la ecuación anterior es:
- Elíptica en el punto si ,
- Parabólica en el punto si ,
- Hiperbólica en el punto si .
Por tanto, el carácter elíptico, parabólico o hiperbólico depende no solo del punto sino también del valor de una solución y sus derivadas parciales de primer orden en dicho punto. Además, en el caso de que la parte principal, los coeficientes que multiplican a las derivadas de segundo orden, sea de coeficientes constantes, el carácter se mantiene en todos los puntos donde esté definida la función .
De esta manera, la ecuación de Laplace es elíptica en todos los puntos; la ecuación del calor es parabólica; y la ecuación de ondas es hiperbólica.
En el caso de tener variables independientes entonces la ecuación general tiene la forma:
,
donde es la parte principal y el resto son terminos de menor orden. En este caso, el carácter de la ecuación depende de la signatura de los valores propios de la matriz de coeficientes:
- Elíptica si los valores propios son todos positivos o todos negativos,
- Parabólica cuando todos los valores propios son positivos o negativos excepto uno que es zero,
- Hiperbólica si todos los valores propios son positivos excepto uno que es negativo o todos son negativos excepto uno que es positivo.
Finalmente, toda ecuación se puede reducir a una forma canónica, que corresponde a uno de los tres tipos clásicos: Laplace, calor u ondas.
Recordemos lo ya expuesto en este post: que en las coordenadas esferoidales prolatas , las dos primeras provienen de las coordenadas elípticas, donde y , mientras que la última proviene de rotarlas alrededor del eje que une los focos.
Compactificamos la primera coordenada mediante .
El Laplaciano y las fuentes, en estas coordenadas y con esta compactificación, utilizando una nueva función en Mathematica que nos lo calcula todo, quedan:
La salida ahora para un tensor dos veces contravariante en la base ortonormal queda:
Para primera ecuación:
,
definimos como antes
,
de manera que la ecuación original la reescribimos como
,
De esta manera, en nuestras coordenadas obtenemos:
donde
,
,
,
que desarrollando las covariantes quedan:
,
,
,
que combinandolo con la anterior, queda:
Finalmente, las ecuaciones:
,
con las que procederemos de manera similar a como hemos hecho con las , es decir, calculando las fuentes en una base, haciendo un cambio de base que las desacople (cartesianas), resolviendolas de manera independiente y volviendo a la base original:
,
que quedan:
,
,
,
donde las derivadas covariantes del tensor dos veces contravariante:
son como acabamos de hacer en la ecuación anterior y las del escalar es como ya hicimos con las :
,
,
.
Hacemos a continuación el cambio:
,
y resolvemos:
,
deshaciendo el cambio:
para terminar.
Recordemos lo ya expuesto en este post: que en las coordenadas biesféricas , las dos primeras provienen de las coordenadas bipolares, donde la primera indica el ángulo entre las dos rectas que unen nuestro punto con los dos focos que necesitamos para determinar las bipolares y la segundo es el logartimo del ratio entre la longitud de estas dos rectas, mientras que la última proviene de rotarlas alrededor del eje que une los focos.
Compactificamos la segunda coordenada mediante .
El Laplaciano, en estas coordenadas y con esta compactificación, queda:
,
las derivadas covariantes de covectores (1-formas):
y las fuentes:
Pasando la derivada contravariante a covariante mediante la métrica, queda:
.
Definimos ahora
,
de manera que:
En este punto tenemos que el vector
expresado en la base que resulta de normalizar la base coordenada . Lo que hacemos ahora es expresar este vector en la nueva base , de manera que obtenemos
.
y como es esta base las ecuaciones están desacopladas y es un campo escalar, resolvemos independientemente:
,
,
.
Finalmente, con el cambio de base inverso, calculamos a partir de el vector .
Necesitamos ahora la derivada covariante de un vector (hasta ahora habían coincidido las derivadas covariantes de vectores y covectores, pero en este caso no):
volvemos a pasar las derivadas contravariantes a covariantes:
y obtenemos:
Las dos ecuaciones no lineales correspondientes al factor conforme y al lapse , como no contienen derivadas covariantes, quedan como las teniamos:
Finalmente, para el shift y su ecuación auxiliar tenemos:
que trataremos en el siguiente post.
La salida ahora para un tensor dos veces contravariante en la base ortonormal queda:
Para primera ecuación:
,
definimos como antes
,
de manera que la ecuación original la reescribimos como
,
De esta manera, en nuestras coordenadas obtenemos:
,
donde
,
,
,
que desarrollando las covariantes quedan:
,
,
,
que combinandolo con la anterior, queda (solo escribimos como empezaría debido a la longitud de la ecuación):
Finalmente, las ecuaciones:
,
con las que procederemos de manera similar a como hemos hecho con las , es decir, calculando las fuentes en una base, haciendo un cambio de base que las desacople (cartesianas), resolviendolas de manera independiente y volviendo a la base original:
,
que quedan:
,
,
,
donde las derivadas covariantes del tensor dos veces contravariante:
son como acabamos de hacer en la ecuación anterior y las del escalar es como ya hicimos con las :
,
,
.
Hacemos a continuación el cambio:
,
y resolvemos:
,
deshaciendo el cambio:
para terminar.
La salida ahora para un tensor dos veces contravariante en la base ortonormal queda:
Para primera ecuación:
,
definimos como antes
,
de manera que la ecuación original la reescribimos como
,
De esta manera, en nuestras coordenadas obtenemos:
,
donde
,
,
,
que desarrollando las covariantes quedan:
,
,
.
Por tanto, combiando todo, tenemos:
,
Finalmente, las ecuaciones:
.
son:
,
,
,
y al sustituir las derivadas covariantes:
,
,
.
Copio a continuación la salida generada por nuestra función en Mathematica que nos calcula todas las derivadas covariantes de tensores con dos índices (aunque en este caso particular no es excesivamente laborioso, si lo es para el resto de entradas, por lo que evitaremos morir en el intento de pasarlas a latex 😉 ) . En particular, aquí lo hacemos para un vector dos veces contravariante y para la base ortonormal:
donde primer término corresponde al factor que acompaña a la derivada parcial y la matriz contiene los factores que acopañan a cada par de valores de los índices.
Vamos a ver ahora, en este caso, como quedan las ecuaciones del shift. Para la primera:
,
como contraemos el índice quedando libre únicamente el , definimos
,
de manera que la ecuación original la reescribimos como
,
que nos ayudará a no liarnos, ya que ésta última queda como una derivada covariante de un vector donde éste, a su vez, lo calcularemos a parte como la derivada covariante de un tensor dos veces contravariante.
De esta manera, en nuestras coordenadas tenemos:
,
donde
,
,
,
que desarrollando las covariantes según lo encontrado al principio del post, quedan:
,
,
.
Por tanto, combiando todo, tenemos:
,
Para terminar, nos quedan la ecuaciónes:
.
En primer lugar, bajamos el índice de la derivada contravariante:
,
y de la misma manera:
y .
Así pues, lo que nos queda es:
,
,
,
que al sustituir las derivadas covariantes del tensor dos veces contravariante y del escalar , por su valor calculado al principio del post, quedan:
,
,
.
Solo referenciar este post de Francisco R. Villatoro sobre la demostración de Otelbaev del problema del milenio referente a las ecuaciones de Navier-Stokes.
Las ideas principales que comenta son:
- Se ha encontrado un contraejemplo (usuario «sup» de dxdy.ru + Stephen Montgomery-Smith + Terry Tao) al principal teorema del artículo, el teorema 6.1, lo que invalida completamente la demostración de Otelbaev.
- El matemático Terry Tao, en su artículo «Finite time blowup for an averaged three-dimensional Navier-Stokes equation«, demuestra que la técnica utilizada para atacar el problema no es suficiente, es decir, que no vamos a poder resolver nunca el problema con la técnica que utilizó Otelbaev.
- Parece que tenemos problema para rato, segun el propio Tao.
Para mas detalle, al post referido en el inicio de esta entrada 🙂
Compactificamos la primera coordenada mediante .
El Laplaciano, con esta compactificación, queda:
y las fuentes:
Pasando la derivada contravariante a covariante mediante la métrica, queda:
.
Definimos ahora
,
de manera que:
,
,
.
En este punto tenemos que el vector
expresado en la base . Lo que hacemos ahora es expresar este vector en la nueva base , de manera que obtenemos
.
y como es esta base las ecuaciones están desacopladas y es un campo escalar, resolvemos independientemente:
,
,
.
Finalmente, con el cambio de base inverso, calculamos a partir de el vector .
volvemos a pasar las derivadas contravariantes a covariantes:
y obtenemos:
,
,
,
Las dos ecuaciones no lineales correspondientes al factor conforme y al lapse , como no contienen derivadas covariantes, quedan como las teniamos:
Finalmente, para el shift y su ecuación auxiliar tenemos:
que lo tratamos en este post.
Los cálculos para cilíndricas, esféricas, esféricas compactificadas y cartesianas compactificadas ya están términados. Para hacer una pequeña comprobación de que son correctos, vamos a calcular, en cada caso, como quedaría la divergencia de un campo vectorial utilizando las derivadas covariantes encontrados en los enlaces anteriores y compararla con el resultado que obtendriamos utilizando la fórmula para la divergencia en coordenadas curvilineas :
.
,
,
y con la fórmula para curvilineas obtenemos:
,
,
y con la fórmula para curvilineas obtenemos:
,
,
y con la fórmula para curvilineas obtenemos:
,
,
y con la fórmula para curvilineas obtenemos:
,
,
y con la fórmula para curvilineas obtenemos:
,
,
y con la fórmula para curvilineas obtenemos:
,
y con la fórmula para curvilineas obtenemos:
Considerando las dos bases, holonómica y ortonormal, para el espacio tangente introducidas en este post:
,
,
tenemos que:
, y ,
y, por tanto:
i .
Vamos a encontrar la expresión de las derivadas covariante en la base normalizada mediante cambios de base. Antes de empezar, dos consideraciones: en primer lugar, y son tensores una vez contravariante, o lo que es lo mismo, son campos vectoriales. Por la linealidad de la conexión, podemos centrarnos en la derivada covariante de los elementos de la base. En segundo lugar, las derivadas parciales no afectan a los escalares, que están sobre la variedad y no en el espacio tangente.
Empezamos:
,
,
con lo que:
.
Para:
,
,
tenemos:
Procediendo de la misma manera, obtenemos:
,
,
,
,
,
,
.
Vamos a expresar las ecuaciones covariantes de la aproximación CFC en las coordenadas a las que llamaremos esféricas compactificadas, puesto que son coordenadas esféricas donde la coordenada radial la hemos cambiado por la coordenada cuyo dominio es compacto:
.
Como teniamos:
con ,
y ahora tenemos:
,
entonces:
con .
Ahora, llamando a nuestra función en Mathematica obtenemos los coeficientes de Laplaciano, la métrica y los inversos de los coeficientes de Lamé :
El operador Laplaciano queda:
,
la métrica queda:
,
en la base coordenada para la variedad tangente.
En este punto, y utilizando los coeficientes de Lamé, podemos construir una tetrada ortonormal con la que trabajaremos:
.
Los símbolos de Christofel, calculados con nuestra función Mathematica, son:
,
,
,
Por lo que las derivadas covariantes de un tensor una vez contravariante quedan, gracias a otra función que tenemos programada:
,
,
,
,
,
,
,
,
Las ecuaciones de la aproximación CFC de las ecuaciones de Einstein en el formalismo expresadas de forma covariante son:
,
,
,
,
donde .
En coordenadas cartesianas, , tenemos:
,
,
,
,
,
,
,
,
con
,
,
,
,
,
,
y
.
En coordenadas esféricas , las ecuaciones quedan:
,
,
,
,
,
,
,
,
con:
,
,
,
,
,
,
y
.
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 en coordenadas esféricas y necesitamos una carta que nos la lleve a 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 que nos devuelva las correspondientes coordenadas cartesianas:
.
¿Qué pasa cuando queremos compactificar ? Necesitamos una función que, a partir de los valores de nos devuelva valores en . Como ya escribimos, una posible función es:
pero, volviendo a las cartas y a las parametrizaciones, lo que necesitamos, en realidad, es expresar en función de y no lo contrario, como tenemos ahora, de manera que necesitamos calcular su inversa:
de igual forma, para las demás compactificaciones tenemos:
,
,
pero, al igual que antes, lo que nos interesan son sus inversas:
,
:
Utilizando las funciones que tenemos escritas en Mathematica, obtenemos para esféricas los siguientes Laplacianos con sus discretizaciones:
y, para cartesianas:
Supongamos que tenemos el Laplaciano expresado en un sistema de coordenadas curvilineas cualesquiera:
.
La expresión correspondiente en diferencias finitas, utilizando las aproximaciones para las primeras y segundas derivadas de este post, nos queda:
,
que, agrupando por términos, podemos reescribir como:
.
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:
Los anteriores ejemplos corresponden al caso de cilíndricas, esféricas y esféricas compactificadas.
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
,
que nos permiten escribir el correspondiente Laplaciano:
.
Por ejemplo, para los cambios a cilíndricas y esféricas ya realizados en este post, nos queda:
A continuación la he llamado con tres cambio diferentes, todos compactificando la de las coordenadas esféricas, y los coeficientes obtenidos son:
Para el caso concreto de , las gráficas de los cambios son:
y las expresiones:
Vamos a compactificar el operador Laplaciano en coordenadas esféricas y en coordenadas cartesianas:
de manera que, con la formula ya vista en este post, nos queda:
.
De la misma manera:
de manera que:
.
O, con el otro cambio:
de manera que:
El operador Laplaciano en coordenadas cartesianas es:
.
¿Qué pasa cuando queremos expresarlo en otro sistema de coordenadas curvilineas tal que
, ,
cualesquiera? Pues despues de un poco de trabajo, se puede llegar a la expresión:
,
donde, si definimos el cambio de coordenadas
,
tenemos que
.
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
con
,
por lo que tenemos
,
,
.
y entonces, al aplicar nuestra fórmula, obtenemos:
.
Ahora, en el caso de esféricas, tenemos:
con
, y ,
de manera que (el cuadrado hace referencia al producto escalar):
,
por lo que, con la fórmula, tenemos: