Continuation methods

10
etodos de continuaci´on: an´ alisis de soluciones estacionarias Departamento de Matem´atica Aplicada y Estad´ ıstica 7 de abril de 2014 Juan Manzanero Torrico [email protected] Los m´ etodos de continuaci´on evitan la resoluci´on de ecuaciones diferenciales que dependen de cierto par´ametro mediante la resoluci´on directa tratando cada caso como si estuviera aislado del resto. De esta forma, se le da cierta continuidad a la soluci´ on, y no se trata como si se calculara la soluci´on en una serie de puntos discretos del par´ametro. Cada soluci´on que se calcula se interpreta como un paso m´as en la soluci´ on, y no una nueva soluci´on. A lo largo de este art´ ıculo se emplean estos m´ etodos en la resoluci´on de una ecuaci´on diferencial en particular, extrayendo de ella conclusiones muy intere- santes. ´ Indice 1. Planteamiento del problema 1 2. Discretizaci´ on espacial 2 2.1. Discretizaci´ on de un punto interior 2 2.2. Discretizaci´ on de un contorno con condici´ on en la derivada ...... 2 2.3. Discretizaci´ on de un contorno con condici´ on en el valor de la funci´ on 3 3. Continuaci´ on por pseudolongitud de arco 3 3.1. El m´ etodo de continuaci´ on ..... 4 3.2. alculo del vector tangente .... 4 3.3. Paso del predictor ......... 5 3.4. Paso del corrector ......... 5 3.5. Resultados .............. 6 4. Puntos singulares 7 5. Cambio de rama 9 1. Planteamiento del proble- ma El objetivo del siguiente art´ ıculo es resumir los etodos empleados para continuar la soluci´ on de una ecuaci´ on diferencial ordinaria a medida que se var´ ıa un par´ ametro de la misma. Esta ecuaci´ on proviene de una ecuaci´ on en deriva- das parciales, de la cual se pretende calcular sus soluciones estacionarias. As´ ı, el objetivo ser´ a rea- lizar un an´ alisis de la estabilidad de la soluci´ on estacionaria obtenida y localizar cambios en el car´ acter de dicha estabilidad. La ecuaci´ on en derivadas parciales objeto de estu- dio es la siguiente: EDP: u t = u xx + u 3 + λ CC: u x (0) = u(1) = 0 (1) para cierta funci´ on u(x, t; λ) definida entre x [0, 1] y t [0, ). De esta forma, se buscan soluciones estacionarias de la misma, transform´ andose en una ecuaci´ on di- ferencial ordinaria EDO: d 2 u dx 2 + u 3 + λ =0 CC: du(0) dx = u(1) = 0 (2) Como se intuye de la expresi´ on del problema, el primer paso consistir´ a en llevar a cabo la discre- tizaci´ on espacial de (2) para aplicarle los m´ etodos conocidos como etodos de continuaci´on. Estas t´ ecnicas consisten en, a partir de una solu- ci´ on conocida para cierto valor del par´ ametro λ, avanzar en el valor de la misma en lugar de resol- ver de nuevo la ecuaci´ on con los m´ etodos usuales para el nuevo valor de λ. Las grandes ventajas que se desprenden de el em- pleo de estos m´ etodos, consiste en que el resultado final se asemeja a recorrer un camino continuo, haciendo posible acceder a soluciones que por el contrario mediante la resoluci´ on directa son dif´ ıci- les de alcanzar, ya que el m´ etodo nos lleva a ellas. 1

Transcript of Continuation methods

Page 1: Continuation methods

Metodos de continuacion: analisis de soluciones estacionariasDepartamento de Matematica Aplicada y Estadıstica 7 de abril de 2014

Juan Manzanero Torrico [email protected]

Abstract

Los metodos de continuacion evitan la resolucion de ecuaciones diferencialesque dependen de cierto parametro mediante la resolucion directa tratando cadacaso como si estuviera aislado del resto.De esta forma, se le da cierta continuidad a la solucion, y no se trata como sise calculara la solucion en una serie de puntos discretos del parametro. Cadasolucion que se calcula se interpreta como un paso mas en la solucion, y nouna nueva solucion.A lo largo de este artıculo se emplean estos metodos en la resolucion de unaecuacion diferencial en particular, extrayendo de ella conclusiones muy intere-santes.

Indice

1. Planteamiento del problema 1

2. Discretizacion espacial 22.1. Discretizacion de un punto interior 22.2. Discretizacion de un contorno con

condicion en la derivada . . . . . . 22.3. Discretizacion de un contorno con

condicion en el valor de la funcion 3

