logo

헤논 맵 📂동역학

헤논 맵

정의

다음과 같이 동역학계를 정의하는 헤논 맵Hénon map map이라 한다. x1ax2+yybx \begin{align*} x \mapsto& 1 - a x^{2} + y \\ y \mapsto& b x \end{align*}

설명

프랑스의 천문학자 헤논Hénon은 1975년 미분방정식으로 표현되는 동역학계푸앙카레 맵이 보여주는 흥미로운 현상들을 시뮬레이션이 간단한 22차원 맵으로도 연구할 수 있음을 보였다1. 다음은 a=1.28a = 1.28 이면서 b=0.3b = 0.3 일 때 헤논 맵의 페이즈 포트레이트를 나타낸다.

alt text

헤논 맵의 의의는 고작 x2x^{2} 가 들어가서 간신히 비선형인 시스템 역시 복잡한 현상을 잘 나타낸다는 것에 있다. 많은 경우, 헤논 맵은 11차원 맵인 로지스틱 맵에 대해 배운 후 처음으로 접하는 다차원 맵이다. 그만큼 교과서적이고 쉬운 시스템임에도 불구하고, 아니 어쩌면 그렇기 때문에 아주 많은 연구와 문헌에서 언급된다.

코드

다음은 헤논 맵의 페이즈 플레인을 재현하는 줄리아 코드다.

using CSV, DataFrames, Plots

a = 1.28
b = 0.3
henon(x,y) = [a - x^2 + b*y, x]

trj_ = [rand(2)]
for t in 1:10000
    push!(trj_, henon(trj_[end]...))
end
data = DataFrame(x = first.(trj_)[100:end], y = last.(trj_)[100:end])
scatter(data.x, data.y, legend = :none, size = [500, 500], msw = 0, ms = 1, xlabel = "x", ylabel = "y")
png("Henon.png")
CSV.write("Henon.csv", data)

  1. Yorke. (1996). CHAOS: An Introduction to Dynamical Systems: p50~51. ↩︎