logo

エノン写像 📂動力学

エノン写像

定義

次のように力学系を定義するマップエノンマップHénon 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. ↩︎