3. Continuacion por pseudolongitud dearco 33.1. El metodo de continuacion . . . . . 43.2. Calculo del vector tangente . . . . 43.3. Paso del predictor . . . . . . . . . 53.4. Paso del corrector . . . . . . . . . 53.5. Resultados . . . . . . . . . . . . . . 6

4. Puntos singulares 7

5. Cambio de rama 9

1. Planteamiento del proble-ma

El objetivo del siguiente artıculo es resumir losmetodos empleados para continuar la solucion deuna ecuacion diferencial ordinaria a medida quese varıa un parametro de la misma.

Esta ecuacion proviene de una ecuacion en deriva-das parciales, de la cual se pretende calcular sussoluciones estacionarias. Ası, el objetivo sera rea-lizar un analisis de la estabilidad de la solucion

estacionaria obtenida y localizar cambios en elcaracter de dicha estabilidad.

La ecuacion en derivadas parciales objeto de estu-dio es la siguiente:

EDP: ut = uxx + u3 + λCC: ux(0) = u(1) = 0

}(1)

para cierta funcion u(x, t;λ) definida entre x ∈[0, 1] y t ∈ [0,∞).

De esta forma, se buscan soluciones estacionariasde la misma, transformandose en una ecuacion di-ferencial ordinaria

EDO:d2u

dx2+ u3 + λ = 0

CC:du(0)

dx= u(1) = 0

(2)

Como se intuye de la expresion del problema, elprimer paso consistira en llevar a cabo la discre-tizacion espacial de (2) para aplicarle los metodosconocidos como metodos de continuacion.

Estas tecnicas consisten en, a partir de una solu-cion conocida para cierto valor del parametro λ,avanzar en el valor de la misma en lugar de resol-ver de nuevo la ecuacion con los metodos usualespara el nuevo valor de λ.

Las grandes ventajas que se desprenden de el em-pleo de estos metodos, consiste en que el resultadofinal se asemeja a recorrer un camino continuo,haciendo posible acceder a soluciones que por elcontrario mediante la resolucion directa son difıci-les de alcanzar, ya que el metodo nos lleva a ellas.

1

Page 2: Continuation methods

La estructura del siguiente artıculo es la siguiente:en primer lugar se procedera a la discretizacionespacial de la ecuacion, llegando a un sistema deltipo ~g(~U) = ~0.

En segundo lugar se presentaran los metodos decontinuacion, aplicados a este caso en particular.Despues se presentaran las soluciones obtenidas alimplementar los metodos en esta ecuacion.

Por ultimo se realizara una discusion de la estabi-lidad y los cambios de ramas en puntos singulares.

2. Discretizacion espacial

El primer paso en todo problema de analisisnumerico es la discretizacion del dominio infinitoy lo que ello conlleva: La discretizacion de los ope-radores que dependen de el.

En lo que se refiere a la discretizacion del domi-nio, se han escogido un conjunto de nodos equies-paciados en el dominio en el cual esta definida laecuacion. Si se toman N+1 nodos, la ecuacion quedetermina la posicion del nodo j−esimo es:

xj = j · 1

N= j · h, j = 0, 1, ..., N (3)

x0 x1 xi xN

x

u(x)

Figura 1: Discretizacion espacial

Ası, se define el valor de la variable en el nodo xjcomo

Uj = u(xj) (4)

consiguiendo al final componer un vector deincognitas con todos los valores que toma u(x) enlos nodos de la discretizacion.

~U =

U0

U1

...UN−1UN

, ∈ RN+1 (5)

Una vez discretizada la variable y definidos losvalores que la funcion incognita puede tomar enella se procede a discretizar la ecuacion.

Ası, el procedimiento consistira en la colocacionde la ecuacion en los (N + 1) nodos, con especialtratamiento en los contornos.

d2u(x)

dx2

∣∣∣∣x=xj

+ u(xj)3 + λ = 0 (6)

Se comenzara por los puntos interiores j =1, ..., N − 1 y despues se analizara que alternati-vas se disponen para los contornos.

2.1. Discretizacion de un punto in-terior

Para los puntos interiores se escoge para losoperadores diferenciales un esquema en diferen-cias finitas centradas de orden 2, que es el maximoorden que se presenta en la ecuacion.

Para el operador derivada segunda se tiene:

d2u

dx2

∣∣∣∣xj

=uj+1 + uj−1 − 2uj

h2+ o(h2) (7)

De esta forma, la ecuacion diferencial se transfor-ma en una ecuacion algebraica por medio de (7):

gj =uj+1 + uj−1 − 2uj

