Makie.jlで固定点とリミットサイクルを持つ力学系を設計する

以下の例では、質的に異なる2種類の振る舞いを見ていく。平衡点(定常状態)への緩和、リミットサイクル周りの振動、そしてその組み合わせだ。下のフローフィールドが両方の可能性を示している。

定常状態とリミットサイクル
定常状態とリミットサイクル、不安定点(水色の十字)で隔てられている

このフィールドの特定の領域からスタートすると必ずサイクルに入り、別の領域からは必ず同じ点に収束する。JuliaとMakie.jlを使えば、システムのパラメータをマウスイベントに接続できる。これで、特定の半径のサイクルを配置したり、定常状態の位置を選んだりできるわけだ。

WebGLで空間システムのパラメータをリアルタイムにいじる

方程式系に対してパラメータの効果をリアルタイムで見たい!そんなときWebGLが最高にハマる。特に空間的に拡張されたシステムならなおさらだ。以下は、遺伝子操作された2種類の細菌集団の相互作用を記述する方程式の例。

マウスで初期条件を描き、スライダーでパラメータを変更する

コードはGitHubに置いてある

参考文献

G. Szep. 2022. Inferring bifurcations between phenotypes. Thesis

P.K. Grant, G. Szep et al. 2020. Interpretation of morphogen gradients by a synthetic bistable circuit. Nature communications 11 (1), 5545

G. Szep. 2020. Reaction-diffusion in two spatial dimensions.