Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag TMA40 Numerisk løsning av part. diff.lign. med differansemetoder Vår 005 Løsningsforslag Øving 5 a) Vi skal undersøke stabilitet ved Fourier-metoden. Metodens karakteristiske polynom er gitt som ã(z, r) = + εr(z + z) λhr (z z ). Fourier-metoden sier at metoden er stabil dersom kravet ã(e iθ, r) θ [0, π], er oppfylt. Vi setter inn e iθ i ã og får ã(e iθ, r) = εr( (e iθ + e iθ )) λhr (eiθ e iθ ) = 4εr sin θ iαr sin θ, hvor α = λh. Siden a(eiθ, r) er ekvivalent med a(e iθ, r), får vi ved kvadrering a(e iθ, r) = 8εr sin θ + 6ε r sin 4 θ + 4α r sin θ. Vi bruker sin( θ ) = sin θ cos θ og deler så på 8 sin θ. Stabilitetskravet blir dermed at εr + ε r sin θ + α r cos θ 0 eller ekvivalent at α r ε + r(ε α ) sin θ 0. Dette skal holde for θ [0, π]. Vi må skille mellom to tilfeller:. Anta at α < ε. Da har vi stabilitet dersom α r ε + r(ε α ) 0, dvs. dersom r ε. (sett inn ε = α) 4. mars 005 Side av 8
. Anta at α ε. Da har vi stabilitet dersom α r ε 0, dvs dersom r ε α. b) Matrisen Q er gitt ved ε (ε α) (ε + α) ε (ε α) Q = (ε + α) ε (ε α) ε ε, mens F er gitt ved F = r[ε + α, 0,..., 0] T. Legg merke til at siste rad i Q er litt forskjellig fra de andre. Dette kommer av formen av randbetingelsene. c) For å kunne løse denne oppgaven må vi kjenne til hvordan determinanten til en matrise utvikles ved en av radene. Anta vi vil utvikle determinanten til en matrise A ved rad i, da gjelder det A = a i A i + a i A i + + a in A in hvor A ij = ( ) i+j det M ij hvor M ij er ko-faktor matrisen til A, dvs matrisen vi får når vi stryker rad i og søyle j. På grunn av formen til Q, er det lurt å utvikle determinanten om siste rad. Da får vi det(q λi) = 0 Q N + 0 Q N + + 0 Q NN εq NN + (ε λ)q NN = ε( ) N det + (ε λ)( ) N det ε λ (ε α) (ε + α) ε λ (ε α) (ε + α) ε λ 0 (ε + α) (ε α) ε λ (ε α) (ε + α) ε λ (ε α) (ε + α) ε λ (ε α) (ε + α) ε λ Vi ser at det siste leddet er gitt slik som det skal, mens det første ikke er på riktig form. Vi må beregne denne determinanten for seg selv. Hvis vi prøver å utvikle denne nok en gang om siste rad, støter vi raskt på problemer. Det vi bør legge merke til dog, er at siste søyle har bare siste element ulik null. Vi kan derfor benytte regelen om at determinanten av den transponerte matrisen er lik determinanten av matrisen selv, dvs det A = det A T. Dette betyr at vi like 4. mars 005 Side av 8
godt kan utvikle determinanten om en av søylene til matrisen. Vi velger derfor å utvikle problemmatrisen over ved siste søyle. Vi får dermed at det(q λi) = (ε λ)t N (λ) + (0 +... 0 ε(ε α))t N (λ) = (ε λ)t N (λ) ε(ε α))t N (λ), som skulle vises. Videre ser vi at matrisene T M (λ) er tridiagonale, så vi kjenner egenverdiene til disse fra notatet om tridiagonale matriser. Rekurrensformelen fås dog på akkurat samme måte som over, og startbetingelsene er trivielle. d) Matrise-metoden sier at metoden er stabil når ρ(a). Vi må finne σ(q), siden σ(a) = rσ(q). Dette gjøres ved å finne nullpunktene til G (λ). Vi har at G (λ) = (ε λ)t (λ) ε(ε α)t 0 (λ) = (ε λ) ε(ε α). Vi har igjen to muligheter:. Anta at α < ε. Da er G (λ) = 0 hvis Stabilitetskravet er λ = ε ± ε(ε α). rλ 0 og rλ. Den første ulikheten er trivielt oppfylt, og den andre gir r ε + ε(ε α). Anta at α ε. Da er røttene gitt ved som gir For å få stabilitet krever vi at som er oppfylt når λ = ε ± i ε(α ε), σ(a) = rε ± ir ε(α ε). σ(a) = 4rε + 4r ε + εαr ε r, r ε + α. e) Vi setter R = ε α, slik at T M (x) = R M U M (x). Rekurrensformelen for T M gir da R M U M (x) = xrr M U M (x) R R M U M (x), som er ekvivalent med Startsbetingelsene gir at og U M (x) = xu M (x) U M (x). RU (x) = xr U (x) = x R U (x) = 4x R R U (x) = 4x. Dermed kjenner vi igjen denne rekurrens-relasjonen som Chebyshev-polynomene av andre sort, som er nettopp U M (x). 4. mars 005 Side 3 av 8
f) Vi har at λ = ε xr, så rekurrensrelasjonen for G N (λ) gir, når vi substituerer inn uttrykket for T M, følgende uttrykk H N (x) = G N (ε xr) = xrr N U N (x) ε(ε α)r N U N (x) = R N [x(ε α )U N (x) ε(ε α)u N (x)] = (ε α)r N [x(ε + α)u N (x) εu N (x)]. Vi kan dermed konkludere med at røttene til H N (x) ligger i intervallet (, ). La de korresponderende røttene til G N (λ) være gitt ved λ j. Vi har da at σ j (A) = rλ j = r(ε x j R), så kravet σ j (A) gir den trivielt oppfylte ulikheten og ulikheten som er oppfylt når r(ε x j R) 0 r(ε x j R), r ε + ε α g) Sammenligning av Fouriermetoden og matrisemetoden ( egenverditeknikker ) gir at vi ikke får de samme betingelsene: Fouriermetoden Matrisemetoden α ε r ε (strengest) r ε α α α < ε r ε (strengest) r ε+ ε α Fouriermetoden støtter ikke annet enn periodiske randkrav, mens systemet vårt har Dirichlet i venste endepunkt og Neumann i høyre endepunkt. På den andre side så krever matrisemetoden at iterasjonsmatrisa A er normal, AA T = A T A (symmetriske og skjev-symmetriske matriser har denne egenskapen). A er nesten symmetrisk så for en passende definisjon av nesten, så er den nesten normal. Begge teknikker brukes likevel for å indikere stabilitetskrav for metoder med litt ustandard randbetingelser fordi det er bedre med en viss indikasjon på hva som kreves for stabilitet enn ingen. Matrisene B og C er gitt ved D M... B =... DM, C = I M I M I M I M I M, I M I M 4. mars 005 Side 4 av 8
hvor matrisen D M er gitt ved D M =. Vi ønsker nå å løse ligningen hvor B og C inngår. Kall høyresiden f, og sett F = (I rb) og H = (I rc). Vi omskriver ligningen til F HU n+ = f. Først løser vi F y = f, og deretter løser vi HU n+ = y. Begge ligningene er tridiagonale og kan derfor løses med O(M ) operasjoner. NB: Husk at O(M ) operasjoner i denne sammenheng betyr O(n) operasjoner, siden matrisen har M rader og dermed M 4 elementer. I Matlab kan disse matrisene enkelt konstrueres med et Kronecker tensorprodukt. Definer matrisa D i Matlab som D M over. Vi kan da konstruere >> M = 3 >> D = diag ( ones (,M ), ) + diag( ones (,M), 0 ) + diag ( ones (,M ),) D = 0 0 >> B = kron ( eye (M), D) >> C = kron (D, eye (M) ) >> help kron BC er da det samme som kron(d, D). 3 Oppgave 3. i læreboka. We will use Fourier method to analyze the stability of the scheme u n+ l = ( 5µ + 6µ )u n l + 3 µ( 3µ)(un l + un l+ ) µ( 6µ)(un l + un l+ ). The scheme has the following stability function ã(z, µ) ã(z, µ) = ( 5µ + 6µ ) + 3 µ( 3µ)(z + z) µ( 6µ)(z + z ). Substituting z = e iθ, we obtain ã(e iθ, µ) = ( 5µ + 6µ ) + 4 3 µ( 3µ) cos θ µ( 6µ) cos θ. 6 Let us use cos θ = cos θ to express ã(e iθ, µ) in terms of x = cos θ: ã(x, µ) = 3 µ(6µ )x + 4 3 µ( 3µ)x + ( 7 3 µ + µ ). () We must find all values µ such that ã(e iθ, µ), θ [0, π], 4. mars 005 Side 5 av 8
or, equivalently, ã(x, µ), x [, ], Let us notice that according to the definition µ 0. We limit ourselves to this interval in the analysis. There are two cases to consider:. If µ(6µ ) = 0, i.e. µ = 0 or µ = 6 the plot of the function ã(x, µ) is a line. The maximum value of ã(x, µ) for x [, ] is either ã(, µ) or ã(, µ). We get ã(, µ) = 6 3 µ + 8µ, ã(, µ). It is easy to see that ã(, µ) for µ = 0 and µ = 6. Thus, the scheme is stable.. If µ(6µ ) 0, the plot of the function ã(x, µ) is a parabola so that there is one extremum point ( 3µ) x 0 = ( 6µ). The maximum value of ã(x, µ) for x [, ] can be in x =, x = or x = x 0. It is important to notice that we must consider the point x = x 0 only if x 0 [, ]. For the stability of the scheme we require and ã(, µ), ã(, µ) ã(x 0, µ), if x 0 [, ]. We obtain ã(, µ), ã(, µ) if µ 3. The point x 0 is located in the interval [, ] if x 5 5. Because for µ [, 3 ] parabola () is has minimum in x 0 (why?) and it is entirely located in the upper half plane the value ã(x 0, µ) can not have maximum at x 0. Finally, the scheme is stable if µ [0, 3 ]. 4 Oppgave 3. i læreboka. Vi skal drøfte stabiliteten til FM-skjemaet u n+ l (µ ζ)(un+ l un+ l + u n+ l+ ) = un l + (µ + ζ)(un l un l + u n l+ ) for forskjellige valg av ζ. Først benytter vi matrisemetoden. La x = som alltid u n = [u n,..., u n d ]T. d+. Vi setter Vi må først bestemme systemmatrisen A x. Vi har at skjemaet kan skrives som A + x un+ = A x un, hvor A + x = + (µ ζ) (µ ζ) (µ ζ) + (µ ζ)......... (µ ζ) (µ ζ) + (µ ζ) 4. mars 005 Side 6 av 8
og (µ + ζ) (µ + ζ) A x = (µ + ζ) (µ ζ)......... (µ + ζ). (µ + ζ) (µ + ζ) Begge matrisene er TST (tridiagonal, symmetrisk og Toeplitz) og egenverdiene er gitt ved λ + j λ j = + (µ ζ) = (µ + ζ) + (µ ζ) cos( πj d+ ) = + (µ ζ) sin ( πj x (µ + ζ) cos( πj d+ ) = (µ + ζ) sin ( πj x ) j =,..., d ) j =,..., d. Selve systemmatrisen er gitt ved A x = (A + x ) A x. Siden komponentmatrisene er tridiagonale og derfor normale, er systemmatrisen selv en normal matrise. Fordi matriser A + x og A x er TST kan vi skrive A + x = QD+ Q T og A x = QD Q T, der Q er den ortonormale matrisen med egenvektorene (egenvektorene er like for A + x og A x ) og D+ og D diagonale matriser med de respektive egenverdiene (Lemma 0.5 i boka). Dermed følger det umiddelbart at A x = (QD + Q T ) QD Q T = Q(D + ) Q T QD Q T = Q(D + ) D Q T. Dette viser at egenverdiene til A x er gitt som (λ + j ) λ j, dvs egenverdiene er gitt som λ j = (µ + ζ) sin ( πj x ) + (µ ζ) sin ( πj x j =,..., d. ) Vi vet at 0 sin ( πj x ). Anta at verdien er s for å slippe å skrive så mye. λ j betyr da for våre reelle tall: og vi skiller i to tilfeller: (µ + ζ)s + (µ ζ)s. Nevneren er positiv, + sµ sζ > 0 ζ < µ + /(s). Da ganger vi opp nevneren og venstre ulikhet gir som betyr at vi må kreve for stabilitet. Høyre ulikhet blir sµ + sζ sµ sζ ζ s sµ sζ + sµ sζ som kun krever µ > 0 for stabilitet, og dette er alltid tilfredstilt i denne oppgaven (noe annet ville innebære negativ tid). 4. mars 005 Side 7 av 8
. Nevneren er negativ, ζ > µ + /(s). Når nevneren er negativ må vi endre på fortegnet til ulikheten når vi ganger opp. Venstre ulikhet gir sµ + sζ sµ sζ som betyr at ζ /(s). Men høyre ulikhet gir nå µ 0 som ikke er sant i denne oppgaven, dermed er aldri skjemaet stabilt når nevneren er negativ. Siden 0 s har vi at strengeste stabilitetsgrense kommer når s =, dermed har vi at skjemaet kun er stabilt når ζ. Vi skal så benytte Fouriermetoden på samme skjema. Stabilitetsfunksjonen er gitt ved ã(z, µ) = + (µ + ζ)(z + z) (µ ζ)(z + z). Vi setter z = e iθ og får ã(e iθ, µ) = (µ + ζ) + (µ + ζ)(eiθ + e iθ ) + (µ ζ) (µ ζ)(eiθ + e iθ ) = (µ + ζ) sin ( θ ) + (µ ζ) sin ( θ ) θ [0, π]. Vi ser at stabilitetsfunksjonen sammensvarer med uttrykket for egenverdiene fra matrisemetoden, så vi kan konkludere med at Fouriermetoden gir samme stabilitetskrav. Legg merke til at hvis vi setter ζ = 0, så får vi Crank Nicolsons metode, så vi kan forvente at ζ er en slags relaksasjonsparameter, dvs at den skal øke konvergenshastigheten. 4. mars 005 Side 8 av 8