h2+ u3j + λ = 0 (8)

Esta sera la ecuacion algebraica que debe resol-verse para los nodos interiores al dominio j =1, 2, ..., N − 1.

2.2. Discretizacion de un contornocon condicion en la derivada

Es el caso del contorno situado en el nodox0 = 0. Para ello se proponen tres alternativas,cada una con sus puntos positivos y puntos en con-tra:

1. Usar como funcion la discretiacion de la de-rivada primera mediante un operador de se-gundo orden descentrado: Tiene la ventajade mantener el orden, a costa de que des-truye la estructura tridiagonal de la matrizjacobiana de las ecuaciones.

g0 =−3u0 + 4u1 − u2

2h= 0 (9)

2. Usar como funcion la discretizacion de la de-rivada primera mediante un operador de pri-mer orden: Tiene la ventaja de que mantienela estructura diagonal en detrimento de estarutilizando una discretizacion de orden infe-rior.

2

Page 3: Continuation methods

g0 =u1 − u0

h= 0 (10)

3. Usar como funcion la discretizacion de laecuacion utilizando para la derivada segun-da un operador centrado de segundo orden.Para ello hay que definir una celda fantasma.A esta ecuacion se le debe anadir el opera-dor derivada primera igualado a cero paravolver a obtener el mismo numero de ecua-ciones que incognitas

g0 =u1 + u−1 − 2u0

h2+ u30 + λ = 0

g−1 =u1 − u−1

2h= 0

La mejor opcion es la tercera de las propuestas, yaque es posible despejar u−1 en la segunda ecua-cion y recuperar un sistema de N + 1 ecuacionescon N + 1 incognitas manteniendo una estructuratridiagonal en el jacobiano.

La estructura tridiagonal del jacobiano esta asegu-rada con tal de que se verifique:

gj = gj(uj−1, uj , uj+1;λ) (11)

Entonces, despejando u−1 queda la expresion finalpara g0

u−1 = u1 → g0 = 2u1 − u0h2

+ u30 + λ (12)

2.3. Discretizacion de un contornocon condicion en el valor de lafuncion

Es el caso mas sencillo, ya que basta con impo-ner que

gN = uN = 0 (13)

De esta forma, se tiene definido el vector deincognitas ~g

~g(~U, λ) =

g0(u0, u1;λ)...

gj(uj−1, uj , uj+1;λ)...

gN (uN−1, uN ;λ)

(14)

donde cada uno de los gj se toman de (8), (12), y(13):

~g(~U ;λ) =

g0(u0, u1;λ)...

gj(uj−1, uj , uj+1;λ)...

gN (uN−1, uN ;λ)

=

2u1−u0

h2 + u30 + λ...

uj+1+uj−1−2uj

h2 + u3j + λ...uN

=

0...0...0

(15)

3. Continuacion por pseudo-longitud de arco

Los metodos de continuacion buscan lo siguien-te: dada una ecuacion diferencial con un parametrolibre, y una solucion de la misma para cierto valordel parametro (λ0, ~U

0), hallar la solucion en:

(λ0, ~U0)→ (λ1 = λ0 + ∆λ, ~U1) (16)

Una vez obtenida una nueva solucion (λ1, ~U1) se

vuelve a dar otro paso para obtener (λ2, ~U2), y

ası sucesivamente.

Como se observa en (16), el grado de libertad encada paso es el salto en la variable λ. Cuando estoes ası, se dice que el metodo es continuacion porparametro natural.

En este texto no se utilizara este parametro comodirectriz para la siguiente iteracion, si no que se

empleara un nuevo parametro: la pseudolongi-tud de arco.

La motivacion de utilizar como variable indepen-diente otra distinta a λ reside en la dificultad parasortear ciertas singularidades que se presentan deforma natural a medida que la solucion avanza poruna rama: los puntos de plegado.

En ellos ocurre que la rama se pliega y retornapor los mismos valores de λ los cuales acababa derecorrer.

Realizando un sımil con la parametrizacion de cur-vas, en el caso particular de la curva x2 +y2 = R2,si se escoge la parametrizacion y(x) = ±

√R2 − x2

ocurre que cuando x = ±R la parametrizacion noes unica.

Esto se solventa escogiendo una parametrizacion

3

Page 4: Continuation methods

regular de la curva, por ejemplo

x(s) = Rsin(s)y(s) = Rcos(s)

}(17)

algo similar ocurre con los metodos de continua-cion cuando se escoge λ como parametro.

