高周期ジュリア集合選手権
どうも、108Hassiumです。
以下の記事で予告した通り、いろいろの関数族での高周期ジュリア集合選手権を開催したいと思います。
前提知識
この記事は文章をガン無視して画像だけを眺めても十分楽しめると思いますが、ある程度の前提知識があると文章が理解できてより楽しめると思います。
というわけで、この記事を理解するうえで必要な知識を軽く解説しておきます。
※前回の記事(先述の「高周期ジュリア集合ランキングTOP10」のこと)にも同じ趣旨の項目がありましたが、情報整理の為今回も1から書き直すことにしました。前回と被る内容もあれば新しい内容や省略した話もあるので、隅々まで理解尽くしたい人は両方読んでください。
マンデルブロ集合
例えば、$${f(z,c)=z^2+c}$$、$${a=0}$$、$${c=-1}$$として$${z_n}$$を計算すると、以下のようになります。
$${z0=0}$$
$${z_1=0^2-1=-1}$$
$${z_2=(-1)^2-1=0}$$
$${z_3=0^2-1=-1}$$
この後も0と-1が交互に並び、無限大に発散することはありません。
というわけで、-1は0を初期値とする$${z^2+c}$$のマンデルブロ集合に含まれることがわかります。
複素平面上にこのマンデルブロ集合をプロットすると以下のようになります。
真ん中あたりから左にかけて広がる黒い領域がマンデルブロ集合で、外側の領域は$${z_n}$$が発散するスピードに応じて色が塗られています。
なお、正式にはマンデルブロ集合といえばこの「$${0}$$を初期値とする$${z^2+c}$$のマンデルブロ集合」のみを指し、初期値や関数の種類を変えたものはマンデルブロ集合とは呼ばないらしいです。
しかし、それだと記事を書く上で不便な点があるので勝手に定義を一般化しました。
ジュリア集合
例えば$${f(z)=z^2-1}$$、$${a=0}$$として$${z_n}$$を計算すると、以下のようになります。
$${z0=0}$$
$${z_1=0^2-1=-1}$$
$${z_2=(-1)^2-1=0}$$
$${z_3=0^2-1=-1}$$
この後も0と-1が交互に並び、無限大に発散することはありません。
というわけで、0は$${z^2-1}$$のジュリア集合に含まれることがわかります。
記憶力のいい人は、例として挙げた$${z_n}$$がマンデルブロ集合の説明の方に出てきた数列と全く同じものであることに気付いたと思います。
マンデルブロ集合は初期値$${a}$$を固定して$${z_{n+1}=f(z_n,c)}$$の$${c}$$を動かして収束するかどうかを調べるのに対し、ジュリア集合は$${c}$$の方を固定して$${a}$$を動かしたものと捉えることができます。
このようにジュリア集合とマンデルブロ集合は定義が似ているのですが、定義以外にも意外な接点があります。
$${c}$$が「0を初期値とする$${z^2+c}$$のマンデルブロ集合」の中にあれば$${z^2+c}$$のジュリア集合は真っ黒い領域を持ち(=ジュリア集合の要素が密集する)、外にあるとそのような領域は消滅します。
このような現象は他の関数によるマンデルブロ集合・ジュリア集合の間でも起き、例えば
$${\frac{1}{2}}$$を初期値とする$${c(z^2-z)}$$のマンデルブロ集合
$${c(z^2-z)}$$($${c}$$は定数)という形の関数のジュリア集合
の間にも同じような関係が見られます。
ただし、マンデルブロ集合は初期値を変えると形が変わってしまい、ジュリア集合との関係も崩れてしまいます。
私には理由はさっぱりわからないのですが、どうやら初期値が$${f(z,c)}$$の臨界点であるとき、$${f(z,c)}$$のマンデルブロ集合とジュリア集合の見た目がリンクするらしいです。
臨界点というのは微分係数が0になる点のことで、例えば$${z^2+c}$$を$${z}$$で微分すると$${2z}$$になり、$${z=0}$$のときに$${2z=0}$$になります。
$${c(z^2-z)}$$の場合も$${z=\frac{1}{2}}$$のときに微分係数が0になり、どうやらこれらの値を初期値にしたことによりジュリア集合との関係が生じたらしいです。
以降、初期値を指定せずにマンデルブロ集合といった場合、ジュリア集合とリンクするような初期値によるマンデルブロ集合を指すものとします。
周期
例えば$${f(z)=z^2-1}$$とすると$${f(z)}$$の臨界点は0で、$${z_0=0,z_{n+1}=z_n^2-1}$$という数列は0、-1、0、-1…という2周期の周期数列になるので、「$${z^2-1}$$のジュリア集合の周期は2である」ということができます。
さて、この記事の主題である「高周期ジュリア集合選手権」というのは、「$${c}$$を特定の条件を満たす定数としたとき、$${f(z,c)}$$のジュリア集合の周期が最も長くなるような$${c}$$を見つける行為」(を競技に見立てたもの)を指します。(一部例外あり)
例えば前回の記事では$${c}$$に「虚部は0以上かつ、実部と虚部の小数点以下は2桁」という条件を付けたときに$${z^2+c}$$のジュリア集合の周期が長くなる$${c}$$の上位10個を紹介しました。
今回も同様に、いろいろな関数での周期が長くなる値のTOP5をランキング形式で紹介したいと思います。
z^3+c
本大会の最初の種目は、$${z^3+c}$$です。
前回取り上げた$${z^2+c}$$や今回の$${z^3+c}$$のような、$${z^n+c}$$という形の関数のマンデルブロ集合のことを、マルチブロ集合というそうです。
マルチブロの「ブロ」の部分はマンデルブロ集合のブロに由来し、「マンデルブロ」はマンデルブロ集合を発見した数学者の名前だそうです。
つまり、ルービックキューブの流行に便乗して作られた「ルービック◯◯」というパズルと似たような命名ということですね。
ランキングの集計対象は、「小数点以下が2桁以下、実部と虚部は0から2まで」という条件を満たす値とします。
$${z^2+c}$$のときは「$${c=x+iy}$$のジュリア集合と$${c=x-iy}$$のジュリア集合は周期が同じ値になる」という性質があったので虚部が負のケースを排除しましたが、$${z^3+c}$$だと$${c=-x+iy}$$も同じ周期になるようなので実部が負の場合も排除することにしました。
ちなみに$${z^3+c}$$のマンデルブロ集合が上下にも左右にも対称になっているのは、この「$${z^3±x±yi}$$が全部同じような性質を持つ」という特徴のせいです。
ならば逆に「マンデルブロ集合が上下左右対称なら、$${f(z,±x±yi)}$$のジュリア集合は全部同じ周期になるのでは?」と思っていたのですが、どうやらこれは例外があるようです。(面倒なので具体例の説明は割愛します)
5位:0.63+0.5i(42周期)
5位にランクインしたのは、42周期の0.36+0.5i。
$${z^3+c}$$のジュリア集合は、どれも3回回転対称になるようです。
$${z^2+c}$$のジュリア集合は点対称(=2回転対称)でしたが、一般に$${z^n+c}$$のジュリア集合は$${n}$$回回転対称になります。
4位:0.58+0.6i(60周期)
樹枝状の枝分かれが美しい0.58+0.6iが、60周期で4位にランクイン。
前回の記事で紹介した「レベル」や「周期因子」の話は全てのマンデルブロ集合に適用できる話ではないのですが、少なくともマルチブロ集合の場合は(円状領域という単語が使えないことに気をつければ)ほぼそのまま通用します。
例えばこの$${z^3+0.58+0.6i}$$のジュリア集合は、「レベルが3、周期因子が3、5、4」というように表現することができます。
3位:0.49+0.88i(77周期)
レベル3のランクインが続く中、颯爽と現れたレベル1の0.49+0.88iが77周期第3位の座をかっさらっていきました。
$${z^2+c}$$の時でも3位で急にレベル1が出てくるという事が起きましたが、どうやらただの偶然っぽいです。
2位:0.02+1.12i(110周期)
本大会初の100周期越えを達成したのは、2位の0.02+1.12i(110周期)。
2位でようやく100越えというのも$${z^2+c}$$の時と同じですが、今回の2位はレベル3の値になりました。
1位:0.17+0.75i(429周期)
1位に輝いたのは、429周期の0.17+0.75i。
2位の110周期に対し、4倍近い大差をつけての圧勝です。
c(z^3/3-z^2/2)
続いての競技は、$${c\left(\frac{z^3}{3}-\frac{z^2}{2}\right)}$$です。
$${c\left(\frac{z^3}{3}-\frac{z^2}{2}\right)}$$という関数は、今までのものとは違い臨界点が2個あります。
このような場合は、臨界値ごとに異なる周期数列を持つことがあります。
今回の場合、例えば$${c=-6.5+i}$$とすると、$${z_0=1}$$では-0.0626→-0.1551+0.0125i→-0.0789+0.0165iという3周期の数列に収束します。
一方で$${z_0=0}$$の場合は$${z_n}$$は常に0、つまり1周期になります。
そしてジュリア集合では、2種類の周期数列に収束する領域が混在します。
中央の3色の領域が3周期数列に収束する部分で、その周りの灰色の領域が1周期の領域です。
今回の集計対象の条件は「小数点以下2桁、実部は-10から4、虚部は0から4まで」とし、$${z_0=1}$$のときの周期のみで審査しました。
5位:-6.2+1.08i(170周期)
-6.2+1.08iが、170周期で5位にランクイン。
5位からすでに100越えとなり、非常にハイレベルな戦いが繰り広げられることが期待できますね。
4位:-6.77+0.84i(208周期)
-6.77+0.84iが208周期で4位にランクイン。
めっちゃどうでもいい話ですが、白黒の方の図だと0に収束する領域がゴキブリみたいで若干気持ち悪いですね。
3位:-6.22+1.07i(259周期)
他とは違う配色で文字通り異彩を放つ-6.22+1.07iが、259周期で3位にランクイン。
ジュリア集合の内側は周期によって色を決め、収束速度で陰影をつけるようなプログラムで彩色しています。
細かい仕様は毎回手動で調整しているのですが、色自体はほぼ毎回明るめの色が選ばれるようになっています。
しかし、ごく稀に今回のようなほぼ真っ黒に近い色が生成され、他の色も地味目になってしまうことがあります。
2位:-5.19+0.65i(266周期)
-5.19+0.65iが266周期で2位にランクイン。
$${c\left(\frac{z^3}{3}-\frac{z^2}{2}\right)}$$のマンデルブロ集合には$${z^2+c}$$のマンデルブロ集合に似た領域がありましたが、ジュリア集合の方も(0に収束する領域を除けば)$${z^2+c}$$と似た形になるようです。
1位:-6.68+1.14i(288周期)
1位の栄光を掴み取ったのは、288周期の-6.68+1.14i。
振り返ってみると当初の予想に反し、200前後にTOP5が集まる大接戦となりました。
c/(z^2-1)+1
続いての競技は、今大会初の分数関数である$${\frac{c}{z^2-1}+1}$$。
網目状の模様が特徴的ですが、分数関数のマンデルブロ集合では比較的よくみられる特徴です。(多項式関数だとこんな感じにはならないっぽいです)
集計対象は「小数点以下2桁、実部は-1から4まで、虚部は0から3まで」という値としました。(上の画像の上下と右側の見切れている部分を考慮してあります)
ところで、$${\frac{c}{x^2-1}+1}$$のグラフを描くと以下のようになります。
見ての通り、$${\frac{c}{x^2-1}+1}$$は$${x→\infty}$$で無限大に発散しません。
$${x^2+c}$$や$${x^3+c}$$なら$${x}$$が大きくなるとその値も急速に大きくなり、$${z_{n+1}=f(z_n,c)}$$が発散するような$${z_0}$$や$${c}$$が存在するのは感覚的にほぼ明らかでした。
しかし$${\frac{c}{x^2-1}+1}$$は$${x}$$が大きくなってもその値は全然大きくならず、$${\frac{c}{z^2-1}+1}$$のマンデルブロ集合に「外側」があるのは不思議なように思えます。(実際、$${\frac{1}{z^2}+c}$$等の分数関数はほとんどすべての領域で$${z_n}$$が発散しないので今までのものとはかなり異なった見た目をしています)
実は$${f(x)=\frac{c}{x^2-1}+1}$$という関数は発散しにくそうでも、$${f(f(x))}$$は2次関数のような形になり$${x→\infty}$$で発散していくのです。
これにより$${z_{n+1}=\frac{c}{z_n^2-1}+1}$$という数列は、$${z_n}$$や$${c}$$が大きくなると1に近い値と大きい値を交互に行き来するという変則的な挙動で発散していきます。
5位:1.18+0.96i(253周期)
枝分かれが多すぎて禍々しい1.18+0.96iが253周期で5位にランクイン。
領域どうしの隙間が狭すぎて軌道の図が真っ黒くなってしまいました。
4位:1.65+1.06i(552周期)
1.65+1.06iが552周期で4位にランクイン。
この企画(の元になった調査)を始めたのは「周期の長いジュリア集合は美しいのが多い」という経験則があったからなのですが、実際に調べてみたところ数百周期のオーダーになると構造が微細・複雑すぎたりして綺麗に描画しにくいことがわかりました。
特に$${\frac{c}{z^2-1}+1}$$の場合は、周期の長さに加えて主に網目状の構造のせいでゴチャゴチャしてちょっと汚い感じになってしまいがちでした。
3位:1.59+0.67i(894周期)
1.59+0.67iが894周期で3位にランクイン。
記録のインフレが止まりません。
2位:1.64+1.07i(1440周期)
1.64+1.07iが、ついに1000越えの大台を突破し2位にランクイン。
収束する領域が小さすぎて軌道図がわけわからなくなってしまいました。
1位:-0.1+0.05i(1560周期)
激戦を制したのは、1560周期の-0.1+0.05i。
周期の値は2位とあまり離れていない(といっても差は120ですが)ものの、その姿は1位の座にふさわしい優美なものとなりました。
con(z)^2+c
$${\text{con}(z)}$$は複素共役という変換で、複素数$${x+iy}$$を$${x-iy}$$に変える操作を表します。(複素共役自体は有名な概念ですが、conという記号はあまり使われていないようです)
$${\text{con}(z)^2+c}$$のマンデルブロ集合には、「トリコーン」や「マンデルバー」という名前がついているそうです。
マンデルバーのマンデルの部分はマルチブロのブロと同様に人名に由来しますが、トリコーンの方は3回回転対称の形状が由来で人名とは無関係です。
今回の集計条件は、$${z^2+c}$$のときと同じ「小数点以下2桁、実部は-2~2、虚部は0~2まで」としました。
なお、$${\text{con}(z)^2+c}$$のマンデルブロ集合は実軸だけでなく斜め方向にも線対称の対称軸を持ちますが、このことは集計対象の範囲を決める上では考慮していません。
例えば$${c=0.3+0.7i}$$に対して斜めの対称軸について線対称な位置にある点を頑張って計算すると$${\frac{(0.3-0.7i)(-1+\sqrt{3}i)}{2}}$$になるのですが、この2つの値は全く同じ周期・形のジュリア集合を生成します。
しかし、対称移動した後の点の実部と虚部は共に無理数であり、「小数点以下2桁」という条件を満たさないので集計対象に入っていません。
なので結局、斜めの対称軸があることによる集計対象の被りは発生しないので、集計範囲を絞る必要はないことになります。
5位:-0.79+0.09(50周期)
50周期の-0.79+0.09が5位にランクイン。
$${\text{con}(z)^2+c}$$のジュリア集合は$${z^2+c}$$のものとよく似ていますが、大きな違いが一つあります。
$${\text{con}(z)^2-0.79+0.09i}$$のジュリア集合には渦巻き状の構造がありますが、よく見ると渦の巻き方向は場所によって異なります。
一方で、$${z^2+c}$$のジュリア集合の渦巻きの向きはどこでも全て同じになっています。(理由は知りません)
4位:0.65+i(54周期)
鮮やかなレインボーカラーと黒い同心円の対比が美しい0.65+iが、54周期で4位にランクイン。
3位:-0.67+0.07i(56周期)
3位にランクインしたのは、56周期の-0.67+0.07i。
どうでもいい話ですが、ジュリア集合の周期とマンデルブロ集合の定義には微分が出てきていました。
ところがwikipedia曰く$${\text{con}(z)}$$は微分不可能らしく、したがって$${\text{con}(z)^2+c}$$のような複素共役変換を含む関数は周期の計算とマンデルブロ集合の描画に必要な初期値を求めることができません。
私が試した限りだと、$${f(z,c)}$$のいい感じの初期値が$${a}$$であるとき、$${f(\text{con}(z),c)}$$の初期値を$${\text{con}(a)}$$にするといいっぽいです。
今回の場合は、$${z^2+c}$$の初期値が0だったので$${\text{con}(z)^2+c}$$の初期値は$${\text{con}(0)=0}$$としました。
2位:0.56+0.77i(66周期)
0.56+0.77iが66周期で2位にランクイン。
本競技でのこれまでの記録は全て偶数なのですが、どうやら奇数の記録が出にくいのは理由があるようです。
$${z^2+c}$$のときと同様に$${\text{con}(z)^2+c}$$のマンデルブロ集合でも「周期因子」を考えることができ、以下のような値になります。
中央の凹んだ3角形の周期因子が1、そのカドに刺さっている楕円状の領域が2、そしてその周りに$${z^2+c}$$と同じように色々な値の領域が接しています。
このような配置になっているため、中央の三角形と飛び地状の領域以外の領域の周期は全て偶数になることがわかります。
1位:0.61+0.86i(108周期)
1位に輝いたのは、108周期の0.61+0.86i。
全体的に控えめな記録の多い競技となりましたが、ジュリア集合の見た目はどれも美しくハイレベルな戦いであったように感じます。
(z^2+c)^2+d
今大会の最後を飾るのは、ダブルス競技の$${(z^2+c)^2+d}$$。
$${c}$$と$${d}$$の2つの複素数のペアで周期を競い合います。
※パラメーターが4つあり、マンデルブロ集合を描画するのに4次元空間が必要になるので描画は諦めました。
集計対象は以下の条件を満たす値です。
$${c}$$、$${d}$$の実部と虚部の小数点以下は1桁
$${c}$$の虚部は0から4まで、他3つの値は-4から4まで
まず桁数が2桁ではなく1桁なのは、変数の個数が増えたことにより集計対象の個数が爆発するのを防ぐためです。
そして2個目の条件は被り対策ですが、今までの競技の条件のようにジュリア集合全体を網羅しているわけではありません。
例えば$${c=-2}$$に固定してマンデルブロ集合を描くと、実部が-4より小さい領域(集計範囲外)までマンデルブロ集合がはみ出してしまいます。
どうやら集計範囲をどれだけ広げてもジュリア集合全体を網羅できなさそうだったので、キリのいい適当な値を範囲に設定することにしました。
5位:(-0.7+0.6i,-0.4+0.8i) (85周期)
(-0.7+0.6i,-0.4+0.8i)が85周期で5位にランクイン。
これまでの5種目とは異なり、$${(z^2+c)^2+d}$$では線ですら繋がっていない「マジの飛び地」が存在するようです。
4位:(0.1+0.1i,-0.7-0.2i)、(-0.4+0.1i,0.5+0.6i)、(-0.7+0.2i,0.1-0.1i) (88周期)
(0.1+0.1i,-0.7-0.2i)、(-0.4+0.1i,0.5+0.6i)、(-0.7+0.2i,0.1-0.1i)の3ペアが、まさかの同率で4位にランクイン。
3組の内の(0.1+0.1i,-0.7-0.2i)と(-0.7+0.2i,0.1-0.1i)は数値が似ておりジュリア集合の形も若干似ているのですが、未知の対称性が存在するのか、はたまた単なる偶然であるかのどちらなのでしょうか?
ちなみに、前回の記事では2つの同率記録に対して「両方5位として、4位は該当なし」と判定しましたが、今回は表彰枠が10枠から5枠ずつに減ったので4位の1枠に3チームを詰め込むことにしました。
3位:(-1+0.8i,-0.4+1.4i) (130周期)
(-1+0.8i,-0.4+1.4i)が130周期で3位にランクイン。
説明し忘れていましたが、$${(z^2+c)^2+d}$$には$${0,±\sqrt{-c}}$$の3つの臨界点があり、今回は0を初期値としたときの周期のみを集計しています。
無視した方の初期値はルートが付いていて何だか扱いにくそう(実際、複素数の平方根の計算は若干面倒です)に見えますが、実は今回は上手い回避方法があります。
$${z_0=\sqrt{-c}}$$のとき、$${z_1=(z_0^2+c)^2+d^2}$$を計算すると$${z_1=d}$$になります。
ということは$${\sqrt{-c}}$$の代わりに$${d}$$を初期値とすれば、1項分の計算をスキップしただけで実質同じ数列を計算することになり、なおかつ複素数の平方根の計算をしなくてもよくなります。
また、$${-\sqrt{-c}}$$を初期値とした場合も$${z_1=d}$$になるので、こちらは$${z_0=\sqrt{-c}}$$と全く同じ結果になるのでもはや計算する必要がありません。
というわけで、0以外2つ(実質1つ)の初期値に対応する競技も簡単に実施可能なのですが、今回はスルーします。
2位:(-1.1+1.2i,0.4+2.5i) (150周期)
$${z^2+c}$$での飛び地ケースそっくりの特徴を持った(-1.1+1.2i,0.4+2.5i)が、150周期で2位にランクイン。
収束する領域が非常に小さく、モノクロ化すると真っ白になってしまうので軌道図をカラーで描画せざるを得ませんでした。
1位:(-1.2+0.6i,-1.2+1.4i) (170周期)
1位の座を勝ち取ったのは、170周期の(-1.2+0.6i,-1.2+1.4i)。
本大会の最後を飾るにふさわしい美しさとなった・・・気がします。
最後に
本大会の競技は以上で終了となります。
次回の開催は未定ですが、競技の選定はほぼ完了しているので機会があればぜひ実施したいと思います。
というわけで、さようなら。