다차원 맵의 랴푸노프 수와 그 수치적 계산법
정의 1
스무스 맵 $\mathbf{f} : \mathbb{R}^{m} \to \mathbb{R}^{m}$ 과 초기값 $\mathbf{v}_{0} \in \mathbb{R}^{m}$ 에 대해 $J_{n} := D \mathbf{f}^{n} ( \mathbf{v}_{0}) \in \mathbb{R}^{m \times m}$ 이라고 하자. $k = 1 , \cdots , m$ 에 대해 $m$차원 단위구 $N := \left\{ \mathbf{x} \in \mathbb{R}^{m} : \left\| \mathbf{x} \right\|_{2} = 1 \right\}$ 의 일립소이드 $J_{n} N$ 의 축의 길이 중 $k$ 번째로 긴 축의 길이를 $r_{k}^{(n)}$ 이라고 두자. 이제 $\mathbf{v}_{0}$ 의 $k$ 번째 랴푸노프 수 $L_{k}$ 를 다음과 같이 정의한다. $$ L_{k} := \lim_{n\to\infty} \left( r_{k}^{(n)} \right)^{1/n} $$ $\mathbf{v}_{0}$ 의 $k$ 번째 랴푸노프 지수는 $h_{k} := \ln L_{k}$ 와 같이 정의된다.
- $r_{k}^{(n)}$ 에서 윗첨자 $(n)$ 은 거듭제곱이나 미분 횟수가 아니라 맵 $\mathbf{f}$ 를 $n$ 번 취했다는 의미다.
- 당연하지만 정의에서 $L_{1} \ge L_{2} \ge \cdots \ge L_{m}$ 이고, $h_{1} \ge h_{2} \ge \cdots \ge h_{m}$ 이며, 보통은 가장 크면서 $0$ 과의 비교가 의미 있는 $h_{1}$ 만을 신경쓴다. 이는 $L_{1}$ 을 $1$ 과 비교하는 것과 같지만, 음과 양만을 따지면 되는 랴푸노프 지수Lyapunov exponent에 비해 지저분한 점이 많아 별로 쓰이지 않는다. 물론 개념을 공부할 때는 랴푸노프 수Lyapunov number가 더 직관적이기 때문에 도움이 된다.
설명
다차원 맵의 랴푸노프 수는 말 그대로 $1$차원 맵의 랴푸노프 수를 확장한 것으로, 일립소이드의 축을 사용해서 정의한다. 맵 $\mathbf{f}^{n}$ 의 자코비안으로 만들어지는 일립소이드의 축이라는 것은 쉽게 말해 $\mathbf{f}^{n}$ 이 그 축의 방향으로 점을 옮기고 있다는 것이다. 이 축의 크기가 $1$ 보다 크다는 것은 그 축의 방향으로 팽창, 작다는 것은 그 축의 방향으로 수축하고 있다는 것이다. $1$차원 맵의 랴푸노프 수가 도함수의 크기가 $1$ 보다 큰지 작은지, 즉 증감으로 정의되었다는 것을 생각해보면 이렇게 비선형 맵까지 포함하는 일반화는 충분히 타당하다고 할 수 있을 것이다.
한편 $J_{n} = D \mathbf{f}^{n} ( \mathbf{v}_{0} )$ 을 수치적으로 계산하는 측면에서 랴푸노프 수를 다시 생각해보자. 일립소이드를 생각한다는 시점에서 행렬의 특이값 분해를 생각할 수밖에 없는데, $n$ 이 커질수록 $J_{n}^{T} J_{n}$ 은 굉장히 큰 특이값 $\sigma_{1}$ 과 굉장히 작은 특이값 $\sigma_{m}$ 을 둘 다 가지게 된다. 인간과 달리 컴퓨터는 이러한 수들을 저장하는데에 한계가 있으며, 꼭 그게 아니라도 $J_{n} = D \mathbf{f}^{n} ( \mathbf{v}_{0})$ 를 계산하는 것부터가 난관이기도 하다. 그래서 어지간하면 $J_{n}N$ 를 직접 계산하는 짓은 안 하는게 좋으며, 수치적으로 좀 더 현명한 방법을 사용한다.
공식
$$ h_{k} \approx {{ 1 } \over { n }} \sum_{i=1}^{n} \ln \left\| \mathbf{y}_{k}^{(i)} \right\|_{2} $$
- $\| \cdot \|_{2}$ 은 유클리드 놈을 의미한다.
유도
어떤 $U^{(i)}$ 에 대해 일립소이드 $J_{n} N$ 과 $J_{n} U^{(i)}$ 의 축의 크기만 같다면 $J_{n} U^{(i)}$ 을 계산해도 상관 없다. 체인 룰에 따라, $$ J_{n} U^{(0)} = D \mathbf{f}(\mathbf{v}_{n-1}) \cdots D \mathbf{f}(\mathbf{v}_{0}) N $$ 우리는 우변의 $D \mathbf{f}(\mathbf{v}_{0}) N$ 부터 차례대로 계산해서 왼쪽으로 갈 것이다. $N$ 은 단위원이므로 $N$ 을 직교 기저 $N = \left[ \mathbf{w}_{1}^{(0)} \cdots \mathbf{w}_{m}^{(0)} \right]$ 이라고 두면 $$ \mathbf{z}_{1} = D \mathbf{f}(\mathbf{v}_{0}) \mathbf{w}_{1}^{(0)} \\ \vdots \\ \mathbf{z}_{m} = D \mathbf{f}(\mathbf{v}_{0}) \mathbf{w}_{m}^{(0)} $$ 에 대해 $$ J_{n} U^{(0)} = D \mathbf{f}(\mathbf{v}_{n-1}) \cdots D \mathbf{f}(\mathbf{v}_{1}) \left[ \mathbf{z}_{1} \cdots \mathbf{z}_{m} \right] $$ 이다. 이렇게 얻은 $\left[ \mathbf{z}_{1} \cdots \mathbf{z}_{m} \right]$ 에 그램-슈미트 직교화를 적용하면 직교 기저 $\left[ \mathbf{y}_{1}^{(1)} \cdots \mathbf{y}_{m}^{(1)} \right]$ 을 얻는다. 너무 큰 값을 가지지 않도록 정규화한다는 의미에서 $\left[ \mathbf{w}_{1}^{(1)} \cdots \mathbf{w}_{m}^{(1)} \right] := \left[ {{ \mathbf{y}_{1}^{(1)} } \over { \left\| \mathbf{y}_{1}^{(1)} \right\|_{2} }} \cdots {{ \mathbf{y}_{m}^{(1)} } \over { \left\| \mathbf{y}_{m}^{(1)} \right\|_{2} }} \right]$ 이라고 두면 어떤 $U^{(1)}$ 에 대해 $$ J_{n} U^{(1)} = D \mathbf{f}(\mathbf{v}_{n-1}) \cdots D \mathbf{f}(\mathbf{v}_{1}) \left[ \mathbf{w}_{1}^{(1)} \cdots \mathbf{w}_{m}^{(1)} \right] $$ 이와 같은 계산을 반복하면 $$ J_{n} U^{(n)} = \left[ \mathbf{w}_{1}^{(n)} \cdots \mathbf{w}_{m}^{(n)} \right] $$ 따라서 일립소이드 $J_{n} N$ 의 $k$ 번째 축의 길이는 $\left\| \mathbf{w}_{k}^{(n)} \right\|_{2}^{1/n}$ 와 비슷한 값이 된다. 한편 $\left\| \mathbf{y}_{k}^{(i)} \right\|_{2}$ 는 매 반복마다 $k$ 번째 방향으로의 증감을 나타내므로 축의 길이는 $r_{k}^{(n)} \approx \left\| \mathbf{y}_{k}^{(1)} \right\|_{2} \cdots \left\| \mathbf{y}_{k}^{(n)} \right\|_{2}$ 이다. 따라서 충분히 큰 $n$ 에 대해 $$ \begin{align*} h_{k} =& \ln \lim_{n\to\infty} \left( r_{k}^{(n)} \right)^{1/n} \\ \approx& \ln\left( r_{k}^{(n)} \right)^{1/n} \\ \approx& \ln\left( \left\| \mathbf{y}_{k}^{(1)} \right\|_{2} \cdots \left\| \mathbf{y}_{k}^{(n)} \right\|_{2} \right)^{1/n} \\ =& {{ 1 } \over { n }} \sum_{i=1}^{n} \ln \left\| \mathbf{y}_{k}^{(i)} \right\|_{2} \end{align*} $$
■
같이보기
1차원 맵의 랴푸노프 수
Yorke. (1996). CHAOS: An Introduction to Dynamical Systems: p195. ↩︎