Algunos autores utilizan λ como parametro hastaque detectan que la solucion se aproxima a unpunto de pliegue, momento en el que se cambia laformulacion a pseudolongitud de arco, para des-pues volver a tomar λ como parametro una vezsorteado el punto.

Las ventajas de emplear λ como parametro residenen que se tiene un control total de cuanto varıa elparametro en cada paso, mientras que al utilizarla pseudolongitud de arco se fija el paso en s ob-teniendo valores variables para el correspondientepaso en λ.

3.1. El metodo de continuacion

A continuacion se expone el metodo de conti-nuacion para una ecuacion algebraica arbitraria ~g.

Como ya se ha introducido, el objetivo es, dadala solucion del paso anterior, (λj , ~U

j) calcular una

solucion cercana (λj+1, ~Uj+1). Este proceso se rea-

liza en dos etapas:

Predictor: Mediante la linealizacion de lasecuaciones particularizada en la solucion pre-via se obtiene una semilla para el corrector.

Corrector: Utilizando el algoritmo deNewton-Rhapson se asegura el cumplimien-to de la ecuacion ~g(~U j+1, λj+1) = ~0 intro-duciendo como semilla la aproximacion delpredictor

Las variables (λ, ~U), como ya se ha introducido, secontrolaran por medio de una tercera variable, lapseudolongitud de arco s, es decir:

~U = ~U(s), λ = λ(s) (18)

donde s es monotona, es decir, dado el valor inicialsiempre crece hacia valores mas grandes y no seve influida por el caracter de la solucion.

Entonces, el parametro s es la longitud de arco siverifica:

N∑j=0

(dUjds

)2

+

(dλ

ds

)2

= 1 (19)

Discretizando el operador derivada se obtiene ladefinicion de la pseudolongitud de arco:

N∑i=0

(Ui − U ji )dU jids

+ (λ− λj)dλjds

= s− sj (20)

Las derivadas de las variables respecto a la pseu-dolongitud de arco estan particularizadas para elvalor de λ de la solucion anterior, por lo que secalculan derivando la ecuacion ~g = 0:

Gu(~U j, λj)d~U j

ds+ ~Gλ(~U j , λj)

dλj

ds= 0 (21)

donde Gu es el jacobiano de ~g respecto a ~U

Gu =

∂g0/∂U0 ∂g0/∂U1 · · · ∂g0/∂UN∂g1/∂U0 ∂g1/∂U1 · · · ∂g1/∂UN

......

. . ....

∂gN/∂U0 ∂gN/∂U1 · · · ∂gN/∂UN

y ~Gλ el jacobiano de ~g respecto al parametro λ

~Gλ =

∂g0/∂λ∂g1/∂λ

...∂gN/∂λ

(22)

Entonces, en primer lugar se indicara como seprocede al calculo de los vectores tangentes a laecuacion en el paso inicial.

3.2. Calculo del vector tangente

El vector tangente a la ecuacion en el paso ini-cial se calcula utilizando las dos siguientes condi-ciones:

1. Ser efectivamente tangente a la ecuacion.

2. Poseer modulo unitario.

3. Ir en el mismo sentido que el vector tangentede la iteracion anterior (ya que de lo contra-rio puede dar lugar a oscilaciones indeseadasen el entorno de algun punto).

Llamando ~U j a d~U j/ds y λj a dλj/ds, estas con-diciones se materializan en el siguiente sistema deecuaciones:

Gu(~U j , λj)~U j + ~Gλ(~U j , λj)λj = 0

|| ~U j ||+ |λj | = 0

}(23)

En la practica se resuelve de la siguiente forma: secalcula el vector ~φ definido como

4

Page 5: Continuation methods

~φ = −G−1u

~Gλ (24)

y despues se supone que la solucion es

~U j = a~φ

λj = a

}(25)

de tal forma que se calcula a para que cumplir lacondicion de modulo unitario

a =1√

1 + ||~φ||2(26)

y por ultimo, es preciso elegir el signo correcto dea, de tal forma que el nuevo vector tangente poseael mismo sentido que el de la iteracion anterior

~U j−1 · ~U j + λj−1λj = a( ~U j−1 · ~φ+ λj−1) < 0

De esta forma se obtiene el vector tangente unita-rio a la ecuacion ~g = 0 en la iteracion inicial. Acontinuacion se presenta el codigo Matlab que seencarga de llevar a cabo estas operaciones.

1 function [ du,dlambda ] =2 calctangent(U0,lambda0,dU0,3 dlambda0,fun)4 %Calculo del vector tangente ...

normalizado, se trata de resolver ...el sistema

5 %lineal Ax=b siendo A=Gu(u0,lambda), ...b=−Glambda(u0,lambda).

