• No se han encontrado resultados

Solución numérica de problemas de superficies mínimas usando el método de diferencias finitas

N/A
N/A
Protected

Academic year: 2020

Share "Solución numérica de problemas de superficies mínimas usando el método de diferencias finitas"

Copied!
59
0
0

Texto completo

(1)Solución Numérica de Problemas de Superficies Mínimas usando el Metodo de Diferencias Finitas por. Andrés Felipe Mejía Rodríguez. Una tesis presentada al departamento de Matemáticas como parte de los requisitos para el grado de Matemático. Director: Ahmed Ould. Universidad de los Andes Bogotá, Colombia Enero, 2006.

(2) i. A mis padres.

(3) Índice general Agradecimientos. 1. Introducción. 2. 1. Descripción y Formulación del Problema. 4. 1.1.. Formulación geometrica del problema . . . . . . . . . . . . . . . . . . . .. 4. 1.2.. Formulación Variacional. . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 1.3.. Comentarios acerca de la formulación . . . . . . . . . . . . . . . . . . . .. 8. 2. Herramientas para el método de diferencias nitas. 9. 2.1.. Construcción de la malla de diferencia nita . . . . . . . . . . . . . . . .. 9. 2.2.. Obtención de las aproximaciones de las derivadas . . . . . . . . . . . . .. 12. 3. Planteamiento y Solución del Sistema de Diferencias Finitas. 19. 3.1.. Construcción del Sistema de Diferencias Finitas . . . . . . . . . . . . . .. 3.2.. El método de Newton. 3.3.. Método de Newton para el sistema de direncia nita. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. f¯x , f¯y , f¯xx , f¯xy. y. f¯yy. . . . . . . . . . . .. con respecto a los. zi .. 3.3.1.. Derivadas de. 3.3.2.. Construcción de la matriz Jacobiana del Problema. 3.3.3.. Consideraciones para la inicialización del Método de Newton. El catenoide en. 4.2.. El helicoide en. x2 + y 2 ≤ 1 . . . (x − 5)2 + y 2 ≤ 3. 21 22. . . . . .. 23. . . . . . . . .. 24. . .. 4. Resultados Númericos de la implementación del metodo 4.1.. 19. 26. 29. . . . . . . . . . . . . . . . . . . . . . .. 29. . . . . . . . . . . . . . . . . . . . . . .. 32. 4.3.. 2 La supercie de Scherk en el dominio x. 4.4.. El helicoide 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 38. 4.5.. Solución no conocida . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 39. +. y2. ≤. 1.52 . . . . . . . . . . . .. 35. Conclusiones. 44. A. Codigo de la implementación. 46. Bibliografía. 56.

(4) Ÿ0.0. 1. Agradecimientos Quiero agradecer a mi madre, ya que su apoyo, dedicación y amor han sido el motor que me ha impulsado a seguir dia a dia. A mí padre, del cual heredé la necesidad de entender el mundo que me rodea y me infundió el amor por la ciencia. A mi hermano Javier, con el que he compartido buenos y malos momentos, con el que podido contar cuando las cosas no son sencillas. A mi tía Cecilia y mi abuela María por velar por mi bienestar desde siempre. Y al resto de mi familia que con su apoyo incondicional han sido mi punto de apoyo. También doy gracias muy especiales a mi director Ahmed Ould, por haberme dado luz en varios campos de las matemáticas y por despertar mi amor al análisis. A todos mis profesores, en especial a René Meziat y a Jose Ricardo Arteaga. Ya que sus aportes, aunque pequeños son muy importantes en este trabajo. A mis amigos Alberto, Ricardo, José Luis, los dos Alejandros, Felipe y los demas con los cuales he compartido tanto, los cuales me conocen mas que cualquier persona. A los que les puedo conar todo. Espero seguir contando con su amistad por muchos años mas. Y a todos los que de alguna manera u otra me han acompañado por este camino gracias..

(5) Introducción El primer matemático en considerar seriamente el problema de encontrar una supercie en. R3. de área mínima con una condición sobre la frontera dada fue Lagrange en. el siglo XVIII. El reconoció este problema como fundamental al momento de modelar fenomenos físicos reales. El más conocido de estos problemas es el de determinar la forma que tendría una burbuja dado su borde. Una pregunta más general fue propuesta por Plateau: ¾Dada una frontera existe una supercie con esa frontera para la cual su área sea mínima?. Lagrange estudió este problema, aunque fue incapaz de encontrar la respuesta. Sin embargo si encontró las condiciones necesarias para tal supercie mínima: La ecuación de Euler-Lagrange. A pesar de estar armado con estas ecuaciones los ejemplos eran escasos en el siglo XVIII. Por mucho tiempo los únicos ejemplos conocidos fueron el plano, el catenoide y el helicoide. Durante el siglo XIX gracias a los avances en análisis de variable compleja se encontraron nuevos ejemplos de estas supercies, éntre estos los más notables son las dos supercies de Scherk. En el siglo XX Douglas y Radó lograron nalmente responder el problema de Plateau con una respuesta armativa, pero también fue en este siglo que el enfoque del estudio de las supercies mínimas cambió. Éstas ya no se consideraban como problemas de minimización sobre una frontera, sino aquellas que localmente cumplían una condición necesaria (que que es la nulidad de la curvatura media) pero que no tenían frontera. En la segunda mitad del siglo XX los avances en cristalografía y nanotecnología han hecho uso de estas supercies para modelar la supercie de contacto entre distintas sustancias y membranas. Es por esto que existe la necesidad de encontrar métodos para aproximar el comportamiento de estas sustancias, especialmente cuando no es posible encontrar una solución de manera analítica. El objetivo de este trabajo es desarrollar un método para aproximar numéricamente estas superces. En el capítulo 1 se estudiarán las características generales del problema, en particular las condiciones necesarias para que una supercie sea mínima y como llegar a éstas. En el capítulo 2 se introducirá la malla de diferencia nita. Ésta se completara con puntos sobre la frontera los cuales se utilizaran para construir aproximaciones a.

(6) Ÿ0.0. 3. las derivadas presentes en la ecuación diferencial parcial que caracteriza las supercies mínimas. En el capítulo 3 se introducirá un sistema de ecuaciones en múltiples variables basado en las aproximaciones obtenidas en el capítulo 2 cuya solución aproxima nuestra supercie mínima. Para solucionarlo se introducirá el método de Newton. Se discutirá la estructura de la matriz Jacobiana del problema y de la inicialización del método de Newton para este caso particular. En el capítulo 4 se mostrarán los resultados de usar el método sobre varios dominios, en muchos casos éstos corresponden a supercies conocidas, así que es posible comparar los resultados con éstas. Por último en el apendice A se encuentra el código de la implementación en Mathematica del programa correspondiente..

(7) Capítulo 1. Descripción y Formulación del Problema En este capítulo se explora la que es una supercie mínima y que condiciones para caracterizarlas éstas.. 1.1. Formulación geometrica del problema Todos los resultados de esta sección fueron obtenidos del libro de Do Carmo. rential Geometry of Curves and Surfaces [2] Sea. α. una curva cerrada simple diferenciable en. existencia de una supercie suave S tal que. ∂S = α. R3 .. Dife-. Una pregunta clásica es la. y que ademas su supercie sea. mínima entre todas las superces que tienen como frontera a la curva. α.. Para estudiar las condiciones necesarias de la existencia de tal supercie tenemos que introducir el concepto de variación normal sobre una supere.. Denición 1.1.1 Sea x(u, v) : U ⊂ R2 → R3 una superce parametrizada regular, y D un dominio acotado D ⊂ U y h : D̄ → R una función diferenciable. La variación normal de x(D̄), determinada por h es la función dada por: ψ : D̄ × (−, ) → R3 ψ(u, v, t) = x(u, v) + th(u, v)N (u, v), Recordemos que. N (u, v). es el vector normal dado por. N (u, v) = Para cada. t. (u, v) ∈ D̄, t ∈ (−, ). ja en el intervalo. (−, ). xu × xv ||xu × xv ||. denimos las funciones :.

(8) Ÿ1.1. 5. xt (u, v) = φ(u, v, t), las cuales tambien son supercies parametrizadas si. . es lo sucientemente pequeño.. Para estas supercies tenemos:. ∂xt = xu + thNu + thu N, ∂u ∂xt = xv + thNu + thv N, ∂v El área de una supercie parametrizada denida por una función. x(u, v). está dada. por:. Z p. EG − F 2 du dv. D̄ Donde. E =< xu , xu > F =< xu , xv > G =< xv , xv > representan los coecientes de la primera forma fundamental. Para la supercie tenemos que estos coecientes están dados por:. E t = E + 2th < xu , Nu > +t2 h2 < Nu , Nu > +t2 h2u F t = F + th(< xu , Nv > + < xv , Nu >) + t2 h2 < Nu , Nv > +t2 hu hv Gt = G + 2th < xv , Nv > +t2 h2 < Nv , Nv > +t2 h2v. Donde. E, F. y. G. son los coecientes de la supercie original.. Denotemos los coecientes de la segunda forma fundamental por:. e =< N, xuu > f =< N, xuv > g =< N, xvv > Se demuestra facilmente que:. xt.

(9) Ÿ1.1. 6. < xu , Nu >= −e,. < xu , Nv > + < xv , Nu >= −2f,. < xv , Nv >= −g.. La curvarutra media de la supercie S está dada por. H= Para un. t. 1 Eg − 2f F + Ge 2 EG − F 2. jo, el área de la supercie. A(t) =. Z p. xt. es. E t Gt − (F t )2 du dv. ZD̄. p. EG − F 2 − 2th(Eg − 2F f + Ge) + R(t)du dv. ZD̄. p. EG − F 2 − 2th2H(EG − F 2 ) + R(t)du dv. = = D̄. Z p. (EG − F 2 )(1 − 4thH) + R(t)du dv ZD̄ p q EG − F 2 1 − 4thH + R̄(t)du dv, =. =. D̄ donde. R(t) = −t2 (4f 2 h2 − 4egh2 − Gh2u − Gh2 ||Nu ||2 − Eh2 ||Nv ||2 + 2ghh2u t + 2gh3 ||Nu ||2 t+ 2eh3 ||Nv ||2 t + 2F h2 hu hv < Nu , Nv > t2 − h2 h2u ||N v||2 t2 − h4 ||N u||2 ||N v||2 t2 − 4f h3 huhv < Nu , Nv > t3 + h4 h2u h2v < Nu , Nv >2 t6 − Eh2v + 2ehth2v − h2u t2 h2v − h2 Nu2 t2 h2v ) lı́mt→0 (R(t)/t) = 0. y. R̄(t) = R(t)/(EG − F 2 ).. Si las funciones involucradas son diferenciables dado que. D̄. compacto podemos de-. rivar bajo el signo de integración para obtener. Z p A (t) = EG − F 2 p 0. D̄. Si. x. −2hH 1 − 4thH + R̄(t). du dv. es una supercie mínima se debe cumplir. A0 (0) = −. Z 2hH. p. EG − F 2 du dv = 0. D̄ Es claro que esta condición se cumple si En efecto sea un abierto que. h(q) = H(q). y. h=0. V ⊂D. H = 0,. propio y un punto. en el exterior de. V. pero el inverso tambien se cumple.. q. en. V,. escojamos. 0 , por lo que A (0). <0. y. x. h. de tal manera. no es mínima..

