Numerische Berechnung aller Lyapunov
Transcription
Numerische Berechnung aller Lyapunov
Numerische Berechnung aller Lyapunov-Exponenten Wir geben ein Verfahren zur numerischen Berechnung des gesamten Spektrums an und folgen dabei hauptsächlich J. Argyris, G. Faust, M. Haase, R. Friedrich Die Erforschung des Chaos, Springer (2010). Wir beziehen uns weiter auf das System d~ u(t) = L(t) ~ u(t) dt (1) Startet man mit einem p-dimensionalen Parallelepiped, so werden durch die exponentiell veschiedenen Zeitskalen der Richtungen nach wenigen Zeitschritten die aufspannenden Vektoren mehr oder weniger in eine Richtung, eben die des größten Lyapunov-Exponenten, zeigen. Dies kann man umgehen, indem man nach einem bestimmten Zeitintervall die aufspannenden Vektoren durch ein Schmidtsches Verfahren immer wieder orthogonalisiert. Wir erklären das Prinzip an einem dreidimensionalen Phasenraum: 1. Wähle drei orthogonale û1, û2, û3. t := 0, k := 0. 2. Integriere (1) bis t + ∆T : w ~ i = Q(t + ∆T, t) ûi (p) 3. Berechne die Volumina Vk (p) Vk = q , welche von w ~ 1 ... w ~ p aufgespannt werden: |det (V )| , Vij = w ~i · w ~j 4. Bestimme durch ein Schmidt-Verfahren die neuen ûi so, dass jeweils die ersten p Vektoren ûi den Unterraum der w ~ 1 bis w ~ p aufspannen und paarweise orthogonal sind: û1 = w ~1 , |w ~ 1| ~ u2 = w ~ 2 − c12û1, û2 = ~ u3 = w ~ 3 − c13û1 − c23û2, ~ u2 , |~ u2 | c12 = û1 · w ~ 2, ~ u3 , û3 = |~ u3 | 5. t := t + ∆T , k := k + 1, gehe nach 2. c13 = û1 · w ~ 3, c23 = û2 · w ~3 Nach genügend vielen Schritten (großes k) lässt sich der Lyapunov-Exponen der Ordnung p berechnen: k X 1 (p) ln Vi σ (p) = k∆T i=1 und daraus das gesamte Spektrum σk . Beispiel angetriebenes Pendel Wir demonstrieren das Verfahren am angetriebenen Pendel. Die JacobiMatrix in (1) lautet 0 1 0 (0) (0) 2 L(t) = −Ω0 cos y1 (t) −α −A sin y3 (t) . 0 0 (2) 0 Es existieren keine Fixpunkte. Mindestens ein Lyapunov-Exponent muss daher immer Null sein. Wegen der einfachen Struktur von (2) lassen sich einige analytische Aussagen machen. So folgt aus der dritten Zeile u̇3 = 0, u3 = const. (0) (0) Für kleines A kann man selbstkonsistent |y1 |, |y2 | ∼ A annehmen und (0) cos y1 ≈1 (3) linearisieren. Speziell für u3 = 0 sind die beiden Gleichungen für u1, u2 äquivalent zum gedämpften Pendel mit den Lösungen α , i = 1, 2 |(u1, u3)| ∼ hi(t) exp − 2 mit hi(t) als oszillierende, beschränkte Funktionen. Man erhält die beiden Lyapunov-Exponenten σ2 = σ3 = −α/2. Setzt man u3 = 1, so entsprechen die Gleichungen für u1, u2 denen des angetriebenen harmonischen Oszillators. hier gilt das Langzeitverhalten y1 ∼ sin(ω0t + β) was σ1 = 0 liefert. Die Lösung ~ y (0)(t) ist also für kleines A ein stabiler Grenzzyklus (Tabelle). Für größeres A wird die Linearisierung (3) unzulässig, der Grenzzyklus wird instabil und endlich entstehen chaotische Bahnen (Abbildung) Lyapunov-Exponenten und Bifurkationsdiagramm beim angetriebenen Pendel mit Reibung SUBROUTINE dlyap_exp(eqs,eql,dt,tvor,tend,ntau,n,nfmax,fly) PARAMETER (nmax=1000) REAL*8 :: t,volum,dt,tvor,tend,xl REAL*8 , DIMENSION(n) :: fly REAL*8 , DIMENSION(SIZE(fly),SIZE(fly)) :: aux1 c c c c c c c c c c c eqs,eql : Subroutinen fuer volles System, linearisiertes System (EXTERNAL) dt [in] : Zeitschritt fuer RK4 tvor [in] : Vorlauf tend [in] : Maximales t ntau [in] : nach tau=ntau*dt Lyap.-Exp. update n [in] : Anzahl der Gleichungen nfmax [in]: die ersten nfmax Lyap-Exp. werden berechnet fly [in/out] : in : Startwerte fuer Hauptrajektorie out: fly(i) enthaelt den i-ten Lyap.-Exp. benoetigte Routinen: drkg, schmid, volum COMMON /linear_sys/ xl(nmax) c if(n.GT.nmax) THEN WRITE(6,*)’nmax in SUBROUTINE dlyap_exp auf’,n,’ aendern!’ STOP ENDIF aux1=0. ! Anfangswerte xl=fly fly=0. DO i=1,n aux1(i,i)=1. ENDDO t=0. nl=0 nl1=0 ! Zaehler zuruecksetzen DO ! Zeitschleife t=t+dt CALL drkg(xl,t,n,dt,eqs) ! Hauptrajektorie RK4 C IF(t.GT.tvor) THEN DO i=1,n CALL drkg(aux1(1,i),t,n,dt,eql) ! Ein Zeitschritt RK4 ENDDO nl=nl+1 IF(nl.EQ.ntau) THEN ! nach ntau Schritten Lyap-Exp update nl=0 nl1=nl1+1 DO k=1,nfmax fly(k)=fly(k)+LOG(volum(aux1,n,k)) ENDDO CALL schmid(aux1,n,nfmax) ! orthonormieren der Abweichungen ENDIF ENDIF IF(t.GT.tend) EXIT ENDDO C fly=fly/FLOAT(nl1*ntau)/dt DO i=nfmax,2,-1 fly(i)=fly(i)-fly(i-1) ENDDO END SUBROUTINE schmid(x,n,nmax) c ortornormiert die nmax Vektoren x(i,j) (Schmidtsches Verfahren) c x(i,j) [in/out], i=1..n (Komponenten des Vektors j), j=1..nmax c benoetigte Routine: norm REAL*8 x(n,n),s C DO k=1,nmax DO l=1,K-1 s=0. DO k1=1,n s=s+x(k1,l)*x(k1,k) ENDDO DO k1=1,n x(k1,k)=x(k1,k)-s*x(k1,l) ENDDO ENDDO CALL norm(x(1,k),n) ENDDO END c SUBROUTINE norm(x,n) Normiert den Vektor x(n), L2-Norm REAL*8 x(n),s s=SUM(x**2) x=x/SQRT(s) END REAL*8 FUNCTION volum(x,n,m) C Berechnet das Volumen des durch die m Vektoren x(i,j) aufgespannten c m-dimensionalen Parallelepipeds im n-dimensionalen Vektorraum c c x(i,j) [in], i=1..n (Komponenten des Vektors j), j=1..m c volum [out] Volumen c benoetigte Routine: deter REAL*8 :: deter REAL*8, DIMENSION (n,m) :: x REAL*8, DIMENSION (SIZE(x,2),SIZE(x,2)) :: hilf C hilf=MATMUL(TRANSPOSE(x),x) volum=SQRT(ABS(deter(hilf,m))) END REAL*8 FUNCTION deter(matrix,n) IMPLICIT NONE REAL*8, DIMENSION(n,n) :: matrix INTEGER, INTENT(IN) :: n REAL*8 :: m, temp INTEGER :: i, j, k, l LOGICAL :: DetExists = .TRUE. l = 1 !Convert to upper triangular form DO k = 1, n-1 IF (matrix(k,k) == 0) THEN DetExists = .FALSE. DO i = k+1, n IF (matrix(i,k) /= 0) THEN DO j = 1, n temp = matrix(i,j) matrix(i,j)= matrix(k,j) matrix(k,j) = temp END DO DetExists = .TRUE. l=-l EXIT ENDIF END DO IF (DetExists .EQV. .FALSE.) THEN deter=0. return END IF ENDIF DO j = k+1, n m = matrix(j,k)/matrix(k,k) DO i = k+1, n matrix(j,i) = matrix(j,i) - m*matrix(k,i) END DO END DO END DO !Calculate determinant by finding product of diagonal elements deter=1. DO i = 1, n deter=deter*matrix(i,i) END DO END FUNCTION deter 3.8 Fraktale Dimension Wegen der Kreuzungsfreiheit der Trajektorien kann ein chaotischer Attraktor nicht vollständig in eine Fläche passen und muss daher eine Dimension größer als zwei besitzen. Allerdings muss er auch nicht den gesamten Phasenraum ausfüllen, was bei N = 3 auf eine fraktale Dimension 2<d<3 führen würde. Wie lässt sich d ermitteln? 3.8.1 Kapazitätsdimension Bestimmung mit Hilfe der Box-Counting-Methode Bedeckung des N -dimensionalen Phasenraums durch Hyperwürfel der Dimension N und der Kantenlänge L. Bestimme die Zahl M der vom Attraktor aufgesuchten Würfel als Funktion von L. Daraus Dimension log M . dK = − log L dK : Kapazitätsdimension Fraktale Dimension (Steigung) nach der Box-Counting-Methode, Kapazitätsdimension. Angetriebenes Pendel, Ω0 = 1, α = 0.1, ω = 0.8, A = 0.4 (Punkte), A = 1.0 (Quadrate). Bei A = 0.4 ergibt sich dK ≈ 1.04, bei A = 1.0 dK ≈ 2.01. Wir berechnen dK für zwei Werte für A (im periodischen und chaotischen Bereich). Der dreidimensionale Phasenraum wird dabei in den Grenzen −π ≤ y1 ≤ π, −3.5 ≤ y2 ≤ 3.5, 0 ≤ y3 ≤ 2π nacheinander mit n3 Würfeln bedeckt, wobei n = 2, 4, 8, 16...512. Jedesmal wird M ermittelt. Man sieht, dass sich im chaotischen Bereich eine Dimension nur knapp über zwei ergibt, man kann also nur schwer aus der Dimension alleine zwischen chaotischem Attraktor und quasi-periodischer Bewegung unterscheiden. Fraktale Dimension im Bereich 0.4 ≤ A ≤ 1.4 3.8.2 Korrelationsdimension Gegeben sei eine Anzahl von P Punkten im N -dimensionalen Phasenraum i ) , ~ y i = (y1i , y2i , ... yN i = 1...P. z.B. als Ergebnis einer numerischen Lösung einer DGL oder Messreihe (z.B. Temperatur über der Zeit an N verschiedenen Orten, etc.). Korrelationsdimension: Bestimme für jeden Punkt die Anzahl der Nachbarpunkte im Abstand R: C(R) = Anzahl der Paare mit |~ yi − ~ yj | ≤ R für alle i 6= j . oder C(R) = P X P X Θ(R − |~ yi − ~ y j |) i=1 j=i+1 mit Θ(x) = ( 0 für x ≤ 0 1 für x > 0 . Es sollte C(R) ∼ Rd sein, wobei d die Dimension des Objektes beschreibt, auf welchem sich die Punkte P befinden. ln C(R) . R→0 ln R dC = lim (4) dC : Korrelationsdimension Man erhält dC wieder durch doppelt-logarithmisches Auftragen von C über R als Steigung. Wo Steigung auswerten? Für zu kleine R wird Kurve flacher, weil zu wenig Punkte in Kugel. Für zu großes R wird die Steigung ebenfalls abnehmen, weil der Attraktor eine endliche Ausdehnung besitzt (beim Pendel von der Größenordnung 2π). Korrelationsdimension (Steigung) beim angetriebenen Pendel, Ω0 = 1, α = 0.1, ω0 = 0.8. Chaotischer Attraktor bei A = 1, dC ≈ 2.12. 3.8.3 Rekonstruktion von Attraktoren Oft liegen eindimensionale Messreihen (Zeitserien) Y (t) vor: Y0, Y1, Y2, .....YP −1, Yn = Y (n∆t) . Daraus fraktale Dimension, obwohl Dimension N des Phasenraums unbekannt. N möglicherweise sehr groß. Sind Messwerte vollständig unkorreliert (z.B. Münzwurf), so lässt sich Messreihe überhaupt nicht in Phasenraum einbetten, N → ∞. Entfaltung der Messreihe in Raum mit vorgegebener Dimension N ′ (Einbettungsdimension). Festes Zeitintervall ∆T , Delay-Rate. Sei K = ∆T /∆t eine ganze Zahl. Man konstruiert eine Reihe von N ′-dimensionalen Vektoren y1(tk ) = Yk y2(tk ) = Yk+K y3(tk ) = Yk+2K .... yN ′ (tk ) = Yk+(N ′−1)K erhält also für tk = k∆t, k = 0...kmax, kmax = P − 1 − (N ′ − 1)K P − (N ′ − 1)K N ′-dimensionale Vektoren. Daraus dann Korrelationsdimension, Kapazitätsdimension wie oben bestimmen. Wie groß N ′? Kreuzungsfreiheit der Trajektorien! Floris Takens 1981: Erzeugt ein deterministisches System den N -dimensionalen Fluss ~ y: d~ y = f~(~ y) dt so stellt x1 = y(t), x2 = y(t + ∆T ), .... x2N +1 = y(t + 2N ∆T ) eine stetig differenzierbare Einbettung dar, wobei y eine beliebige Komponente von ~ y sein kann. Dimension eines Attraktors bleibt erhalten, wenn N ′ ≥ 2N + 1 gilt. In der Praxis wird man N ′ so lange vergrößern, bis die fraktale Dimension konvergiert. Beispiel: Klimaattraktor Kenntnis der Einbettungsdimension erlaubt Abschätzen der Freiheitsgrade. Maß für Komplexität des Systems. 1984 bestimmten Nicolis und Nicolis (Nature 311, 529-532, 1984) den “Klimaattraktor”. Eisvolumen der letzten 106 Jahre, gemessen von Shackleton et al., nach Nicolis und Prigogine (links), sowie seine dreidimensionale Einbettung (rechts). Nicolis et al. bestimmten die Dimension dC für verschiedene N ′ von zwei bis sechs. Rechnung konvergiert gegen dC ≈ 3.1 . Links: log C(R) für verschiedene Einbettungsdimensionen N ′ = 2...6. Rechts: Konvergenz gegen dC ≈ 3.1. Kreuze Kontrolldaten, durch unkorreliertes Rauschen erzeugt. P. Grassberger 1986 (Nature): kritische Auseinandersetzung mit Ergebnissen von Nicolis. Grassberger fand keine Konvergenz, was auf die wenigen Messpunkte der Rohdaten (184) zurückzuführen ist. Diese wurden durch Interpolation und Filterung auf 500 aufbereitet. Grassberger konnte zeigen, dass die Interpolation der Grund für die von Nicolis gefundene niedrige Attraktordimension ist. 3.9 Differentialgleichungen mit periodischen Koeffizienten 3.9.1 Floquet-Theorem – äquivalent zum Blochschen Theorem aus Festkörperphysik – Aussage zu linearen DGL’s der Form d~ u(t) u(t) = L(t) ~ dt (5) aber mit periodischem L(t): L(t) = L(t + T ) . u um eine Periode T weiter entwickelt: Zeitentwicklungsoperator C, der ~ ~ u(T ) = C(T ) ~ u(0) . (6) C wird als Monodromie-Matrix bezeichnet. Sind mit ~ k = σk (T ) w ~k Cw (7) die Eigenwerte und Eigenvektoren von C bekannt, so gilt wegen CCw ~ k = σk (T ) σk (T ) w ~ k = σk (2T ) w ~k auch (σk (T ))n = σk (nT ) und σk = exp(λk T ) . (8) σk : Floquet-Multiplikatoren, λk : Floquet-Exponenten Die w ~ k sollen vollständige Basis im Phasenraum aufspannen. Entwicklung: ~ u(t) = X ak (t) w ~ k eλk t k Anwenden von C: C~ u(t) = X ak (t) C w ~ k eλk t = k = X k X ak (t) σk w ~ k eλk t k ak (t) w ~ k eλk (t+T ) = ~ u(t + T ) . (9) Wegen (9) ~ u(t + T ) = X ak (t + T ) w ~ k eλk (t+T ) k folgt ak (t) = ak (t + T ) Entwicklungskoeffizienten ak in (9) sind demnach periodisch in t. – Floquet-Theorem: Die Lösung von u(t) ~ u˙ (t) = L(t) ~ mit L(t) = L(t + T ) (10) hat die Form ~ u(t) = X q~k (t) exp(λk t) k wobei die q~k in der Zeit periodische Funktionen q~k (t) = q~k (t + T ) sind. Die Floquet-Exponenten λk folgen aus den Eigenwerten σk der Monodromie-Matrix C(T ) als λk = 1 1 iα 1 ln σk = ln |σk |eiαk = ln |σk | + k T T T T (11) 3.9.2 Parametrische Instabilität: Pendel mit osz. Aufhängepunkt Als Beispiel untersuchen wir das math. Pendel. Der Aufhängepunkt soll mit A sin ω0t 2 ω0 vertikal oszillieren. ~ sin ω0t φ – Scheinkraft in vertikaler Richtung: g → g(1 + a sin ω0t), A a= gω02 Bewegungsgleichungen: ẏ1 = y2 ẏ2 = −Ω2 0 (1 + a sin y3 ) sin y1 (12) ẏ3 = ω0 d.h. die Zeitabhängigkeit ist jetzt multiplikativ (Fixpunkte existieren!). Untere (stabile) Ruhelage: (0) y1 (0) = y2 = 0, (0) y3 = ω0t. Linearisierung: u̇1 = u2 u̇2 = −Ω2 0 (1 + a sin ω0 t) u1 (13) u̇3 = 0 . (14) Da u3 nicht an u1, u2 koppelt, genügt es, das 2D-Problem u ~ u˙ = L ~ mit ~ u = (u1, u2) (15) und L(t) = 0 1 −Ω2 0 (1 + a sin ω0 t) 0 ! (16) weiter zu untersuchen, welches die Form (10) mit T = 2π ω0 besitzt. Floquet-Exponenten: Berechnung der Monodromie-Matrix. Dazu zwei orthogonale Anfangsbedingungen ~ u1(0) = (1, 0), ~ u2(0) = (0, 1) Integration von (10) mit (16) für jedes ~ ui numerisch bis t = T liefert ~ ui(T ). Wegen (6) gilt: u1(T ), ~ u2(T )) = C · |(~ u1(0),{z~ u2(0))} = C . (~ (17) =1 Die Vektoren ~ ui(T ) bilden die Spalten von C. Daraus Eigenwerte σ12: q 1 1 (Sp C)2 − 4Det C σ12 = Sp C ± 2 2 (18) daraus mit (11) die Floquet-Exponenten. Summe aller Floquet-Exponenten muss gleich der Spur von L = 0 sein: λ1 + λ2 = 0 . (19) Zwei Möglichkeiten: 1. Beide σk reell und größer null, dann λk ebenfalls reell und ein λk wegen (19) größer Null. Fixpunkt ~ y (0) ist instabil. 2. σk , λk bilden ein komplex-konjugiertes Paar. Wegen (18,19) folgt λ1 = −λ2 = −λ∗1 und damit λ12 = ±iα, αǫR Fixpunkt ~ y (0) ist stabil. Die Linien im Parameterraum (a, ω0), auf denen zwei reelle Lösungen von (18) in ein konjugiert-komplexes Paar übergehen: (Sp C)2 − 4Det C = 0 trennen die stabilen von den instabilen Bereichen. (20) 3.9.3 Mathieu-Gleichung Die beiden DGLs (15) sind äquivalent zu einer DGL 2. Ordnung ü + Ω2 0 (1 + a sin ω0 t)u = 0 (21) mit u = u1. In der Literatur findet man oft die Form ü + (p + 2b sin 2t̃)u = 0 (Mathieu-Gleichung), welche durch die Skalierung ω t̃ = 0 t 2 sowie 4Ω2 p = 20 , ω0 aus (21) hervorgeht. 2Ω2 b = 20 a ω0 (22) Stabilitätsgrenzen des unteren Fixpunktes durch numerisches Berechnen der Monodromie-Matrix: C = C(p, b) Dann zeichnen der Nullklinen von f (p, b) = (Sp C(p, b))2 − 4 Det C(p, b) in Parameterebene. Stabilitätsdiagramm der Mathieu-Gleichung (22). Schwarz: λ1 = λ2 = 0, Stabilitätsgrenze rot: λk reell, instabil, blau: λk = ±iα, stabil. Die Resonanzspitzen reichen bis zur pAchse. Bei den Resonanzen p = n2 , n = 1, 2, ... genügen beliebig kleine Amplituden b, um das Pendel zu destabilisieren, die Schwingung schaukelt sich auf. Setzt man p ein, so ergibt sich für die Resonanzen ein Verhältnis Ω0 n = ω0 2 zwischen Eigenfrequenz des Pendels und Antriebsfrequenz. Interessanterweise erhält man auch für negatives (!) p einen kleinen Bereich, in dem die Floquet-Exponenten imaginär sind. Negatives p entspricht der Linearisierung um den instabilen Fixpunkt des Pendels, y1 = π. Wählt man b entsprechend, so lässt sich das Pendel oben stabil halten. Für negaties p ist die obere Ruhelage in dem schmalen Keil zwischen den schwarzen Linien stabil.