6 %7 % *Input:8 % − U0: Solucion del paso anterior9 % − lambda0: lambda del paso ...

anterior10 % − dU0: Derivada del paso anterior11 % − dlambda0: Derivada del paso ...

anterior12 % *Output:13 % − du: derivada de u respecto ...

al parametro14 % − dlambda: derivada de lambda ...

respecto al parametro15

16 [g,Gu,Glambda]=fun(U0,lambda0);17 N=length(U0)−1;18 h=1/N;19 phi=Gu\(−Glambda');20 normphi=norm(phi);21 a=1/sqrt(1+normphiˆ2);22 %KA=det(Gu)*det(inv(Gu))23 %sign(det(Gu))24

25 %Orientacion del vector consistente ...con el ultimo calculado

26 product=a*(dot(dU0,phi)+dlambda0);27

28 if sign(product)<029 a=−a;30 end31

32 du=phi*a;

33 dlambda=a;34

35 end

Codigo 1: Calculo de los vectores tangentesa la ecuacion

3.3. Paso del predictor

Una vez establecido el calculo del vector tan-gente a la ecuacion, se procede a dar el primer pasoen la obtencion de la nueva solucion: El predictor.

Sea ∆s el paso escogido en pseudolongitud de ar-co, la solucion que establece el predictor viene dadapor el desarrollo de Taylor de la ecuacion ~g(~U, λ)usando s como variable independiente:

~U j+1∗ = ~U j + ∆s~U j

λ∗j+1 = λj + ∆sλj

}(27)

3.4. Paso del corrector

El ultimo paso para determinar la nueva solu-cion (~U j+1, λj+1) consiste en utilizar el metodo deNewton-Rhapson a la ecuacion ~g = 0 hasta darcon una solucion de la misma.

Para ello se empleara como semilla la solucionpropuesta por el corrector.

Debido a que la ecuacion ~g = 0 solo posee N + 1ecuaciones gj para N + 2 incognitas (~U y λ) hayque emplear una ecuacion mas: la definicion de lavariable pseudolongitud de arco dada por (20).

Sea N(~U, λ,∆s) la funcion que define la pseudo-longitud de arco:

N = (~U − ~U j) · ~U j + (λ− λj)λj −∆s (28)

el sistema de ecuaciones a resolver es:

~g(~U, λ) = 0

N(~U, λ,∆s) = 0

}(29)

El metodo de Newton aplicado a un sistema~f(~x) = 0 establece en cada iteracion que el desa-rrollo en serie de Taylor de la ecuacion centradaen la iteracion anterior es nula. De esta condicionse extrae la solucion de la iteracion siguiente

~f(~x) = ~f(~xi) + Jf (~xi)(~xi+1 − ~xi)

~xi+1 = ~xi − J−1f (~xi) · ~f(~xi)

(30)

en este caso ~x = {~U, λ}T y ~f = {~g,N}T , de tal for-ma que el jacobiano de f es una matriz por cajascuyo contenido es:

5

Page 6: Continuation methods

Jf =

[Gu ~Gλ~N~U Nλ

]=

[Gu ~Gλ~U λ

](31)

A diferencia de la matriz Gu1, el jacobiano del

sistema extendido nunca es singular, por lo queno debe preocupar en principio la inversion de lamatriz.

El algoritmo de Newton habra finalizado cuandose verifique el siguiente criterio de parada:

∆~x ·∆~x~x∗ · ~x∗

=∆~U ·∆~U + ∆λ2

~U∗ · ~U∗ + λ∗2< TOL (32)

A continuacion se presenta el codigo Matlab pro-puesto para dar el paso en el esquema corrector.

1 function [Ucorr,lambdacorr,UF] =2 correctorpseudoarc(Upred,3 lambdapred,dU,dlambda,∆,TOL,fun)4 omega=1; %Parametro de relajacion5

6 UF=0;7 c=1;8 U1=Upred;9 lambda1=lambdapred;

10 N=length(Upred);11 A=zeros(N+1);12 B=zeros(N+1,1);13 while c==114 UF=UF+1;15 [g,Gu,Glambda]=fun(U1,lambda1);

16 A(1:N,1:N)=Gu;17 A(1:N,end)=Glambda';18 A(end,1:N)=dU';19 A(end,end)=dlambda;20 B(1:N)=−g;21 B(end)=−(dot(dU,U1−Upred)+22 dlambda*(lambda1−lambdapred)−∆);23 dX=A\B;24 ∆U=omega*dX(1:N);25 ∆lambda=omega*dX(end);26 U1=U1+∆U';27 lambda1=lambda1+∆lambda;28 ERROR=(dot(∆U,∆U)29 +∆lambdaˆ2)/30 (dot(Upred,Upred)+lambdapredˆ2);31