(10) Ÿ1.2. 7. La pregunta de la existencia de tales supercies en un dominio dado fue resuelta por Douglas (1931) y Radó (1933), quienes demostraron independientemente que tal supercie siempre existe. Como caso particular consideremos las supercies siguientes. Sea clase. C 2,. z : Ω ⊂ R2 → R de. denamos la supercie. x(u, v) = (u, v, z(u, v)), Para que esta supercie sea mínima, se debe cumplir. Eg − 2f F + Ge = 0 Los coecientes de la primera y segunda forma fundamental para esta supercie son:. E = 1 + zu2 , e = zuu F = zu zv , G=1+ Por lo que. z. zv2 ,. f = zuv g = zvv. debe cumplir la ecuación diferencial con derivadas parciales. (1 + zu2 )zvv − 2zu zv zuv + (1 + zv2 )zuu = 0. 1.2. Formulación Variacional Sea. Ω un dominio en R2 ∂Ω.. denida en. con. ∂Ω una curva simple, cerrada y suave a trozos, y u(x, y). Consideremos el siguiente problema de optimización:. mı́n f ∈S. Z p. 1 + |∇f |2. S ={f ∈ C 2 (Ω)|f = u Ya que. R p Ω. 1 + |∇f |2. (1.1). Ω en. ∂Ω}. es el área de la graca de la función. f. en. Ω estamos buscando. la supercie que minimice su área cumpliendo esta condición de frontera.. Teorema 1 [7] Sea u : Ω → R de clase C ∞ y F (x, λ, η) : Ω × R × R2 → R de clase C 2 . y la restricción u = u0 en ∂Ω Entonces el problema Z F (x, u(x), ∇u(x))dx. mı́n u∈S. Ω. S = {u ∈ C 2 (Ω)|u = u0. cumple:. en Ω}.. (1.2).

(11) Ÿ1.3. 8. 1. Si u es una solución óptima del problema anterior entonces u debe ser tambien una solución de la siguiente ecuación de Euler-Lagrange (E-L). div(Fη (x, u(x), ∇u(x))) = Fλ (x, u(x), ∇u(x)). (E − L) :. 2. Si u satisface (E-L) y F es convexa con respecto a las variables (λ, η), para cada x jo en Ω, entonces u es tambien una solución óptima al problema de optimización 1.2. 3. Si ademas, F es estrictamente convexa con respecto a (λ, η) para cada x ∈ Ω entonces la solución u, si existe es única. En nuestro problema. F (x, λ, η) =. p. 1 + |η|2. la cual es estrictamente convexa por. lo cual la solución al problema de supercie mínima en un dominio que cumpla las condiciones anteriores es única. Las ecuación (E-L) asociada con este problema puede escribirse en la forma. (1 + fx2 )fyy − 2fx fy fxy + (1 + fy2 )fxx = 0 f = u0. en. en. ∂Ω. Ω (1.3). 1.3. Comentarios acerca de la formulación Dado que nos restringiremos a encontrar supercies mínimas que puedan ser descritas como funciones de. R2. en. R,. es suciente con encontrar la solución de la ecuación. diferencial. (1 + fx2 )fyy − 2fx fy fxy + (1 + fy2 )fxx = 0.. (1.4). sujeta a las condiciones de frontera dadas. En la sección 1.1 se mencionó la existencia de una solución para este problema, y en la sección 1.2 se demuestra la unicidad de tal solución. Por lo que podemos asegurar que en caso que algun método iterativo consistente converja a una solución esta será la única solución. Notamos tambien la fuerte nolinealidad de la ecuación 1.4..

(12) Capítulo 2. Herramientas para el método de diferencias nitas Para resolver numéricamente la ecuación 1.4 adoptaremos el método de diferencias nitas. Así, este capítulo está enfocado en desarrollar las herramientas necesarias para tal método. En este capítulo contruiremos una malla en el dominio. Ω.. Usando los valores de la. función en los puntos de la malla obtendremos aproximaciones de las derivadas parciales de. f. f. hasta segundo orden. Con estas aproximaciones y tomando los valores de la función. en los nodos interiores como incógnitas construiremos un sistema de ecuaciones no. lineales. Al resolver este problema esperamos aproximar la solución de nuestro problema de supercie mínima.. 2.1. Construcción de la malla de diferencia nita Consideremos el dominio convexo ejes y con vértice inferior izquierdo. Ω,. y un rectangulo. Λ. con lados paralelos a los. v = (mı́n(x,y)∈Λ x, mı́n(x,y)∈Λ y),. de tal manera que. Ω ⊂ Λ. Construyamos una cuadrícula en Λ de la siguiente manera: Sean nx. ny. y. enteros. positivos, dena. ∆x = donde. Lx. y. Ly. Lx , nx + 1. ∆y =. son las longitudes de los lados de. mente. Ahora considere los puntos de la forma Denotemos. Λ. Ly . ny + 1 paralelos a los ejes. x. y. p(m,n) = v + (m∆x, n∆y). y. respectiva-. con. n, m ∈ Z.. P = {p(m,n) |1 ≤ n ≤ nx , 1 ≤ m ≤ ny }.. Denición 2.1.1 Al conjunto N = P ∩(Ω\∂Ω) se le llama Conjunto de Nodos interiores de la cuadrícula P en Ω, al tamaño de N se denota por η ..

