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.