32 if abs(ERROR)<TOL33 c=0;34 end35 end36 Ucorr=U1;37 lambdacorr=lambda1;38 end

Codigo 2: Corrector por pseudolongitud dearco.

Entre las lıneas 16 − 19 del codigo se divisa elmontaje de la matriz jacobiana (A) a partir delprevio calculo de los dos jacobianos y el vectortangente.

Para la ecuacion ejemplo que se resuelve en esteartıculo, la expresion del jacobiano de las ecuacio-nes respecto a la variable ~U es la siguiente:

GU =

−2/h2 + 3U2

0 2/h2 0 · · · 0 01/h2 −2/h2 + 3U2

1 1/h2 · · · 0 00 1/h2 −2/h2 + 3U2

2 · · · 0 0...

......

. . ....

...0 0 0 · · · 0 1

(33)

y el jacobiano respecto a λ:

~Gλ = [1, 1, 1, ..., 1, 0]T (34)

con esto se tienen todos los elementos que intervie-nen en el desarrollo del algoritmo de continuacionpor pseudolongitud de arco en el caso particularde la ecuacion diferencial de interes.

A continuacion se presentan los resultados obteni-dos al integrar la ecuacion mediante el algoritmomostrado.

3.5. Resultados

Antes de comenzar a hablar de puntos singu-lares, puntos de pliegue, y similar, se ha preferidomostrar la solucion obtenida para despues analizar

que ocurre en dichas zonas.

Ası, partiendo de la solucion trivial (λ0, ~U0) =

(0,~0), se avanza en la pseudolongitud de arco des-de el valor inicial (0, por convenio) hasta el valor50 mediante un paso ∆s = 0.005.

Para evaluar la funcion ~U en funcion de λ en ununico plano, se ha empleado una norma definidacomo

||u(x)|| = sign(−u′(1))√|u(0)u′(1)| (35)

En primer lugar se presenta en la figura 2 la normade u(x) a lo largo de la rama encontrda, donde seobserva la existencia de dos puntos de pliegue.

1Ver la parte relacionada con puntos singulares para mas detalle.

6

Page 7: Continuation methods

−50 −40 −30 −20 −10 0 10−15

−10

−5

0

5

λ

norm

(u(x))

Figura 2: Norma de u(x) a lo largo de la ramaque parte del origen

Como se observa, λ solo crece al principio hastavalores proximos a 1.3, a partir del cual encuentrael primer punto de pliegue y retorna hasta valoresproximos a −42, donde vuelve a aumentar.

0 10 20 30 40 50 60−50

−40

−30

−20

−10

0

10

s

λ

Figura 3: Valores que toma λ a medida que serecorre la curva

Y por ultimo se presenta en la figura 4 la formaque toma la funcion u(x) a lo largo de la rama enuna grafica de contornos. En el eje de ordenadasla pseudolongitud de arco s y en abcisas la coor-denada x.

x

s

0 0.2 0.4 0.6 0.8 10

10

20

30

40

50

−4

−2

0

2

4

6

Figura 4: Representacion 2D de u(x) a lo largode la rama

A continuacion se presenta teorıa general acercade los puntos singulares (que incluye a los puntosde pliegue) para entender que propiedades tienen ycomo influyen al sistema de ecuaciones, y tambienque metodos se pueden emplear para aproximarsu posicion con la exactitud que se desee.

De la figura 3 ya se intuye la condicion necesariaque presenta un punto de pliegue: λ = 0, ya que λpresenta un extremo relativo en el.

4. Puntos singulares

En el estudio de la rama de una ecuacion~g(~U, λ) = 0, se dice que un punto es singular cuan-do verifica que:

Rg[Gu, ~Gλ] = N (36)

Esto implica que el nucleo de Gu tiene por lo me-nos dimension uno.

Entonces, si el objetivo es buscar puntos singula-res, la funcion que se deberıa forzar a cero serıa eldeterminante del gradiente de ~g respecto ~U .

Esto no es adecuado, ya que en general a medidaque se aumenta N , la matriz va adquiriendo mastamano, y esto se traduce en que el determinantepor lo general toma valores altısimos.

Como la matriz es diagonalizable, a partir de loautovalores es posible identificar el punto singu-lar sin mas que estudiar que autovalor cambia designo, ya que:

det(A) =

N∏j=0

µj (37)

por lo que si el determinante se anula y es diago-nalizable implica que algun autovalor se anula y