(13) Ÿ2.1. 10. Figura 2.1: Nodos Interiores.. Se dene la siguiente función de. arrib(p). =. en. N ∪ ∂Ω. ( p + (0, ∆y). si. p + (0, ∆y) ∈ Ω. q ∈ {p + (0, t∆y)|t ∈ (0, 1)} ∩ ∂Ω.. q. Teorema 2.1.2 La función Demostración:. N. arrib(p). esta bien denida.. En el primer caso es evidente que la función está bien denida.. Para el segundo caso supongamos que el conjunto más de un punto, tome dos de estos puntos. 0 existen t, t en. p + (, 0), p + (−, 0) que. p. con. p1 , p 2 .. tiene. Por la forma en que se denieron. (0, 1) de forma tal que p1 = p + (0, t∆y), p2 = p + (0, t0 ∆y), sin pérdida de. generalidad suponga que. une a. {p + (0, t∆y)|t ∈ (0, 1)} ∩ ∂Ω. p1. t > t0 .. estan en. Ahora,. Ω.. p ∈ Ω \ ∂Ω.. Ya que. p2. Entonces. ∃ > 0. tal que los puntos. se encuentra en el segmento de recta que. y no es ninguno de estos dos puntos por hipótesis existe. p2 = λ1 p + (1 − λ1 )p1 ,. λ1 ∈ (0, 1). tal. por otra parte tenemos que. 1 1 p = (p + (, 0)) + (p + (−, 0)) 2 2 , si reemplazamos esto en la expresión anterior obtenemos. 1 1 p2 = λ1 ( (p + (, 0)) + (p + (−, 0))) + (1 − λ1 )p1 = 2 2 λ1 λ1 (p + (, 0)) + (p + (−, 0)) + (1 − λ1 )p1 . 2 2 Esta es una combinación convexa de tres puntos en coecientes es. 0,. puntos. Ya que implica que. p2. por lo tanto. Ω. p2. Ω. en la cual ninguno de los. está en el interior del simplex generado por estos tres. es convexo esto implica que este simplex está contenido en. esta en el interior de. Ω. lo cual contradice que. p2. está en. ∂Ω.. Ω,. lo cual.

(14) Ÿ2.2. 11. Figura 2.2: Teorema 2.1.2.. De manera similar se denen las siguientes funciones.. abj(p). =. der(p). izq(p). =. arribder(p). arribizq(p). abjder(p). abjizq(p). =. =. =. ( p + (0, −∆y). =. si. p + (0, −∆y) ∈ Ω. q q ∈ {p + (0, −t∆y)|t ∈ (0, 1)} ∩ ∂Ω. ( p + (∆x, 0) si p + (∆x, 0) ∈ Ω. q q ∈ {p + (t∆x, 0)|t ∈ (0, 1)} ∩ ∂Ω. ( p + (−∆x, 0) si p + (−∆x, 0) ∈ Ω. =. q q ∈ {p + (−t∆x, 0)|t ∈ (0, 1)} ∩ ∂Ω. ( p + (∆x, ∆y) si p + (∆x, ∆y) ∈ Ω. q q ∈ {p + (t∆x, t∆y)|t ∈ (0, 1)} ∩ ∂Ω. ( p + (−∆x, ∆y) si p + (−∆x, ∆y) ∈ Ω. q ( p + (∆x, −∆y). q ∈ {p + (−t∆x, t∆y)|t ∈ (0, 1)} ∩ ∂Ω. si. p + (∆x, −∆y) ∈ Ω. q q ∈ {p + (t∆x, −t∆y)|t ∈ (0, 1)} ∩ ∂Ω. ( p + (−∆x, −∆y) si p + (−∆x, −∆y) ∈ Ω q. q ∈ {p + (−t∆x, −t∆y)|t ∈ (0, 1)} ∩ ∂Ω.. La demostración de que estas funciones están bien denidas es similar a la de la función arrib.. Denición 2.1.3 Sea N̄ = N ∪ arrib(N ) ∪ abj(N ) ∪ der(N ) ∪ izq(N ) ∪ arribder(N ) ∪ arribizq(N ) ∪ abjder(N ) ∪ abjizq(N ), a este conjunto se le llama La proyección de la cuadrícula. P. en. Ω.

(15) Ÿ2.2. 12. Figura 2.3: Ejemplo de las funciones cerca a la frontera. 2.2. Obtención de aproximaciones a las derivadas parciales de primer y segundo orden. Consideremos un punto remos con las letras. p. en la cuadrícula , este punto tiene 8 vecinos que designa-. A, B , C , D , E , F , G. y. H,. como lo muestra la gráca 2.4.. Figura 2.4: Posición simetrica de los nodos En esta sección siempre que aparezca evaluada en el punto. fx , fy , fxx , fxy. o. fyy. se referirá a esa cantidad. p.. Consideremos la expansión en serie de Taylor de primer orden de la función puntos. A, B , C. y. D. f. en los.

(16) Ÿ2.2. 13. f (A) = f (p) + hfx + O(h2 ). f (B) = f (p) − kfy + O(k 2 ). f (C) = f (p) − hfx + O(h2 ). f (D) = f (p) + kfy + O(k 2 ).. así. f (A) − f (C) = 2hfx + O(h2 ). f (D) − f (B) = 2kfy + O(k 2 ). de esta manera obtenemos aproximaciones para. fx. y. fy. de la siguiente manera.. f (A) − f (C) + O(h). 2h f (D) − f (B) fy = + O(k). 2k fx =. (2.1) (2.2). En caso que los nodos se encuentren cerca a la frontera se puede tener la situación en que los puntos usados para la aproximación tengan distancias distintas a la separación de la malla (ver gura 2.5) en este caso tambien se puede hacer la aproximación:. Figura 2.5: Situación no simetrica.

(17) Ÿ2.2. 14. f (A) = f (p) + hfx + O(h2 ). f (B) = f (p) − kfy + O(k 2 ). f (C) = f (p) − h0 fx + O(h02 ). f (D) = f (p) + k 0 fy + O(k 02 ).. f (A) − f (C) = (h + h0 )fx + O(máx(h, h0 )2 ). f (D) − f (B) = (k + k 0 )fy + O(máx(k, k 0 )2 ). f (A) − f (C) + O(máx(h, h0 )). h + h0 f (D) − f (B) fy = + O(máx(k, k 0 )). k + k0 fx =. (2.3). (2.4). Ahora considerando las expansiones de segundo orden en los mismos puntos tenemos. h2 fxx 2 k 2 fyy f (B) = f (p) − kfy + 2 h2 fxx f (C) = f (p) − hfx + 2 k 2 fyy f (D) = f (p) + kfy + 2 f (A) = f (p) + hfx +. + O(h3 ). + O(k 3 ). + O(h3 ). + O(k 3 ).. f (A) + f (C) = 2f (p) + h2 fxx + O(h3 ). f (B) + f (D) = 2f (p) + k 2 fyy + O(k 3 ). f (A) + f (C) − 2f (p) + O(h). h2 f (B) + f (D) − 2f (p) = + O(k). k2. fxx =. (2.5). fyy. (2.6). Si de nuevo consideramos asimetría entre el punto central y sus dos vecinos:. h2 fxx + O(h3 ). 2 k 2 fyy f (B) = f (p) − kfy + + O(k 3 ). 2 h02 fxx f (C) = f (p) − h0 fx + + O(h03 ). 2 k 02 fyy f (D) = f (p) + k 0 fy + + O(k 03 ). 2 f (A) = f (p) + hfx +.

(18) Ÿ2.2. 15. h + h0 fxx + O((máx(h, h0 )4 ). 2 k + k0 k 0 f (B) + kf (D) = (k + k 0 )f (p) + kk 0 fyy + O((máx(k, k 0 )4 ). 2. h0 f (A) + hf (C) = (h0 + h)f (p) + hh0. h0 f (A) + hf (C) − (h0 + h)f (p) + O((máx(h, h0 )). hh0 (h + h0 ) k 0 f (B) + kf (D) − (k 0 + k)f (p) =2 + O((máx(k, k 0 )). kk 0 (k + k 0 ). fxx = 2. (2.7). fyy. (2.8). Para encontrar una aproximación a la derivada serie de Taylor de segundo orden en los puntos. fxx 2 2 fxx f (F ) = f (p) + hfx − kfy + h 2 f xx f (G) = f (p) − hfx − kfy + h2 2 fxx f (H) = f (p) − hfx + kfy + h2 2 f (E) = f (p) + hfx + kfy + h2. Buscamos una combinación lineal de. fxy. E, F, G. fyy 2 2 fyy +k 2 f yy + k2 2 fyy + k2 2 + k2. utilizaremos las expansiones en y. H. + hkfxy + O((h2 + k 2 )2 ). − hkfxy + O((h2 + k 2 )2 ). + hkfxy + O((h2 + k 2 )2 ). − hkfxy + O((h2 + k 2 )2 ).. f (E), f (F ), f (G). y. f (H). cE f (E) + cF f (F ) + cG f (G) + cH f (H). donde no aparezcan los términos. fx , fy , fxx , fyy. es:. y. . f (p).. cE. Por lo cual el sistema a resolver. .   0      c   F  1 1 −1 −1   c  = 0 .  G 0 1 −1 −1 1 cH . 1. 1. 1. . 1. Esperamos usar una solución distinta a la solución trivial de este problema, en general la solución de este sistema es:. cE = −cH , por lo que cualquier solución con. cF = cH , cH 6= 0. cG = −cH. cH. libre.. sirve a nuestros propositos. Con estos coe-. cientes obtenemos:. cE f (E) + cF f (F ) + cG f (G) + cH f (H) = cH (−f (E) + f (F ) − f (G) + f (H)) = cH (−4hkfxy + O(máx(h3 , k 3 )))..

(19) Ÿ2.2. 16. de lo que nalmente obtenemos:. fxy =. f (E) − f (F ) + f (G) − f (H) + O(máx(h, k)). 4hk. En caso que no se pueda contar con los algunos puntos. E, F , G. (2.9) o. H,. se pueden. utilizar puntos que se encuentren en las direcciones respectivas, usando sus normas(ver gura 2.6). Es decir, supongamos que las direcciones diagonales están dadas por los vectores:. Figura 2.6: Asimetría Diagonal. ! a b donde. a. y. b. ! −a b. a. −b √. se escogen de tal manera que. distancias desde el punto. !. ! −a −b. .. a2 + b2 = 1.. Sean. dE , d F , d G. y. dH. las. p al punto correspondiente, de nuevo haciendo la expansión de. Taylor en los respectivos puntos obtenemos:. fyy fxx + d2E b2 + d2E abfxy + O(d3E ). 2 2 fyy fxx f (F ) = f (p) + dF afx − dF bfy + d2F a2 + d2F b2 − d2F abfxy + O(d3F ). 2 2 fyy fxx f (G) = f (p) − dG afx − dG bfy + d2G a2 + d2G b2 + d2G abfxy + O(d3G ). 2 2 fyy fxx f (K) = f (p) − dH afx + dH bfy + daH a2 + d2H b2 − daH abfxy + O(d3H ). 2 2 f (E) = f (p) + dE afx + dE bfy + d2E a2. Al igual que en el caso anterior, buscamos coecientes de tal manera que anulen los coecientes asociados a. f (p), fx , fy , fxx , fyy ,. lo que equivale a resolver el sistema:.

(20) Ÿ2.2. 17. . 1. 1. 1.  dE dF  d  E −dF d2E. −dG −dG. d2F. −d2G. . .   0         −dH    cF  = 0 .     dH    cG  0 −d2H cH 0 1. cE. Tambien esperamos que este sistema tenga una solución no trivial. Ya que este sistema es homogéneo. La única manera de lograr esto es que el determinante de la matriz:. . 1. 1.  d E d F  d  E −dF d2E d2F. 1. . 1.  −dG −dH  . −dG dH   2 2 −dG −dH. Sea cero. El determinante de esta matriz es. 2(dE + dG )(dF + dH )(dE dF − dG dH ). Como los. di. son distancias siempre positivas, la única manera que este determinante. sea cero es que se cumpla la relación. dH dE = . dG dF Es decir que exista una proporción especíca entre las distintas distancias. En la práctica esto es imposible, ya que en la mayoría de los casos somos incapaces de escoger los puntos con los cuales deseamos trabajar. Por lo que debemos imponer menos condiciones sobre los términos que deseamos eliminar. Si ignoramos la condición que anula el coeciente de.  . dE.  dE −dF d2E d2F. −dG −d2G. obtenemos el sistema. .   0   cF       = dH    0 .  cG  0 −d2H cH. −dG −dH. dF. cE. f (p). . que tiene como solución general. cE = −. dH (dF + dH ) cH , dE (dE + dG ). cF =. dH cH , dF. cG = −. dH (dF + dH ) cH , dG (dE + dG ). cH. libre.. Ahora si usamos estos coecientes para hacer una combinación lineal de los valores de. f. en los puntos. E, F , G. y. H,. además. cH 6= 0..

(21) Ÿ2.2. 18. cE f (E) + cF f (F ) + cG f (G) + cH f (H) = dH (dF + dH ) dH (dF + dH ) dH f (F ) − f (E) + f (G) + f (H)) = dE (dE + dG ) dF dG (dE + dG ) (dF + dH )(dE dG − dF dH ) f (p) − 2dH (dF + dH )hkfxy + O(máx(dE , dF , dG , dH )3 )). cH ( dE dF dG cH (−. Por lo cual. fxy =. (dF +dH ) f (E) + − ddHE (d E +dG ). dH dF f (F ). −. dH (dF +dH ) dG (dE +dG ) f (G). −2dH (dF + dH )hk E dG −dF dH ) − (dF +dHd)(d f (p) E dF dG. −2dH (dF + dH )hk. + f (H) +. + O(máx(dE , dF , dG , dH )).. (2.10). Vale la pena notar que las ecuaciones 2.1, 2.2, 2.5, 2.6 y 2.9 son casos particulares de 2.3, 2.4, 2.7, 2.8 y 2.10 cuando se da la geometría descrita en cada caso..

(22) Capítulo 3. Planteamiento y Solución del Sistema de Diferencias Finitas 3.1. Construcción del Sistema de Diferencias Finitas En el capítulo anterior desarrollamos expresiones para aproximar los valores de las. fx , fx , fxx , fyy , fxy. derivadas parciales. usando puntos de una malla o puntos que tienen. cierta similitud con puntos de la malla. Armados con estas aproximaciones y con las funciones que buscan la ubicación"de los puntos buscamos construir y resolver cierto sistema no lineal cuyas soluciones esperamos aproximen a la solución del problema 1.4.. Denición 3.1.1 Sea n ∈ N un nodo interior de la cuadrícula P en Ω. Se denen las siguientes funciones. zder(n) − zizq(n) |n − der(n)| + |n − izq(n)| zarrib(n) − zabj(n) f˜y (n) = |n − arrib(n)| + |n − abj(n)|. f˜x (n) =. f¯xy (n) =. (3.1). (3.2). |n−izq(n)|zder(n) +|n−der(n)|zizq(n) −(|n−izq(n)|+|n−der(n)|)zn f˜xx (n) = 2 |n−der(n)||n−izq(n)|(|n−der(n)|+|n−izq(n)|). (3.3). |n−arrib(n)|zabj(n) +|n−abj(n)|zarrib(n) −(|n−arrib(n)|+|n−abj(n)|)zn f˜yy (n) = 2 |n−abj(n)||n−arrib(n)|(|n−abj(n)|+|n−arrib(n)|). (3.4). |n−arribizq(n)|(|n−abjder(n)|+|n−arribizq(n)|) − |n− z + arribder(n)|(|n−arribder(n)|+|n−abjizq(n)|) arribder(n). |n−arribizq(n)| |n−abjder(n)| zabjder(n). −2|n − arribizq(n)|(|n − abjder(n)| + |n − arribizq(n)|)ab. arribizq(n)|(|n−abjder(n)|+|n−arribizq(n)|) − |n− |n−abjizq(n)|(|n−arribder(n)|+|n−abjizq(n)|) zabjizq(n) + zarribizq(n). −2|n − arribizq(n)|(|n − abjder(n)| + |n − arribizq(n)|)ab. +. +. (n)|)(|n−arribder(n)||n−abjizq(n)|−|n−abjder(n)||n−arribizq(n)|) − (|n−abjder(n)|+|n−arribizq zn |n−arribder(n)||n−abjder(n)||n−abjizq(n)|. −2|n − arribizq(n)|(|n − abjder(n)| + |n − arribizq(n)|)ab. (3.5).

(23) Ÿ3.1. 20. donde. a =. √. ∆X , ∆X 2 +∆Y 2. la cuadrícula) y los. zi. b =. √. ∆Y (recordemos que estos valores vienen de ∆X 2 +∆Y 2. son variables indexadas por los nodos. Se entiende que estas. n como de zi así que lo correcto sería escribir ¯ fx (n, zn1 , . . . , znη ), se evitará esta practica ya que esto simplica la notación, en algunos casos se escribirá f¯x (n, x) cuando se desee hacer explicito que se evalúa esta función en. funciones dependen en realidad tanto de. el punto. x.. Si denimos:. 1 |n − der(n)| + |n − izq(n)| −1 c2 (n) = |n − der(n)| + |n − izq(n)| 1 c3 (n) = |n − arrib(n)| + |n − abj(n)| −1 c4 (n) = |n − arrib(n)| + |n − abj(n)| 2 α1 (n) = |n − der(n)|(|n − der(n)| + |n − izq(n)|) 2 α2 (n) = |n − izq(n)|(|n − der(n)| + |n − izq(n)|) −2 α3 (n) = |n − der(n)||n − izq(n)| 2 β1 (n) = |n − abj(n)|(|n − abj(n)| + |n − arrib(n)|) 2 β2 (n) = |n − arrib(n)|(|n − abj(n)| + |n − arrib(n)|) −2 β3 (n) = |n − abj(n)||n − arrib(n)| 1 γ1 (n) = 2|n − arribder(n)|(|n − arribder(n)| + |n − abjizq(n)|)hk 1 γ2 (n) = − 2|n − abjder(n)|(|n − abjder(n)| + |n − arribizq(n)|)hk 1 γ3 (n) = 2|n − abjizq(n)|(|n − arribder(n)| + |n − abjizq(n)|)hk 1 γ4 (n) = − 2|n − arribizq(n)|(|n − abjder(n)| + |n − arribizq(n)|)hk |n − arribder(n)||n − abjizq(n)| − |n − abjder(n)||n − arribizq(n)| γ5 (n) = 2|n − arribizq(n)||n − arribder(n)||n − abjder(n)||n − abjizq(n)| c1 (n) =. Note que las expresiones anteriores no dependen de. zi .. Con esto podemos escribir:.

(24) Ÿ3.2. 21. f¯x (n) = c1 (n)zder(n) + c2 (n)zizq(n). (3.6). f¯y (n) = c3 (n)zarrib(n) + c4 (n)zabj(n). (3.7). f¯xx (n) = α1 (n)zder(n) + α2 (n)zizq(n) + α3 (n)zn. (3.8). f¯yy (n) = β1 (n)zarrib(n) + β2 (n)zabj(n) + β2 (n)zn. (3.9). f¯xy (n) = γ1 (n)zarribder(n) + γ2 (n)zabjder(n) + γ3 (n)zabjizq(n) + γ4 (n)zarribizq(n) + γ5 (n)zn. (3.10). La ecuación que describe una supercie mínima esta dada por:. (1 + fx2 )fyy − 2fx fy fxy + (1 + fy2 )fxx = 0. Es natural considerar la siguiente función.. Fn (z) = (1 + f¯x (n)2 )f¯yy (n) − 2f¯x (n)f¯y (n)f¯xy (n) + (1 + f¯y (n)2 )f¯xx (n) Esta ecuación tiene como incógnitas algún subconjunto de éstas serán los valores en los nodos vecinos, pero cuando. n. {zi |i ∈ N },. (3.11). generalmente. está cerca a la frontera. algunos de estos puntos vecinos pueden estar sobre la misma y en consecuencia no ser variables. Nuestra aproximación a la solución será la solución del sistema de ecuaciones no lineales. Fn (z) = 0 con. η. ecuaciones y. η. incógnitas.. 3.2. El método de Newton Tomemos una función. x0. G : R n → Rn. y un punto inicial. es una aproximación a un cero de la función. cual. G(x) = 0),. mas al. 0. ya que. x0. real aproximando. G. x0 ∈ Rn .. (un cero de. G. Consideremos que. es aquel punto en el. no es precisamente el cero verdadero nos aproximaremos. G. con una función afín. Sabemos que tal función esta dada. por. L(x) = G0 (x0 )(x − x0 ) + G(x0 ) donde. G0 (x0 ). es la matriz jacobiana de. G. en el punto. x0 ,. si. 0 = G0 (x0 )(x − x0 ) + G(x0 ) 0 = G0 (x0 )x − G0 (x0 )x0 + G(x0 ) G0 (x0 )x = G0 (x0 )x0 − G(x0 ) x = x0 − G0 (x0 )−1 G(x0 ). L(x) = 0. obtenemos:.

(25) Ÿ3.3. 22. Si tomamos este nuevo. x. como aproximación y repetimos el proceso obtenemos la. sucesión. xi+1 = xi − G0 (x0 )−1 G(xi ) i = 1, 2, ... Este algoritmo para encontrar los ceros de una funcion de. (3.12). Rn → Rn. es conocido. como metodo de Newton.. Teorema 3.2.1 [6] Sea G : D ⊂ Rn → Rn una función diferenciable en una vecindad abierta S0 ⊂ D de un punto x∗ ∈ D para el cual G(x∗ ) = 0, y G0 (x∗ ) es invertible. Entonces la susesión 3.12 converge a x∗ . Ademas lı́m sup k→∞. ||xk+1 − x| | = lı́m sup ||xk − x∗ || = 0. ||xk − x∗ || k→∞. (3.13). Si ademas existen constantes α < +∞ y p ∈ (0, 1] tales que ||G0 (x) − G0 (x∗ )|| ≤ α||x − x∗ ||p ,. ∀x ∈ S0 ,. (3.14). entonces el orden de 3.12 es mayor a 1 + p. Finalmente, si G es conrinuamente diferenciable en S0 y la segunda derivada de F existe en x∗ y esta satisface (G00 (x∗ )h)h 6= 0,. ∀h ∈ Rn , h 6= 0,. (3.15). entonces el orden de 3.12 es 2.. 3.3. Método de Newton para el sistema de direncia nita Para aplicar los resultados de la sección anterior al sistema de diferencias nitas planteado, lo primero que tenemos que hacer es numerar de alguna manera las incógnitas y las ecuaciones. El orden en estas es muy importante porque la estructura de la matriz Jacobiana del problema depende fuertemente de este ordenamiento. Dado que cada ecuación y cada variable está asociada a un nodo podemos simplemente numerar los nodos y heredar ese orden a las ecuaciones y a las variables. El método mas natural y el que utilizaremos en este caso sera ordenar los nodos con el orden lexicográco de sus coordenadas. (y, x). (Al revés, esto es ir de izquierda a. derecha, luego de abajo hacia arriba). Esta noción de orden nos permite hablar de primer nodo, segundo nodo, etc, como un abuso de notación se usarán intercambiablemente el número del nodo y el nodo mismo, por ejemplo si el nodo y el nodo. 2. a su derecha es de coordenadas. der((0, 0)) = 2, der(1) = (0, 1),. (0, 1). 1. es de coordenadas. entonces tenemos que. (0, 0). der(1) = 2,. etc. Dada la correspondencia uno a uno entre los nodos. y esta numeración esto no debería representar inconvenientes..

(26) Ÿ3.3. 23. F : Rη → Rη. Denimos la función. de la siguiente manera:. (F (z))i = Fi (z1 , . . . , zη ). donde. 3.3.1.. Fi. (3.16). se denió en 3.11.. Derivadas de. f¯x , f¯y , f¯xx , f¯xy. y. f¯yy. Para construir la matriz jacobiana de la función parciales de las funciones. con respecto a los. F. zi .. necesitamos construir las derivadas. Fi con respecto de los diferentes zi . Para esto examinemos algun. Fi . Fn (z) = (1 + f¯x (n)2 )f¯yy (n) − 2f¯x (n)f¯y (n)f¯xy (n) + (1 + f¯y (n)2 )f¯xx (n) Las funciones componentes (por las ecuaciones 3.6, 3.7, 3.8, 3.9 y 3.10) dependen solamente de las nueve variables. ∂Fn mismo. Asi que ∂zi. =0. zi. simpre que. asociadas a los vecinos interiores del nodo. n. n. y a. n. no este asociado a estos nodos.. Teorema 3.3.1 Sea n un nodo interior de la cuadricula P en Ω. Las siguientes expresiones son validas siempre que la varable con respecto a la cual estamos derivando sea una incognita (es decir no se encuentre en la frontera). ∂ f¯x (n) = c1 (n) ∂zder(n) ∂ f¯x (n) = c2 (n) ∂zizq(n) ∂ f¯x (n) = 0. En ∂zi ∂ f¯y (n) = c3 (n) ∂zarrib(n) ∂ f¯y (n) = c4 (n) ∂zabj(n) ∂ f¯y (n) = 0. En ∂zi ∂ f¯xx (n) = α1 (n). ∂zder(n) ∂ f¯xx (n) = α2 (n). ∂zizq(n) ∂ f¯xx (n) = α3 (n). ∂zn. cualquier otro caso. cualquier otro caso.

(27) Ÿ3.3. 24. ∂ f¯xx (n) = 0. En ∂zi ∂ f¯yy (n) = β1 (n). ∂zarrib(n) ∂ f¯yy (n) = β2 (n). ∂zabj(n) ∂ f¯yy (n) = β3 (n). ∂zn ∂ f¯yy (n) = 0. En ∂zi ∂ f¯xy (n) = γ1 (n). ∂zarribder(n) ∂ f¯xy (n) = γ2 (n). ∂zabjder(n) ∂ f¯xy (n) = γ3 (n). ∂zabjizq(n) ∂ f¯xy (n) = γ4 (n). ∂zarribizq(n) ∂ f¯xy (n) = γ5 (n). ∂zn ∂ f¯xy (n) = 0. En ∂zi. cualquier otro caso. cualquier otro caso. cualquier otro caso. Es importante notar que en todos los casos estas expresiones son constantes que solo dependen de la naturaleza de la cuadrícula y no de las variables. 3.3.2.. zi .. Construcción de la matriz Jacobiana del Problema. En el paso i-ésimo del algoritmo de Newton se requiere encontrar el vector. J −1 F (xi−1 ), donde. J. y =. −1 es una esta evaluada en xi−1 . En general encontrar la matriz J. tarea computacionalmente complicada, pero, ya que en realidad no estamos interesados en. J −1 ,. sino en el vector. y. podemos multiplicar por. J. y obtener. Jy = F (xi−1 ). Si. y. es desconocido (esto es. y. es un vector de incógnitas) la expresión anterior es un. sistema de ecuaciones lineales con sistema tiene solución única.. η. ecuaciones y. η. incógnitas, ya que. J −1. existe este.

(28) Ÿ3.3. 25. Teorema 3.3.2 Sea k un nodo interior, la forma explicita de. ∂Fk ∂zj (xi ). es:.    2f¯x (k, xi )f¯yy (k, xi )c1 (k) − 2f¯xy (k, xi )f¯y (k, xi )c1 (k)+       (1 + f¯yy (k, xi )2 )α1 (k) si j = der(k)       2f¯x (k, xi )f¯yy (k, xi )c2 (k) − 2f¯xy (k, xi )f¯y (k, xi )c2 (k)+       (1 + f¯yy (k, xi )2 )α2 (k) si j = izq(k)      (1 + f¯x (k, xi )2 )β1 (k) − 2f¯xy (k, xi )f¯x (k, xi )c3 (k)+       2f¯y (k, xi )f¯xx (k, xi )c3 (k) si j = arrib(k)       (1 + f¯x (k, xi )2 )β2 (k) − 2f¯xy (k, xi )f¯x (k, xi )c4 (k)+   ∂Fk (xi ) = 2f¯y (k, xi )f¯xx (k, xi )c4 (k) si j = abj(k)  ∂zj     −2f¯x (k, xi )f¯y (k, xi )γ1 (k) si j = arribder(k)       −2f¯x (k, xi )f¯y (k, xi )γ2 (k) si j = abjder(k)       −2f¯x (k, xi )f¯y (k, xi )γ3 (k) si j = abjizq(k)       −2f¯x (k, xi )f¯y (k, xi )γ4 (k) si j = arribizq(k)      2  (1 + f¯x (k, xi ) )β3 (k) − 2f¯x (k, xi )f¯y (k, xi )γ5 (k)+      (1 + f¯y (k, xi )2 )α3 (n) si j = k     0 en cualquier otro caso. 3.3.2.1. Algunas propiedades de esta matriz jacobiana La caracteristica mas evidente de esta matriz Jacobiana es la gran cantidad de ceros que tiene, ya que dada una ecuación existirán a lo más 9 variables para las cuales. ∂Fi ∂zj. 6= 0.. Este hecho es importante en la implementación de algoritmos numéricos para solucionar sistemas con matrices de este tipo. También podemos armar que en general esta matriz no es simétrica. Para ver esto consideremos dos nodos,. k. y arribder(k). Con estos dos nodos tenemos:. ∂Fk (xi ) = −2f¯x (k, xi )f¯y (k, xi )γ1 (k) ∂zarribder (k) ∂Farribder (k) ∂Farribder (k) = = −2f¯x (arribder(k), xi )f¯y (arribder(k), xi )γ3 (k) ∂zk ∂zabjizq (arribder(k)) Si alguno de los nodos está cerca a la frontera no se puede asegurar que. γ1 (k) = γ3 (k).. Incluso, si estas dos cantidades son iguales no tenemos ningún control sobre los valores de. f¯x (k, xi ), f¯y (k, xi ), f¯x (arribder(k), xi ). y. f¯y (arribder(k), xi ).. Una propiedad buscada al resolver sistemas de ecuaciones lineales es que la matriz que usamos tenga un ancho de banda mínimo. La denición exacta es la siguiente:. Denición 3.3.3 Sea p(k) y u(k) los indices que cumplen.

(29) Ÿ3.3. 26. 1. Ak,j = 0 ∀j < p(k), Ak,j = 0 ∀j > u(k). 2. p(k) 6= 0 y u(k) 6= 0 Entonces el ancho de banda de la matriz A está dado por máx |p(k) − u(k)| k. Si usamos el orden lexicográco mencionado al principio de la sección 2.1 tenemos el siguiente teorema. Teorema 3.3.4 El ancho de banda de la matriz J esta acotado por máx. k∈N,k≤n2. |G(k)| + |G(k − 1)| + |G(k + 1)|. Donde G(0) = G(n2 + 1) = ∅ y G(k) = {n ∈ N |n = v + (t, k∆y)t ∈ R}. Demostración: Basta notar que. ∂Fj ∂zk. 6= 0. implica que. j ∈ {k, arrib(k),. abj(k), der(k), izq(k), arribder(k), arribizq(k), abjder(k), abjizq(k)}, a su vez este conjunto está contenido en. G(k − 1) ∪ G(k) ∪ G(k + 1).. Se tiene también que los nodos. en este conjunto están numerados consecutivamente y que. G(i) ∩ G(j) = ∅. por lo que la distancia entre la numeración de los nodos en la la. k. si. i 6= j ,. está acotada por. |G(k)| + |G(k − 1)| + |G(k + 1)|. 3.3.3.. Consideraciones para la inicialización del Método de Newton. Uno de los problemas del método de Newton es encontrar buenos puntos para inicializar el algoritmo. Se han visto casos en los cuales incluso tomando como punto inicial. p0 = s + . donde. s. es la solución exacta y. . es relativamente"pequeño el algoritmo. diverge. Incluso cuando se consideran sistemas que provienen de la solución de problemas de supercies mínimas (el sistema dado por 3.16) y se toma como aproximación inicial. zi = f (n) + . donde. n. es el n-esimo nodo y. f. es la solución exacta del problema, el. algoritmo puede fallar en converger. Por el teorema 3.2.1 podemos concluir que el punto. z. se encontraba demasiado alejado de alguna solución del sistema. Dado que no conocemos la solución de antemano de alguna manera para poder medir. la distancia entre la solución real y la solución exacta tenemos que recurrir a la función. F. para obtener una medida de la cercanía. Es decir un punto inicial. mejor mientras mas cerca. F (z). se encuentre de. z. se considerará. 0.. zi = f (n)+. Si observamos alguno de los nodos interiores que no se encuentre cerca de la frontera, notamos que f¯x (n) ≈ fx (n). Consideremos de nuevo la aproximación inicial.

(30) Ÿ3.3. 27. Se puede amar lo mismo de las otras derivadas parciales, por lo que se puede armar que. Fn (z) = (1 + f¯x (n)2 )f¯yy (n) − 2f¯x (n)f¯y (n)f¯xy (n) + (1 + f¯y (n)2 )f¯xx (n) ≈ (1 + fx (n)2 )fyy (n) − 2fx (n)fy (n)fxy (n) + (1 + fy (n)2 )fxx (n) = 0. en aquellos puntos no cercanos a la frontera. En la frontera sin embargo, las cosas son distintas. En estos nodos las aproximaciones de las dérivadas parciales se calculan usando un valor en la frontera. Estos valores se encuentran alejados arbitrariamente de los valores de sus vecinos internos. Asi que las aproximaciones de las derivadas parciales no son buenas por lo que en estos nodos. Fn (z). puede ser grande. Es esta discrepancia la que puede causar la divergencia en ejemplos como el anterior. Usando las ideas explicadas anteriormente se busca construir un método de inicialización para el cual. F (z). sea lo más pequeño posible. Los objetivos de este método. son: 1. Hacer el valor de. F (z). en aquellas coordenadas que corresponden a los nodos que. no se encuentran cerca de la frontera. 0.. 2. Hacer pequeña la diferencia entre los valores de los nodos cerca a la frontera y los valores de la frontera. El primer objetivo se alcanza utilizando como aproximación inicial. f. zn = f (n). donde. es alguna supercie mínima. Por las razones mencionadas en el ejemplo anterior esto. asegura que en todos los nodos que no se encuentren cerca de la frontera se tenga. Fn (z) = 0. El segundo objetivo es más vago que el primero y a diferencia de este no hay una manera única de lograrlo que al menos nos garantice un exito parcial, por lo que este objetivo se buscará una vez se obtenga el primero.. 3.3.3.1. Aproximación 0 Este método inicializa a Newton usando. zi = 0 .. Con lo que se tiene la ventaja que. para cualquier nodo interior que no tenga vecinos en la frontera se tiene. Fi (z) = 0. cual hace que solo aquellos nodos que tengan vecinos en la frontera aporten a. lo. |F (z)|.. 3.3.3.2. Método del promedio Este método inicializa a Newton usando. zi = z̄. donde. z̄. es el promedio de los valores. en la frontera. Con este se tiene la ventaja que para cualquier nodo interior que no tenga ningun vecino en la frontera se tiene diferencia entre los. zi. Fi (z) = 0.. Además se busca con esto reducir la. que se encuentren cerca a la frontera con sus vecinos sobre esta. por lo que se espera que. |F (z)|. sea menor que en el caso anterior..

(31) Ÿ3.3. 28. 3.3.3.3. Método de los mínimos cuadrados lineales Este metodo inicializa a Newton usando. zi = P (zi ). donde. P. es el plano de apro-. ximación obtenido usando mínimos cuadrados en los puntos de la frontera. Se tiene la ventaja que debido a que los planos son superes mínimas tenemos que. Fi (z) = 0. para. todos los puntos interiores que no se encuentren cerca a la frontera. Ademas se espera que. |F (z)| sea incluso menor que en el caso anterior ya que se supone una reducción aún. mayor de la diferencia entre los valores de la frontera y aquellos de sus puntos vecinos.. 3.3.3.4. Método de los mínimos cuadrados de orden superior Este método inicializa a Newton usando. zi = G(zi ). donde. G. es una aproximación. obtenida usando mínimos cuadrados de orden superior. La ventaja de este método es que los nodos cerca a la frontera tienen valores muy similares a aquellos en la frontera por lo que se espera que. Fi (z). sea pequeño en esos nodos. Pero no se tiene ningun. control sobre lo que pasa en el interior. Esta forma de inicializar el problema parece funcionar mejor cuando el plano obtenido con mínimos cuadrados lineales no es capaz de capturar el comportamiento de los puntos de la frontera (esto se puede observar cuando la prueba estadística. F. estos no son signicativos, o un. de signicancia global de los coecientes muestra que. R2. muy bajo)..

(32) Capítulo 4. Resultados Númericos de la implementación del metodo Los siguientes son los resultados de la implementación del método anterior. El software usado para implementalo es Mathematica 5.1. El código de la implementación puede ser encontrado en el apéndice. Para todos los ejemplos de esta sección el error relativo está calculado con respecto al punto mínimo de. 4.1. El catenoide en x2 + y2 ≤ 1. Figura 4.1: El catenoide..

(33) Ÿ4.1. 30. Para este primer ejemplo tomemos la supercie obtenida al rotar la función. x 2 cosh( ) 2 con respecto al eje. x. Como se demuestra en [2] esta es una supere mínima. En este caso. el dominio será el circulo unitario con centro en el origen y se tomara una cuadr'cula de 400 puntos en. [−1.1, 1.1] × [−1.1, 1.1]. (nótese que no estos los "`nodos"'seran no-. dos efectivos). La información que es independiente del método de inicialización es la siguiente:. Número de nodos efectivos: 284 Criterio de convergencia: Norma de Criterio de divergencia: Norma de. F (x) < 10−5. F (x) > 1010. Figura 4.2: Gráca del catenoide en. 1. vector de inicialización:. [−1, 1] × [−1, 1].. 0. Con esta inicialización el método diverge. 2. Vector de Inicialización:. z̄. Número de iteraciones para lograr la convergencia: 8 Error absoluto máximo:. 0.000068.

(34) Ÿ4.1. 31. Nodo en que se alcanza el error absoluto máximo: Error relativo máximo:. (0.052381, 0.052381). 0.000034. Nodo en que se alcanza el error relativo máximo:. (−0.052381, 0.890476). 3. Vector de Inicialización: Obtenido de una regresión lineal de los valores de la frontera. Número de iteraciones para lograr la convergencia: 8 Error absoluto máximo:. 0.000068. Nodo en que se alcanza el error absoluto máximo: Error relativo máximo:. (0.052381, 0.052381). 0.000034. Nodo en que se alcanza el error relativo máximo:. (−0.052381, 0.890476). Figura 4.3: Gráca de una triangulación de la aproximación del catenoide obtenida en el ejemplo 4.1 usando mínimos cuadrados como inicialización en el circulo unitario.. En el caso que el vector de inicialización sea. z̄. se obtienen exactamente los mismos. resultados que en el caso que se usa la regresión. Esto se explica notando que la regresión en el primer caso es:. 1.99 − 5.94 ∗ 10−17 x − 8.78 ∗ 10−16 y.

(35) Ÿ4.2. 32. Figura 4.4: Gráca de la una triangulación del catenoide exacto en el circulo unitario (usando los mismos puntos que la gura 4.3).. 4.2. El helicoide en (x − 5)2 + y2 ≤ 3. Figura 4.5: El helicoide. Nuestro segundo ejemplo es la supercie dada por. 10 arctan(x, y).

(36) Ÿ4.2. 33. en el dominio. (x − 5)2 + y 2 ≤ 3.. Se puede mostrar que en este dominio la función dada. coincide con el helicoide dado por. f (w, t) = (w cos(t), w sin(t), t) w ∈ (0, 10). que es una. supercie mínima [2]. La información que es independiente del método de inicialización es la siguiente: Número de nodos efectivos: 112 Criterio de convergencia: Norma de Criterio de divergencia: Norma de 1. Vector de Inicialización:. F (x) < 10−5. F (x) > 1010. 0. Número de iteraciones para lograr la convergencia: 19 Error absoluto máximo:. 0.00012. Nodo en que se alcanza el error absoluto máximo: Error relativo máximo:. (3.67, −1.03). 0.00018. Nodo en que se alcanza el error relativo máximo:. (4.26, −1.32). Figura 4.6: Gráca de una triangulación de la aproximación del helicoide del ejemplo 4.2 obtenida usando como inicialización mínimos cuadrados.. 2. Vector de Inicialización:. z̄. Número de iteraciones para lograr la convergencia: 19 Error absoluto máximo:. 0.00012.

(37) Ÿ4.2. 34. Nodo en que se alcanza el error absoluto máximo: Error relativo máximo:. (3.67, −1.03). 0.00018. Nodo en que se alcanza el error relativo máximo:. (4.26, −1.32). 3. Vector de Inicialización: Obtenido de una regresión lineal de los valores de la frontera. Número de iteraciones para lograr la convergencia: 14 Error absoluto máximo:. 0.00012. Nodo en que se alcanza el error absoluto máximo: Error relativo máximo:. (3.67, −1.03). 0.00018. Nodo en que se alcanza el error relativo máximo:. (4.26, −1.32). Figura 4.7: Gráca de la una triangulación del helicoide exacto (usando los mismos puntos que la gura 4.6).. Los resultados obtenidos con los puntos de inicialización explica teniendo en cuenta que. z̄ = −9.57 ∗. 10−17 .. 0. y. z̄. son identicos, esto se.

(38) Ÿ4.3. 35. Figura 4.8: Gráca del helicoide exacto en. [5 +. √. 3, 5 −. √. √ √ 3] × [− 3, 3].. 4.3. La supercie de Scherk en el dominio x2 + y2 ≤ 1.52.. Figura 4.9: Gráca de la supercie de Scherk en. ln.  En este. [−1.5, 1.5] × [−1.5, 1.5].. ejemplo se utilizará la supercie de scherk que esta dada por. f (x, y) =. cos x cos y . La comprobación de que esta supercie es mínima esta dada en [2]. La infor-. mación independiente del método de inicialización es la siguiente:.

(39) Ÿ4.3. 36. Número de nodos efectivos: 432 Criterio de convergencia: Norma de Criterio de divergencia: Norma de. 1. vector de inicialización:. F (x) < 10−5. F (x) > 1010. 0. Número de iteraciones para lograr la convergencia: 20 Error absoluto máximo:. 0.0146. Nodo en que se alcanza el error absoluto máximo: Error relativo máximo:. 0.0438. Nodo en que se alcanza el error relativo máximo: 2. Vector de Inicialización:. (−0.06, −1.35). (−0.06, −1.35). z̄. Número de iteraciones para lograr la convergencia: 20 Error absoluto máximo:. 0.0146. Nodo en que se alcanza el error absoluto máximo: Error relativo máximo:. (−0.06, −1.35). 0.0438. Nodo en que se alcanza el error relativo máximo:. (−0.06, −1.35). z̄ = 5.0 ∗ 10−17 3. Vector de Inicialización: Obtenido de una regresión lineal de los valores de la frontera. Número de iteraciones para lograr la convergencia: 20 Error absoluto máximo:. 0.0146. Nodo en que se alcanza el error absoluto máximo: Error relativo máximo:. 0.0438. Nodo en que se alcanza el error relativo máximo: Plano inicial:. (−0.06, −1.35). (−0.06, −1.35). z = 7.16 ∗ 10−17 + 1.19 ∗ 10−16 x − 2.01 ∗ 10−16 y .. 4. Vector de Inicialización: Obtenido de una regresión cuadratica de los valores de la frontera. Número de iteraciones para lograr la convergencia: 17 Error absoluto máximo:. 0.0146. Nodo en que se alcanza el error absoluto máximo: Error relativo máximo:. 0.0438. (0.064, 1.354).

(40) Ÿ4.3. 37. Nodo en que se alcanza el error relativo máximo: Supercie inicial:. (0.064, 1.354). z = −5.33 ∗ 10−17 − 5.63 ∗ 10−17 x − 1.0x2 − 2.63 ∗ 10−16 y +. 5.08 ∗ 10−17 xy + 1.06y 2 . Se observa que los primeros tres casos dan los mismos resultados númericos ya que tanto. z̄. como la regresión lineal obtenida son aproximadamente igual a 0.. Para obtener una aproximación signicativa al comportamiento de la función se necesitó una aproximación cuadrática.. Figura 4.10: Gráca de una triangulación de la aproximación de la supercie de Scherk del elemplo 4.3 obtenida usando como inicialización una aproximación cuadratica..

(41) Ÿ4.5. 38. Figura 4.11: Gráca de la una triangulación de la supercie de Scherk exacta (usando los mismos puntos que la gura 4.10).. 4.4. El helicoide 2 En este ejemplo se hará de nuevo el helicoide. El dominio en este caso estará dado por:. 503.04 − 120.8x + 8x2 + 137.36y − 13.6xy + 11.56y 2 = 5. En este caso solo usara como metodo de inicialización el plano obtenido por mínimos cuadrados. Los resultados son los siguientes: Número de nodos efectivos: 205 Criterio de convergencia: Norma de Criterio de divergencia: Norma de. F (x) < 10−5. F (x) > 1010. Número de iteraciones para lograr la convergencia: 29 Error absoluto máximo:. 0.000025. Nodo en que se alcanza el error absoluto máximo: Error relativo máximo:. (4.15, −3.42). 0.000054. Nodo en que se alcanza el error relativo máximo:. (−4.0381, −3.4285). z̄ = 5.0 ∗ 10−17 Supercie inicial:. z = − − 16.5869 + 2.65617x + 4.36221y ..

(42) Ÿ4.5. 39. Figura 4.12: Gráca de la una triangulación de la solucion encontrada en el ejemplo 4.4 para el helicoide.. Figura 4.13: Gráca del helicoide exacto usando la misma triangulación que la gura 4.12.. 4.5. Solución no conocida En este ejemplo no se conoce la solución exacta del problema. El dominio es el círculo unitario centrado en el origen, y la condición de frontera en coordenadas cilíndricas esta dada por. z(r, θ) = sin(10θ)..

(43) Ÿ4.5. 40. Figura 4.14: Gráca del helicoide exacto.. Figura 4.15: Gráca de la condición de frontera. Las inicializaciones cero, promedio y mínimos cuadrados dan puntos iniciales muy cercanos a cero. Esto es debido a la naturaleza oscilante de la condición de frontera. Con cualquiera de estas tres inicializaciones el método diverge..

(44) Ÿ4.5. 41. Teniendo en cuenta que sobre el círculo unitario:. sin(θ) = y cos(θ) = x. sin(10θ) = 10 cos(θ)9 sin(θ) − 120 cos(θ)7 sin(θ)3 + 252 cos(θ)5 sin(θ)5 − 120 cos(θ)3 sin(θ)7 + 10 cos(θ) sin(θ)9 Así tenemos que la condición de frontera coincide con el polinomio. 252x5 y 5 − 120x3 y 7 + 10xy 9 .. 10x9 y −120x7 y 3 +. Se extenderá esta función sobre todo el plano y se usará. como inicialización del método.. Figura 4.16: Gráca del polinomio de inicialización usado en el ejemplo 4.5. Número de nodos: 286 Número de iteraciones en alcanzar la convergencia: 34.

(45) Ÿ4.5. 42. Figura 4.17: Gráca de la una triangulación del polinomio de inicialización del metodo usado en el ejemplo 4.5.

(46) Ÿ4.5. Figura 4.18: Gráca de la solución encontrada con la condición de frontera usando la misma triangulación que la gura 4.17.. 43. z = sin(10θ).

(47) Conclusiones El tema principal de este trabajo es elaborar un método numérico para solucionar problemas de superces mínimas. Paritiendo de la ecuación con derivadas parciales que caracteriza éste problema se realizo una discretización utilizando diferencias nitas. Una gran parte de esta etapa es hallar las aproximaciones de las derivadas cruzadas y adaptar las aproximaciones a casos donde los vecinos de un nodo no pertenecen a la cuadricula. Debido a la no linealidad de las ecuaciones discretizadas el método de Newton se perla como el más adecuado para resolver dichas ecuaciónes. La forma en la que se plantearon las ecuaciones permite calcular el Jacobiano de manera sencilla partiendo de la geometria de la malla y de su numeración. El mayor problema de éste método radica en localizar un punto inicial que garantiza la convergencia del método de Newton. Para ello se implementaron cuatro métodos para adivinar el punto inicial del método de Newton, y dependiendo de las supercies estudadas en los ejemplos los resultados han sido muy variados aunque los metodos basados en regresión parecen ser más ecientes. También se enfrentaron problemas de inicialización del algoritmo, heredados directamente de la naturaleza del método de Newton. Estos fueron enfrentados usando un metodo de inicialización que, a pesar de ser computacionalmente simple es capaz de acercarnos al punto solución del problema. Otra posible solución que no fue explorada en este trabajo, es usar algún método que siempre converja a la solución (por ejemplo solucionar el sistema no lineal usando otras técnicas de optimización). Otra posibilidad de resolver este tipo de problemas es el método de elementos nitos y combinarlo con otro solver de ecuaciones no lineales. También queda abierta la pregunta si es posible adaptar este método a encontrar superces mínimas mas generales y no solo aquellas que puedan ser descritas como la gráca de una función de. R2. en. R.. El principal problema de ésto es que en estos casos. se asocia más de una variable por nodo (una por cada grado de libertad). Lo cual nos da. 3n. variables y. n. ecuaciones, lo cual evita que el método de Newton se generalice. directamente a este caso. Otra cosa en la que se puede mejorar el algoritmo es en encontrar algún método para.

(48) Ÿ4.5. 45. rotar el dominio de manera óptima, y así disminuir el ancho de banda de las matrices Jacobianas resultantes en los pasos intermedios del algoritmo. Una idea preliminar es usar los puntos sobre la frontera y hacer el análisis estadístico de cual dirección es la que tiene menor variabilidad con respecto a la media (usando por ejemplo componentes principales), y redenir el problema usando este eje como eje x. La desventaja de este procedimiento es que hay que redenir la malla después de la rotación, con lo que se aumenta el trabajo. Pero teniendo en cuenta que el paso que más consume tiempo en cada iteración del método es la solución de un sistema lineal dado por la matriz Jacobiana, bien puede valer la pena. El método anterior se puede aplicar con unos mínimos cambios a cualquier problema de EDP que se dena en un dominio cerrado convexo y acotado en. R2. y sin mucha. dicultad se puede generalizar a dimensiones superiores. Sin embargo, algoritmos como el de inicialización del método pueden funcionar de manera distinta o no funcionar del todo. Estos algoritmos deben adaptarse de acuerdo al problema que se esta resolviendo..

(49) Apéndice A. Codigo de la implementación (*Metodo de diferencia finita para diferencia finita con benchmark la en el dominio dado con vector de minimos cuadrados*). solucionar la ecuación de superficie 30 ArcTan[x, y] inicializacion dado por. Clear[" Global`* "] << DiscreteMath`ComputationalGeometry` condicion[x_,y_] = {x - 5, y + 3} . {{8, -6.8 }, { -6.8 , 11.56}} . {x - 5, y + 3} - 5; (*La condicion que permite decidir si un pto esta o no *) vfrontera[x_, y_] = 30 ArcTan[x, y]; (*El valor que se le da en la fontera *) rango = {{3.8, -4 }, {6.3, -2 }}; (*Los vertices inferior izquierdo y que trabajamos*) puntosx = 20; puntosy = 20; (*Puntos internos. en. x y. maxit = 100; (*Iteraciones Maximas para. superior derecho de. y*). Newton*). deltax =(rango[[2]][[1]]- rango[[1]][[1]])/(puntosx + 1)// N; deltay =(rango[[2]][[2]]- rango[[1]][[2]])/(puntosy + 1)// N;. la region.

(50) ŸA.0. (*Los delta. 47. de x. y y. correspondientes *). psx[i_] = rango[ [1] ] [ [1] ] + i*deltax; psy[j_] = rango[ [1] ] [ [2] ] + j*deltay; (*Las posiciones de x y y en funcionde contnodo = 0; (*Inicializacion del conteo. de. i y. j*). nodos*). coordenada[x_] = I; arriba[x_] = I; abajo[x_] = I; derecha[x_] = I; izquierda[x_] = I; arribizq[x_] = I; arribder[x_] = I; abjizq[x_] = I; abjder[x_] = I; (* Casos por defectos de las funciones usadas, en caso en algun momento se retorne I indica algun error *). que. (*El siguiente procedimiento hace lo siguiente : 1. Numera los nodos interiores y crea las biyecciones entre la numeracion de los nodos y las coordenadas mismas, 2. encuentra los puntos de la frontera para aproximar las derivadas de aquellos cerca a la frontera, 3. Recoge estos puntos de frontera y sus valores en un vector, 4. Crea las relaciones de posición entre los distintos puntos usados, tanto nodos como puntos en la frontera*) puntosFrontera = Reap[ Do[ If[condicion[psx[i], psy[j]] <= 0, If[condicion[psx[i], psy[j]] == 0, f[{psx[i], psy[j]}] = vfrontera[psx[i], psy[j]]; (*Asigna el valor en la frontera*) Sow[{psx[i], psy[j], vfrontera[psx[i], psy[j]]}];, (*Estos Sow recogen los puntos de la frontera para buscar la inicialización en puntosFrontera*) contnodo++ ;.

(51) ŸA.0. 48. nodo[contnodo] = {psx[i], psy[j]}; coordenada[{psx[i], psy[j]}] = contnodo; (*nodo recibe el numero del nodo y retorna la coordenada, coordenada hace lo contrario, en caso que la coordenada so sea un nodo o que el numero del nodo no exista ambos retornan I*) If[condicion[psx[i], psy[j + 1]] <= 0, arriba[{psx[i],psy[j]}]={psx[i], psy[j + 1]}, (*El nodo de arriba esta exactamente donde lo queremos*) parr ={x,y}/.FindRoot[{condicion[x, y] == 0, x == psx[i]}, {{x, psx[i]}, {y, psy[j]}}]; (*Busca el punto sobre la frontera para arriba*) f[parr] = vfrontera[parr[ [1] ], parr[ [2] ]]; (*le asigna el valor al punto en la frontera*) Sow[{parr[ [1] ], parr[ [2] ], f[parr]}]; arriba[{psx[i], psy[j]}] = parr; (*El nodo de arriba esta donde lo aproximamos, estos mismos comentarios aplican en los siguientes casos*) ]; If[condicion[psx[i], psy[j - 1]] <= 0, abajo[{psx[i], psy[j]}] = {psx[i], psy[j - 1]}, paba = {x, y} /.FindRoot[{condicion[x, y] == 0, x == psx[i]}, {{x, psx[i]}, {y, psy[j]}}]; f[paba] = vfrontera[paba[ [1] ], paba[ [2] ]]; Sow[{paba[ [1] ], paba[ [2] ], f[paba]}]; abajo[{psx[i], psy[j]}] = paba; ]; If[condicion[psx[i + 1], psy[j]] <= 0, derecha[{psx[i], psy[j]}] = {psx[i + 1], psy[j]}, pder = {x, y} /. FindRoot[{condicion[x, y] == 0, y == psy[j]}, {{x, psx[i]}, {y, psy[j]}}]; f[pder] = vfrontera[pder[ [1] ], pder[ [2] ]]; Sow[{pder[ [1] ], pder[ [2] ], f[pder]}]; derecha[{psx[i], psy[j]}] = pder; ]; If[condicion[psx[i - 1], psy[j]] <= 0, izquierda[{psx[i], psy[j]}] = {psx[i - 1], psy[j]},.

(52) ŸA.0. 49. pizq = {x, y} /. FindRoot[{condicion[x, y] == 0, y == psy[j]}, {{x, psx[i]}, {y, psy[j]}}]; f[pizq] = vfrontera[pizq[ [1] ], pizq[ [2] ]]; Sow[{pizq[ [1] ], pizq[ [2] ], f[pizq]}]; izquierda[{psx[i], psy[j]}] = pizq; ]; If[condicion[psx[i + 1], psy[j + 1]] <= 0, arribder[{psx[i],psy[j]}]= {psx[i+ 1], psy[j + 1]}, parde = {x, y} /. FindRoot[{condicion[x, y] == 0, y == (deltay/deltax) x + psy[j] - (deltay/deltax) psx[i]}, {{x, psx[i]}, {y, psy[j]}}]; f[parde] = vfrontera[parde[ [1] ], parde[ [2] ]]; Sow[{parde[ [1] ], parde[ [2] ], f[parde]}]; arribder[{psx[i], psy[j]}] = parde; ]; If[condicion[psx[i - 1], psy[j - 1]] <= 0, abjizq[{psx[i],psy[j]}] = {psx[i - 1], psy[j - 1]}, pabiz = {x, y} /. FindRoot[{condicion[x, y] == 0, y == (deltay/deltax) x + psy[j]-(deltay/deltax) psx[i]}, {{x, psx[i]}, {y, psy[j]}}]; f[pabiz] = vfrontera[pabiz[ [1] ], pabiz[ [2] ]]; Sow[{pabiz[ [1] ], pabiz[ [2] ], f[pabiz]}]; abjizq[{psx[i], psy[j]}] = pabiz; ]; If[condicion[psx[i - 1], psy[j + 1]] <= 0, arribizq[{psx[i], psy[j]}] = {psx[i-1], psy[j+1]}, pariz = {x, y} /.FindRoot[{condicion[x, y] == 0, y == -(deltay/deltax) x +psy[j] + (deltay/deltax) psx[i]}, {{x, psx[i]}, {y, psy[j]}}]; f[pariz] = vfrontera[pariz[ [1] ],pariz[ [2] ]]; Sow[{pariz[ [1] ], pariz[ [2] ], f[pariz]}]; arribizq[{psx[i], psy[j]}] = pariz; ]; If[condicion[psx[i + 1], psy[j - 1]] <= 0, abjder[{psx[i], psy[j]}] = {psx[i + 1],psy[j - 1]}, pabde = {x, y} /. FindRoot[{condicion[x, y] == 0, y== -(deltay/deltax) x + psy[j] + (deltay/deltax) psx[i]}, {{x, psx[i]}, {y, psy[j]}}]; f[pabde] = vfrontera[pabde[ [1] ], pabde[[2]]];.

(53) ŸA.0. 50. Sow[{pabde[ [1] ], pabde[ [2] ], f[pabde]}]; abjder[{psx[i], psy[j]}] = pabde; ]; ], Continue[]; ]; , {j, puntosy}, {i, puntosx}]; ] [ [2] ] [ [1] ]; parr = paba = pder = pizq = parde = pabiz = (*Fin procedimiento*) (*Definicion de las distintas f respecto de los z_i*). barra y. pariz =. de sus. pabde =. ;. derivadas. con. fx[i_] := (f[derecha[nodo[i]]] - f[izquierda[nodo[i]]]) /(Norm[derecha[nodo[i]] - nodo[i]] + Norm[izquierda[nodo[i]] - nodo[i]]) ; fy[i_] := (f[arriba[nodo[i]]] - f[abajo[nodo[i]]]) / (Norm[arriba[nodo[i]] - nodo[i]] + Norm[abajo[nodo[i]] - nodo[i]]) ; fxx[i_] := 2 (Norm[izquierda[nodo[i]] - nodo[i]]*f[derecha[nodo[i]]] + Norm[derecha[nodo[i]] - nodo[i]]*f[izquierda[nodo[i]]] (Norm[derecha[nodo[i]] - nodo[i]] + Norm[izquierda[nodo[i]] nodo[i]]) * f[nodo[i]]) / (Norm[derecha[nodo[i]] - nodo[i]]* Norm[izquierda[nodo[i]] - nodo[i]]* (Norm[derecha[nodo[i]] nodo[i]] + Norm[izquierda[nodo[i]] - nodo[i]]) ) ; fyy[i_] := 2 (Norm[abajo[nodo[i]] - nodo[i]]*f[arriba[nodo[i]]] + Norm[arriba[nodo[i]] - nodo[i]]*f[abajo[nodo[i]]] (Norm[arriba[nodo[i]] - nodo[i]] + Norm[abajo[nodo[i]] nodo[i]]) *f[nodo[i]]) / (Norm[arriba[nodo[i]] - nodo[i]]* Norm[abajo[nodo[i]] -nodo[i]]* (Norm[arriba[nodo[i]]-nodo[i]] + Norm[abajo[nodo[i]] - nodo[i]]) ) ; fxy[i_] := Module[{da, db, dc, dd, alA, alB, alC, alD}, da = Norm[arribder[nodo[i]] - nodo[i]]; db = Norm[abjder[nodo[i]] - nodo[i]]; dc = Norm[abjizq[nodo[i]] - nodo[i]]; dd = Norm[arribizq[nodo[i]] - nodo[i]]; alA = -dd * (dd + db) / da* (da + dc) ; alB = dd /db ; alC = -dd * (dd + db) / dc* (da + dc) ;.

(54) ŸA.0. 51. alD = 1; (alA f[arribder[nodo[i]]] + alB f[abjder[nodo[i]]] + alC f[abjizq[nodo[i]]] + alD f[arribizq[nodo[i]]] - (alA + alB + alC+ alD) f[nodo[i]]) / (deltax deltay (da^2 alA - db^2 alB + dc^2 alC - dd^2 alD) (deltax^2 + deltay^2) ^ ( -1 ) ) ]; fxder[i_] := 1 /( Norm[derecha[nodo[i]]- nodo[i]] + Norm[izquierda[nodo[i]]nodo[i]] ); fxizq[i_] := -1 /( Norm[derecha[nodo[i]] - nodo[i]] + Norm[izquierda[nodo[i]] - nodo[i]]) ; fyarrib[i_] := 1 /( Norm[arriba[nodo[i]] - nodo[i]] + Norm[abajo[nodo[i]] nodo[i]]) ; fyabj[i_] := -1 /( Norm[arriba[nodo[i]] - nodo[i]] + Norm[abajo[nodo[i]] nodo[i]] ); fxxder[i_] := 2 Norm[izquierda[nodo[i]] nodo[i]]/ (Norm[derecha[nodo[i]] - nodo[i]]* Norm[izquierda[nodo[i]] - nodo[i]]* (Norm[derecha[nodo[i]] nodo[i]] + Norm[izquierda[nodo[i]] - nodo[i]]) ) ; fxxizq[i_]:=2 Norm[derecha[nodo[i]] - nodo[i]]/ (Norm[derecha[nodo[i]] - nodo[i]]*Norm[izquierda[nodo[i]] - nodo[i]]* (Norm[derecha[nodo[i]]- nodo[i]] + Norm[izquierda[nodo[i]] - nodo[i]]) ) ; fxxcent[i_]:=2( - (Norm[derecha[nodo[i]] - nodo[i]] + Norm[izquierda[ nodo[i]] - nodo[i]]))/(Norm[derecha[nodo[i]] nodo[i]]*Norm[izquierda[nodo[i]] - nodo[i]]* (Norm[ derecha[nodo[i]] - nodo[i]] + Norm[izquierda[nodo[i]] nodo[i]])); fyyarrib[i_]:=2(Norm[abajo[nodo[i]] - nodo[i]])/(Norm[arriba[nodo[i]]nodo[i]]* Norm[abajo[nodo[i]] - nodo[i]]* (Norm[ arriba[nodo[i]] - nodo[i]] + Norm[abajo[nodo[i]] nodo[i]]) ) ; fyyabj[i_]:=2 (Norm[arriba[nodo[i]] - nodo[i]]) /(Norm[arriba[nodo[i]] - nodo[i]]* Norm[abajo[nodo[i]] - nodo[i]]* (Norm[ arriba[nodo[i]] - nodo[i]] + Norm[abajo[nodo[i]]-nodo[i]])); fyycent[i_]:=2 (-(Norm[arriba[nodo[i]] - nodo[i]] + Norm[abajo[nodo[i]] nodo[i]]))/(Norm[arriba[nodo[i]] - nodo[i]]* Norm[ abajo[nodo[i]] - nodo[i]]* (Norm[arriba[nodo[i]]-nodo[i]]+ Norm[abajo[nodo[i]] - nodo[i]])); fxyarribder[i_]:=.

(55) ŸA.0. Module[{da, db, dc, dd, alA, alB, alC, alD}, da = Norm[arribder[nodo[i]] - nodo[i]]; db = Norm[abjder[nodo[i]] - nodo[i]]; dc = Norm[abjizq[nodo[i]] - nodo[i]]; dd = Norm[arribizq[nodo[i]] - nodo[i]]; alA = -dd * (dd + db) / da* (da + dc) ; alB = dd /db ; alC = -dd * (dd + db) / dc* (da + dc) ; alD = 1; (alA ) / ( deltax deltay (alA - alB + alC - alD) ) ]; fxyabjder[i_] := Module[{da, db, dc, dd, alA, alB, alC, alD}, da = Norm[arribder[nodo[i]] - nodo[i]]; db = Norm[abjder[nodo[i]] - nodo[i]]; dc = Norm[abjizq[nodo[i]] - nodo[i]]; dd = Norm[arribizq[nodo[i]] - nodo[i]]; alA = -dd * (dd + db) / da* (da + dc) ; alB = dd /db ; alC = -dd * (dd + db) / dc* (da + dc) ; alD = 1; (alB) / ( deltax deltay (alA - alB + alC - alD) ) ]; fxyabjizq[i_] := Module[{da, db, dc, dd, alA, alB, alC, alD}, da = Norm[arribder[nodo[i]] - nodo[i]]; db = Norm[abjder[nodo[i]] - nodo[i]]; dc = Norm[abjizq[nodo[i]] - nodo[i]]; dd = Norm[arribizq[nodo[i]] - nodo[i]]; alA = -dd * (dd + db) / da* (da + dc) ; alB = dd /db ; alC = -dd * (dd + db) / dc* (da + dc) ; alD = 1; (alC) / (2 deltax deltay (alA - alB + alC alD) ) ]; fxyarribizq[i_] := Module[{da, db, dc, dd, alA, alB, alC, alD}, da = Norm[arribder[nodo[i]] - nodo[i]]; db = Norm[abjder[nodo[i]] - nodo[i]]; dc = Norm[abjizq[nodo[i]] - nodo[i]]; dd = Norm[arribizq[nodo[i]] - nodo[i]]; alA = -dd * (dd + db) / da* (da + dc) ;. 52.

(56) ŸA.0. 53. alB = dd /db ; alC = -dd * (dd + db) / dc* (da + dc) ; alD = 1; (alD) /(2 deltax deltay (alA - alB + alC - alD)) ]; fxycent[i_] := Module[{da, db, dc, dd, alA, alB, alC, alD}, da = Norm[arribder[nodo[i]] - nodo[i]]; db = Norm[abjder[nodo[i]] - nodo[i]]; dc = Norm[abjizq[nodo[i]] - nodo[i]]; dd = Norm[arribizq[nodo[i]] - nodo[i]]; alA = -dd * (dd + db) / da* (da + dc) ; alB = dd /db ; alC = -dd * (dd + db) / dc* (da + dc) ; alD = 1; - (alA + alB + alC + alD)/(2 deltax deltay (alA - alB + alC - alD)) ]; cfront[{x_, y_}] = vfrontera[x, y]; (*La misma cosa, es para que el primer caso reciba una variable vector en vez de dos variables, simplificar notacion*) inicial = Fit[puntosFrontera, {1, x, y}, {x, y}]; vecX=Table[inicial /.{x -> nodo[i][[1]],y -> nodo[i][[2]]},{i, contnodo}]; (*Vector inicializador del metodo encontrado con la regresión, en Newton va ser el x_n correspondiente*) vecY = Table[vari[i], {i, contnodo}];. Do[ Do[ f[nodo[i]] = vecX[ [i] ]; , {i, contnodo}] supMin=Table[(1+fx[i]^2) fyy[i]-2 fx[i] fy[i] fxy[i] + (1+ fy[i]^2) fxx[i], {i, contnodo}] ; (*el F (x) en newton*) matrixA = 0 IdentityMatrix[contnodo]; (*Inicialización de la matriz jacobiana, el siguiente procedimiento rellena la matriz*) Do[ If[coordenada[arriba[nodo[i]]] != I, (*recordar que arriba[ nodo[i]] no es siempre una variable, puede ser un punto en la frontera*).

(57) ŸA.0. 54. matrixA[ [i,coordenada[arriba[nodo[i]]]] ] = (1 + fx[i]^2) fyyarrib[i]-2 fx[i] fxy[i] fyarrib[i]+ fxx[i] 2 fy[i] fyarrib[i] ]; If[coordenada[abajo[nodo[i]]] !=I, matrixA[ [i,coordenada[abajo[nodo[i]]]] ] = (1 + fx[i]^2) fyyabj[i] - 2 fx[i] fxy[i] fyabj[i] + fxx[i] 2 fy[i] fyabj[i] ]; If[coordenada[derecha[nodo[i]]] != I, matrixA[[i,coordenada[derecha[nodo[i]]]]] = 2 fx[i] fxder[i] fyy[i] - 2 fy[i] fxy[i] fxder[i] + (1+fy[i]^2) fxxder[i]; ]; If[ coordenada[izquierda[nodo[i]]] != I, matrixA[ [i, coordenada[izquierda[nodo[i]]]] ] = 2 fx[i] fxizq[i] fyy[i]-2 fy[i] fxy[i] fxizq[i]+(1+fy[i]^2) fxxizq[i]; ]; If[coordenada[ abjizq[nodo[i]]] != I, matrixA[[i, coordenada[ abjizq[nodo[i]]]] ] = -2 fx[i] fy[i] fxyabjizq[i]; ]; If[coordenada[ arribizq[nodo[i]]] != I, matrixA[[i,coordenada[arribizq[nodo[i]]]]] = -2 fx[i] fy[i] fxyarribizq[i]; ]; If[coordenada[arribder[nodo[i]]] != I, matrixA[[i, coordenada[arribder[nodo[i]]]] ] = -2 fx[i] fy[i] fxyarribder[i]; ]; If[coordenada[abjder[nodo[i]]] != I, matrixA[[i,coordenada[abjder[nodo[i]]]]] = -2 fx[i] fy[i] fxyabjder[i]; ]; matrixA[[i,i]] =(1+fx[i]^2) fyycent[i] - 2 fx[i] fy[i] fxycent[i] + (1 + fy[i]^2) fxxcent[i]; , {i, contnodo}]; (*fin procedimiento rellenado*) lasi = Solve[matrixA . vecY == supMin, vecY]; (*Resolver Jx = F (x) *) vecX = vecX - vecY /. lasi[ [1]];.

Referencias

Documento similar