7

Page 8: Continuation methods

cambia de signo.

El primer inconveniente asociado a seguir los va-lores que toma un autovalor residen en que losalgoritmos numericos normalmente mezclan losautovalores en el orden que los muestran.

Esto es, el autovalor que en la primera solucionse designo como λj no estara en general tras unaserie de iteraciones en la posicion j−esima del vec-tor de los autovalores, si no que lo mas probablees que se hayan mezclado.

La forma de evitar este indeseable fenomeno es me-diante el metodo conocido como Modal AssuranceCriteria (MAC), muy utilizado en vibraciones yaeroelasticidad.

Mediante este metodo, se compara la estructurade autovectores de la iteracion actual con la solu-cion anterior, de tal forma que cada autovalor dela nueva iteracion se coloca en la posicion que masse parece a la que deberıa tener segun la iteracionanterior.

Al final para cada autovalor se calcula la siguientemagnitud:

MAC =~Kji · ~K

j+1k

| ~Kji | · | ~K

j+1k |

(38)

de tal forma que si los autovalores no hubierancambiado se tendrıa que i = k, pero si cambian, atraves de esta magnitud se observa como se debeestructurar.

Realizar este proceso para cada una de las itera-ciones es una de las etapas que mas coste compu-tacional conlleva.

Un codigo Matlab para reordenar la matriz segunel MAC se presenta a continuacion.

1 function [ munew,vecnew ] = ...modalassurance( ...mu,vec,muprev,vecprev )

2

3 [N,N]=size(vec);4 munew=zeros(N,1);5 for i=1:N−16 %Recorro cada autovalor del estado ...

previo y veo cual es el que mas se7 %parece al anterior8 for j=1:N−19 MAC(j)=abs(dot(vec(:,j),

10 vecprev(:,i))/(norm(vec(:,j))11 *norm(vecprev(:,i))));12 end13 [maxim,index]=max(MAC); %El14 % autovalor en "index" es

15 % el que mas se parece al previo16 munew(i)=mu(index);17 vecnew(:,i)=vec(:,index);18 end19

20 munew(N)=mu(N);21 vecnew(:,N)=vec(:,N);22 end

Codigo 3: Codigo para cumplir el MAC.

Entonces, una vez eliminadas las dudas que pue-den surgir de una posicion arbitraria por parte delos autovalores entre dos iteraciones, se procede abuscar el autovalor que causa que el determinantese anula.

El proceso para determinar un punto crıtico con-siste en, a partir de la solucion que ya se ha pre-sentado, buscar el intervalo en la solucion quecontiene al punto crıtico. Despues se realiza un al-goritmo de biseccion para hallarlo con la precisionque se desee.

Del analisis de la solucion previa se obtienen lossiguientes puntos crıticos:

Punto λ µi, µd λi, λd1 1.36 [−0.0055, 0.0094] [+,−]2 −41.68 [−0.0186, 0.019] [−,+]

Tabla 1: Puntos crıticos obtenidos en el primeranalisis. Como λ cambia de signo al atravesarlosse deduce directamente que ambos son puntos depliegue.

Realizando las iteraciones del metodo de la bisec-cion se obtiene el valor de λ en los dos puntos depliegue con la precision deseada.

El criterio de parada se ha escogido como

2|λnew − λi||λi + λd|

< TOL (39)

De esta forma, como la solucion inicial se ha ob-tenido utilizando un paso muy pequeno (∆s =0.005), el metodo de la biseccion apenas anade pre-cision, resultando al final los resultados mostradosen la tabla 2

Punto λ µ1 1.36134356 −0.009422 −41.6795858 −0.01878

Tabla 2: Puntos crıticos obtenidos tras iterar elmetodo de la biseccion

Y a continuacion se presenta la solucion en los dospuntos crıticos.

8

Page 9: Continuation methods

0 0.2 0.4 0.6 0.8 1−4

−2

0

2

4

6

8

x

u(x

)

λ1λ2

Figura 5: Soluciones en los dos puntos singulareshallados

Y para cerrar esta seccion, se ha representado enla figura 6 la forma que presentan los autovectorescorrespondientes al autovalor que cambia de signoen ambos puntos singulares.

0 5 10 15 20 25−0.4

−0.2

0

0.2

0.4

i

Ki

λ1

λ2

Figura 6: Autovectores asociados al autovalor quehace singular la matriz jacobiana

Decir en primer lugar, que haber obtenido la solu-cion u(x) y el valor de λ en el punto singular conla mayor precision posible sera de vital importan-cia para buscar nuevas ramas en el entorno de lospuntos singulares.

Y en segundo lugar, que la forma que presentan losautovectores asociados al autovalor que se anulaen el punto singular permite intuir como van a serlas soluciones de las nuevas ramas.

El mismo resultado se podıa haber obtenido me-diante integracion directa de las ecuaciones parael punto singular λ1 = 1.36. Para el punto λ2,al estar tan alejada la solucion el metodo ya noconverge y no es preciso obtener la solucion.

Un hecho curioso, es que la integracion sı es capaz

de captar una solucion perteneciente a la ramaque deriva del punto singular λ1, para ello bastacon resolver la ecuacion para λ1 = 1.37.

0 0.2 0.4 0.6 0.8 1−3

−2

−1

0

1

x

u(x

)

λ = 1.36λ = 1.37

Figura 7: Solucion mediante simulacion directa

A continuacion se presentan las tecnicas para reali-zar eficazmente los cambios de rama, y los fenome-nos de estabilidad que ocurren en estas zonas.

5. Cambio de rama

El hecho de que algun autovalor se anule alatravesar un punto singular, hace que su autovec-tor asociado al mismo pertenezca al nucleo del ja-cobiano de ~g.

µj = 0→ GU · ~Kj = ~0→ ~Kj ∈ N (GU ) (40)

donde µj = µj(s∗) y ~Kj = ~Kj(s∗) siendo s = s∗

la posicion del punto singular.

Cuando se ha introducido la condicion que veri-fica un punto singular, es decir, que el rango dela matriz [GU ,Gλ] es N , se ha indicado que laconsecuencia directa de esto se manifiesta en unnucleo de GU de dimension uno o dos.

Pues bien, esto depende de si el punto es un puntode bifurcacion o un punto de pliegue.

Para demostrarlo se partira de la base de que haydos vectores pertenecientes al nucleo de GU , lle-gando a la conclusion de que si se trata de unpunto de pliegue estos dos deben ser linealmen-te dependientes y por tanto solo posee dimensionuno.

En primer lugar, lo que sı es cierto es que en unpunto de bifurcacion el nucleo de [GU ,Gλ] es de

9

Page 10: Continuation methods

dimension dos, ya que utilizando la formula de lasdimensiones:

dim(N (M)) + rg(M)︸ ︷︷ ︸N

= dim(RN+2)

dim(N (M)) = 2

Esto quiere decir que el subespacio vector tangentea la curva ~g = ~0 posee dimension dos y por tantopuede escribirse en la forma

~X =

{~U

λ

}→ [GU ,Gλ] · ~X = ~0 (41)

~X = α~Φ1 + β~Φ2 (42)

entonces el siguiente paso es identificar estos dosvectores ~Φ1 y ~Φ2.

El primero de ellos resulta trivial, ya que se tratadel vector tangente tal y como se ha calculado a lolargo de todo este trabajo:

GU ~φ0 = −~Gλ → ~Φ1 =

{~φ01

}(43)

y el segundo vector no es otro que el autovectordel autovalor que se anula:

Φ2 =

{~Kj

0

}(44)

por lo que finalmente se puede componer el vectortangente

~X =

{~U

λ

}= α

{~φ01

}+ β

{~Kj

0

}(45)

pero como se trata de un punto de pliegue, debecumplirse que λ = 0 y por tanto α = 0, lo queimplica directamente que ~φ0 y ~Kj son linealmentedependientes y la dimension del nucleo deGU es 1.

De esta forma, para calcular las nuevas ramas seemplea como predictor la siguiente semilla:

~Upred = ~Ucrit + ε ~Kj (46)

siendo ~Using el vector de incognitas en el puntosingular, y ε un numero suficientemente pequeno.

Ası, se obtiene la nueva rama, la cual coincide conla obtenida mediante simulacion directa

0 0.2 0.4 0.6 0.8 1−3

−2

−1

0

1

2

x

u(x

)

λ1λ2

Figura 8: Nueva rama obtenida perturbando lasolucion singular

y aplicando los metodos de continuacion se obtie-ne la rama completa, cuya norma se representa enla figura 9

−50 0 50−15

−10

−5

0

5

10

15

λ

norm(u

)

Rama1Rama2

Figura 9: Continuacion de la nueva rama

Referencias

[1] Continuation method: theory - Dolors Puig-janer

[2] Lectures on Numerical Methods In Bifurca-tion Problems - H.B. Keller

[3] Numerical Bifurcation Methods and their Ap-plication to Fluid Dynamics: Analysis beyondSimulation - H. A. Dijkstra et al.

10