メインコンテンツへスキップ
見出し画像

ニュートンフラクタルと仲間たち

    ※追記(2026/03/25)
    一部の数式が間違っていたので修正しました。Sou様ありがとうございます。

    どうも、108Hassiumです。

    皆さんはニュートン法というものをご存知でしょうか。

    ニュートン法は、例えばx3−2=0x^3-2=0のような方程式の解の近似値を求めるアルゴリズムです。

    手順は簡単で、解きたい方程式をf(x)=0f(x)=0という形にして、初期値を適当に決めて、an+1=an−f(an)f′(an)a_{n+1}=a_n-\frac{f(a_n)}{f'(a_n)}という数列を計算するだけです。

    例えばf(x)=x3−2f(x)=x^3-2とすると、ana_nは以下のような数列になります。

    an+1=an−an3−23an2a_{n+1}=a_n-\frac{a_n^3-2}{3a_n^2}

    a0=1a_0=1として計算すると、以下のようになります。

    • a1=1−13−23×12=43=1.3333…a_1=1-\frac{1^3-2}{3×1^2}=\frac{4}{3}=1.3333…

    • a2=43−(43)3−23×(43)2=9172=1.2638…a_2=\frac{4}{3}-\frac{(\frac{4}{3})^3-2}{3×(\frac{4}{3})^2}=\frac{91}{72}=1.2638…

    • a3=9172−(9172)3−23×(9172)2=22536381788696=1.2599…a_3=\frac{91}{72}-\frac{(\frac{91}{72})^3-2}{3×(\frac{91}{72})^2}=\frac{2253638}{1788696}=1.2599…

    実際の解の一つである23\sqrt[3]{2}も約1.2599なので、少なくとも小数点以下4桁まで一致する近似値が得られていることがわかります。(項数を増やすと精度はもっと上がります)

    ちなみに、f(x)=0f(x)=0を満たすxxを「f(x)f(x)の根こん」と呼び、ニュートン法のような根の計算法を「求根アルゴリズム」と呼ぶそうです。

    ニュートン法の仕組みに関してはwikipediaの説明がこの上なくわかりやすいのでそちらを読んでもらいたいのですが、それはさておきニュートン法には面白い性質があります。

    それは、

    画像

    フラクタル図形の生成に使えるということです。

    初期値を複素数にして、どの初期値がどの根に収束したかで複素平面を色分けするとフラクタル図形が出現するようです。

    このようなフラクタル図形は「ニュートンフラクタル」と呼ばれ、使用する関数によってさまざまな形に変化します。

    また、関数の違い以外にも色々なバリエーションが考えられるので、この記事ではそれらを紹介したいと思います。

    普通のニュートンフラクタル

    まずは普通のニュートンフラクタルから紹介します。

    先ほど載せた画像はf(x)=x3−1f(x)=x^3-1としたもので、その前に計算例として使用したx3−2x^3-2の方は以下のようになります。

    画像
    ☝x^3-2のニュートンフラクタル

    どうやらx3−1x^3-1のものと同じ形っぽいです。

    他の関数も試してみます。

    画像
    ☝x^4-1のニュートンフラクタル
    画像
    ☝x^5-1のニュートンフラクタル

    xn−1x^n-1のニュートンフラクタルは、全てnn回回転対称かつx3−1x^3-1と同じような鎖状の模様になるようです。

    ただし、

    画像
    ☝x^2-1のニュートンフラクタル

    n=2n=2のときは全然面白くない形になります。

    一般に、2次関数のニュートンフラクタルは面白い形にならないようです。

    画像
    ☝x^3-x+1のニュートンフラクタル

    xn−1x^n-1のニュートンフラクタルが回転対称性を持つのは複素平面上での根の配置が回転対称になっているからで、根の対称性を崩すとニュートンフラクタルも非対称になります。

    画像
    ☝x^3-x+1.5のニュートンフラクタル

    さっきのx3−x+1x^3-x+1のものと似ていますが、ところどころに真っ黒い領域があります。

    この黒領域は、x3−x+1.5x^3-x+1.5の3つの根の内のどれにもたどり着かないような初期値を表しています。

    画像
    ☝x^2-1/xのニュートンフラクタル

    多項式だけでなく、分数関数でもニュートンフラクタルは描画できます。

    ちなみにx2−1xx^2-\frac{1}{x}の根はx3−1x^3-1の根と全く同じ組み合わせなのですが、根が同じでも関数が違えば違うニュートンフラクタルが出来上がるようです。

    画像
    ☝1/x^2-1のニュートンフラクタル

    f(x)=1x2−1f(x)=\frac{1}{x^2}-1とするとx−f(x)f′(x)=−12(x3−3x)x-\frac{f(x)}{f'(x)}=-\frac{1}{2}(x^3-3x)となり、「1x2−1\frac{1}{x^2}-1のニュートンフラクタル」と「−12(z3−3z)-\frac{1}{2}(z^3-3z)のジュリア集合」が等しいことがわかります。

    一般化ニュートンフラクタル

    wikipediaの「Newton fractal」のページ(日本語版は無いようです)には、「Generalization of Newton fractals」(ニュートンフラクタルの一般化)という項目があります。

    どうやら、zn+1=zn−af(zn)f′(zn)z_{n+1}=z_n-a\frac{f(z_n)}{f'(z_n)}という式によりニュートンフラクタルの亜種みたいなものをつくれるようです。

    画像
    ☝a=1.7のx^3-1の一般化ニュートンフラクタル
    画像
    ☝a=0.7+0.9iのx^3-1の一般化ニュートンフラクタル

    だいぶ印象が違いますが、3回回転対称であることは変わらないようです。

    画像
    ☝a=1+0.1iのx^3-x+1.5の一般化ニュートンフラクタル

    元々繋がっていた部分が離れ、壊れかけみたいな感じになりました。(黒領域も消えています)

    画像
    ☝a=0.1+0.4iのx^3-x+1.5の一般化ニュートンフラクタル

    各領域の明るさは収束の速度によって変化し、収束が遅いと同心円状の縞模様が現れます。

    普通のニュートン法は収束がかなり速いので縞模様にはなりませんが、一般化ニュートンフラクタルはaaが1から離れるとだんだん収束が遅くなるようです。

    画像
    ☝a=1.9+0.4iのx^2-1の一般化ニュートンフラクタル

    一般化ニュートンフラクタルなら、2次関数でも面白い形が生成できるようです。

    Nova fractal

    一般化ニュートンフラクタルのさらなる一般化として、Nova fractalというものもwikipediaに載っています。

    Nova fractalの漸化式は以下の通りです。

    zn+1=zn−af(zn)f′(zn)+cz_{n+1}=z_n-a\frac{f(z_n)}{f'(z_n)}+c

    一般化ニュートンフラクタルの式に対して、新たな変数ccが追加されています。

    画像
    ☝a=1,c=-0.4のx^3-1のNova fractal

    一般化ニュートンフラクタルには「aaが1から離れるとだんだん収束が遅くなり、ある程度離れるとf(x)f(x)の根には収束しなくなる」という性質がありました。

    しかし、Nova fractalの場合はccを0から少しでもずらすとf(x)f(x)の根に収束しなくなります。

    なので収束先ごとに色分けする意味が薄いと思ったので、今までのものとは別の彩色方法を使っています。

    画像
    ☝a=2.4,c=0.6+1.1iのx^3-1のNova fractal
    画像
    ☝a=-0.2,c=0.5のx^3-1のNova fractal

    wikipediaでは、ccを動かす「Nova fractalのマンデルブロ集合」についても言及しています。

    画像
    ☝a=1のx^3-1のNova fractalのマンデルブロ集合

    wikipediaには「f(x)=x3−1f(x)=x^3-1なら臨界点は1になる」的な感じの記述があるのですが、実際は臨界点が1になるのはa=1a=1のときだけで、aaを動かすと臨界点も変化します。(臨界点は4次方程式の解になります)

    画像
    ☝a=2.4のx^3-1のNova fractalのマンデルブロ集合
    画像
    ☝a=-0.2のx^3-1のNova fractalのマンデルブロ集合

    Nova fractalはもはやニュートン法とはほとんど関係ないただのジュリア集合で、ジュリア/マンデルブロ集合の生成式としては臨界点が簡単に求まらないので不便です。

    Nova fractalと似たようなものが生成出来てなおかつもっと使い勝手のいい式はいくらでもありそうなので、個人的にはNova fractalはあまり面白くない気がします。(例えば、c(z+12z2)+dc(z+\frac{1}{2z^2})+dという式を使えばx3−1x^3-1のNova fractalとよく似たフラクタル図形を生成出来ます)

    簡易ニュートン法

    さて、ここまでの内容はただwikipediaに書いてあることをなぞっただけです。

    ニュートン法のページには関連するほかの求根アルゴリズムがいくつか載っていますが、それらを使ったフラクタル図形については何も言及がありません。

    というわけで、ニュートン法以外の求根アルゴリズムでもニュートンフラクタルのようなフラクタル図形が生成されるのか実験してみます。

    まず初めに、簡易ニュートン法を試してみます。

    簡易ニュートン法はニュートン法における導関数の計算を簡易化したもので、以下の漸化式を使います。

    zn+1=zn−f(zn)f′(z0)z_{n+1}=z_n-\frac{f(z_n)}{f'(z_0)}

    画像
    ☝x^3-1の簡易ニュートンフラクタル

    中央から6方向にのびているカラフルな領域は、znz_nが発散する領域です。

    普通のニュートンフラクタルはジュリア集合の一種でしたが、簡易ニュートンフラクタルはマンデルブロ集合の一種です。

    例えばf(x)=x3−1f(x)=x^3-1のとき、z0=cz_0=cとするとf(x)f(x)の簡易ニュートンフラクタルは「ccを初期値とするz−z3−13c2z-\frac{z^3-1}{3c^2}のマンデルブロ集合」と見做せます。(ちなみにccはz−z3−13c2z-\frac{z^3-1}{3c^2}の臨界点の一つです)

    画像
    ☝x^3-1の簡易ニュートンフラクタル(拡大)

    拡大してみると、いかにもマンデルブロ集合っぽい形になっていることがわかります。

    画像
    ☝x^3-x+1の簡易ニュートンフラクタル
    画像
    ☝x^2-1の簡易ニュートンフラクタル

    q-ニュートン法

    q-ニュートン法は、ニュートン法に対して新たな変数qqを追加したもので、定義は以下の通りです。

    zn+1=zn−(q−1)znf(zn)f(qzn)−f(zn)z_{n+1}=z_n-\frac{(q-1)z_nf(z_n)}{f(qz_n)-f(z_n)}

    ※wikipediaに載っている式は微妙に違うのですが、参考文献として挙げられている論文をパッと見た感じだとこっちが正しそうです。

    この手法が何のために開発され、どの様な性質を持っているのか等は全く分かりませんが、とりあえずqqに適当な値を入れてq-ニュートンフラクタルを描画してみました。

    画像
    ☝q=0.5のx^3-1のq-ニュートンフラクタル

    何だか見覚えのある形になりました。

    a=1.7a=1.7のx3−1x^3-1の一般化ニュートンフラクタルとそっくりです。

    画像
    ☝q=0.5のq-ニュートンフラクタルと、a=1.7の一般化ニュートンフラクタル

    実は、x3−1x^3-1のq-ニュートンフラクタルの式を整理するとzn+1=zn−zn3−1(q2+q+1)zn2z_{n+1}=z_n-\frac{z_n^3-1}{(q^2+q+1)z_n^2}になり、a=3q2+q+1a=\frac{3}{q^2+q+1}とすると一般化ニュートンフラクタルの式と一致します。

    画像
    ☝x^3-1のq-ニュートンフラクタルのマンデルブロ集合(z_0=q)

    ※臨界点は綺麗に求まりませんでした。

    x3−1x^3-1の根に収束する3色の領域に加え、他の値に収束する黒の領域、カオス的になるノイズ状の領域、無限大に発散する虹色の領域という計6種類の領域が混ざり合っています。

    画像
    ☝x^3-x+1.5のq=0.5のq-ニュートンフラクタル

    f(x)=x3−x+1.5f(x)=x^3-x+1.5の場合はzn+1=zn−zn3−zn+1.5(q2+q+1)zn2−1z_{n+1}=z_n-\frac{z_n^3-z_n+1.5}{(q^2+q+1)z_n^2-1}になり、一般化ニュートンフラクタルとは違う式になります。

    画像
    ☝x^3-x+1.5のq=-1.6+0.5iのq-ニュートンフラクタル
    画像
    ☝x^3-x+1.5のq=0.3のq-ニュートンフラクタル
    画像
    ☝x^3-x+1.5のq=-1.5+0.2iのq-ニュートンフラクタル
    画像
    ☝x^3-x+1.5のq=1.2+2iのq-ニュートンフラクタル

    x3−1x^3-1と違い、x3−x+1.5x^3-x+1.5のq-ニュートンフラクタルは根に到達する領域が黒領域や発散領域と混在するのが特徴的です。

    画像
    ☝x^3-x+1.5のq-ニュートンフラクタルのマンデルブロ集合(z_0=q)

    右下の緑の領域をよく観察すると、黒い領域がめり込んでいたり、縁の部分が発散領域に切り取られたような形になっており、それらの領域は黒領域・発散領域と混在する値に対応しています。(q=-1.5+0.2iは右側の方の値で、これも青と黒の領域が重なった位置にあります)

    改良ニュートン法

    wikipediaのニュートン法のページの「改良」の項目の一番最初に載っているもの(名前は不明)を試してみました。

    画像
    ☝x^3-1の改良ニュートンフラクタル

    収束しない領域があるようです。

    wikipedia曰く通常のニュートン法より収束が速いのが長所らしいのですが、完全な上位互換というわけでもないようです。

    ちなみに漸化式は以下のようになりました。

    zn+1=1019zn+234zn4+9zn361zn6+133zn3+19z_{n+1}=\frac{10}{19}z_n+\frac{234z_n^4+9z_n}{361z_n^6+133z_n^3+19}

    次数が高く係数もでかいです。

    式が複雑になるなら2次関数でも面白い形になるのでは、と思ってx2−1x^2-1を試してみました。

    画像
    ☝x^2-1の改良ニュートンフラクタル

    つまんねぇ~。

    割線法

    ニュートン法のページには載っていませんが、こんなものを見つけました。

    割線法では導関数の計算が要らない代わりに、新しい項を計算するのに二つ前までの項を利用します。

    普通のジュリア集合やマンデルブロ集合とは漸化式の種類が違うので、違った感じのフラクタル図形になりそうです。

    画像
    ☝x^3-1のセカントフラクタル(z_0=c,z_1=0)

    発散領域が所々に散らばっていて、かなり華やかな見た目になりました。

    画像
    ☝x^3-1のセカントフラクタル(z_0=0,z_1=c)

    今までのものとは違って初期値に相当するパラメータが2つあり、その組み合わせによって違った見た目のフラクタル図形が生成されるようです。

    画像
    ☝x^3-1のセカントフラクタル(z_0=-1,z_1=c)
    画像
    ☝x^3-1のセカントフラクタル(z_0=c,z_1=-1)
    画像
    ☝x^3-1のセカントフラクタル(z_0=c,z_1=c-1)
    画像
    ☝x^3-1のセカントフラクタル(z_0=c,z_1=i)

    簡易割線法

    こんな求根アルゴリズムを思いつきました。

    zn+1=zn−cf(zn)f(zn+c)−f(zn)z_{n+1}=z_n-\frac{cf(z_n)}{f(z_n+c)-f(z_n)}

    これは割線法のzn−1z_{n-1}をzn+cz_n+cに置き換えたものです。

    画像
    ☝c=1のx^3-1の簡易セカントフラクタル

    非対称なうえに赤一色になりました。

    画像
    ☝c=iのx^3-1の簡易セカントフラクタル

    常に1個の根にしか収束しないのかと思いきや、そうでもないようです。

    どうやらccの値が特定の根に近いと、その根に収束しやすくなるようです。

    画像
    ☝c=-0.5のx^3-1の簡易セカントフラクタル

    3色が混ざることもあるようです。

    画像
    ☝c=0のx^3-1の簡易セカントフラクタル

    導関数の定義より、lim⁡c→0f(x+c)−f(x)c\displaystyle{\lim_{c→0}}\frac{f(x+c)-f(x)}{c}は明らかにf′(x)f'(x)と等しいので、簡易セカントフラクタルのc→0c→0の極限はニュートンフラクタルと一致します。(f(x)f(x)が多項式なら、ccに0を直接代入できるような式変形ができるようです)

    画像
    ☝x^3-1の簡易セカントフラクタルのマンデルブロ集合(z_0=0)

    ※臨界点は綺麗に求まりませんでした。

    画像
    ☝c=0.9のx^2-1の簡易セカントフラクタル
    画像
    ☝c=1.1+0.6iのx^2-1の簡易セカントフラクタル

    2次関数からでもフラクタル図形が生成できるようですが、z2+cz^2+cのジュリア集合と似たような形ばかりであまり面白くは無いようです。

    第2簡易割線法

    zn+1=zn−f(zn)(zn−c)f(zn)−f(c)z_{n+1}=z_n-\frac{f(z_n)(z_n-c)}{f(z_n)-f(c)}

    割線法のzn−1z_{n-1}を定数ccに置き換えてみました。

    画像
    ☝c=-1.5のx^3-1の第2簡易セカントフラクタル
    画像
    ☝c=1+1.2iのx^3-1の第2簡易セカントフラクタル
    画像
    ☝c=0.1+1.9iのx^3-1の第2簡易セカントフラクタル

    全体の形は3回回転対称にはならないものの、点対称(原点中心ではない)になるようです。

    画像
    ☝x^3-1の第2簡易セカントフラクタルのマンデルブロ集合(z_0=-c/2)

    おまけ:多重ニュートンフラクタル

    最後に、記事の主題とは離れますが面白いと思った話題を紹介します。

    「f(x)f(x)のニュートンフラクタル」は「z−f(z)f′(z)z-\frac{f(z)}{f'(z)}のジュリア集合」でもあるわけですが、それなら「x−f(x)f′(x)x-\frac{f(x)}{f'(x)}のニュートンフラクタル」というものを考えることもできるはずです。

    また、「x−f(x)f′(x)x-\frac{f(x)}{f'(x)}のニュートンフラクタル」=「g(z)g(z)のジュリア集合」となるような関数g(z)g(z)に対するニュートンフラクタルだって存在するはずです。

    これを一般化して、以下のような関数列を定義します。

    fn+1(x)=x−fn(x)fn′(x)f_{n+1}(x)=x-\frac{f_n(x)}{f_n'(x)}

    適当な関数をf0(x)f_0(x)に選んでfn(x)f_n(x)のニュートンフラクタルを順番に描画していったらどうなるでしょうか?

    というわけで、まずはf0(x)=x3−1f_0(x)=x^3-1を選びました。

    画像
    ☝f_0(x)のニュートンフラクタル

    今まで何度も見てきた、x3−1x^3-1のニュートンフラクタルです。

    画像
    ☝f_1(x)のニュートンフラクタル

    細部の形はf0(x)f_0(x)のものと似ていますが、違った形のニュートンフラクタルになりました。

    これからさらに面白い形になっていきそうですね。

    画像
    ☝f_2(x)のニュートンフラクタル

    あれ?

    画像
    ☝f_3(x)のニュートンフラクタル

    え?

    画像
    ☝f_4(x)のニュートンフラクタル

    は?

    画像
    ☝f_0(x)~f_7(x)のニュートンフラクタル

    つまんねぇ~。

    どうやら最初の2個が特殊だったようで、その後は2種類の形が交互に並ぶだけになるようです。

    ちなみにfn(x)f_n(x)は以下のような式になりました。

    • f0(x)=x3−1f_0(x)=x^3-1

    • f1(x)=23x+13x2f_1(x)=\frac{2}{3}x+\frac{1}{3x^2}

    • f2(x)=−3x2x3−2f_2(x)=-\frac{3x}{2x^3-2}

    • f3(x)=32x−3x4x3+2f_3(x)=\frac{3}{2}x-\frac{3x}{4x^3+2}

    • f4(x)=3x2x3+4f_4(x)=\frac{3x}{2x^3+4}

    • f5(x)=32x+3x2x3−2f_5(x)=\frac{3}{2}x+\frac{3x}{2x^3-2}

    • f6(x)=−3xx3−4f_6(x)=-\frac{3x}{x^3-4}

    • f7(x)=32x−3xx3+2f_7(x)=\frac{3}{2}x-\frac{3x}{x^3+2}

    • f8(x)=6xx3+8f_8(x)=\frac{6x}{x^3+8}

    規則性はよくわかりませんが、似たような式ばかりですね。

    フラクタル図形の話題としては面白く無いですが、これはこれで数学的におもしろいかもしれませんね。

    次はx4−1x^4-1です。

    画像
    ☝f_0(x)のニュートンフラクタル
    画像
    ☝f_1(x)のニュートンフラクタル
    画像
    ☝f_2(x)のニュートンフラクタル
    画像
    ☝f_3(x)のニュートンフラクタル

    またかよ。

    どうやらある程度簡単な形(基準は不明)の関数だと、途中で根の個数が減って面白さが枯渇するようです。

    f0(x)=x3−x+1f_0(x)=x^3-x+1の場合は、そのような傾向はみられませんでした。

    画像
    ☝f_0(x)のニュートンフラクタル
    画像
    ☝f_1(x)のニュートンフラクタル
    画像
    ☝f_2(x)のニュートンフラクタル
    • f0(x)=x3−x+1f_0(x)=x^3-x+1

    • f1(x)=23x+2x−39x2−3f_1(x)=\frac{2}{3}x+\frac{2x-3}{9x^2-3}

    • f2(x)=−4x3−9x2+16x4−6x2+6xf_2(x)=-\frac{4x^3-9x^2+1}{6x^4-6x^2+6x}

    • f3(x)=2x+94+130x5+36x4−36x3−77x2+18x−916x6−72x5+16x4−16x3+36x2−8x+4f_3(x)=2x+\frac{9}{4}+\frac{130x^5+36x^4-36x^3-77x^2+18x-9}{16x^6-72x^5+16x^4-16x^3+36x^2-8x+4}

    この先はめちゃくちゃ複雑な式になりそうなので計算を諦めました。

    f0(x)=x2+x−1f_0(x)=x^2+x-1は、かなり意外性のある結果になりました。

    画像
    ☝f_0(x)のニュートンフラクタル

    f1(x)=12x−14−58x+4f_1(x)=\frac{1}{2}x-\frac{1}{4}-\frac{5}{8x+4}

    画像
    ☝f_1(x)のニュートンフラクタル

    f2(x)=12−5x2x2+2x−2f_2(x)=\frac{1}{2}-\frac{5x}{2x^2+2x-2}

    画像
    ☝f_2(x)のニュートンフラクタル

    f3(x)=−15x2+85x+75−6x+85x2+5f_3(x)=-\frac{1}{5}x^2+\frac{8}{5}x+\frac{7}{5}-\frac{6x+8}{5x^2+5}

    画像
    ☝f_3(x)のニュートンフラクタル

    f4(x)=12x+2+23x4−9x3+42x2+29x+32x5−8x4+4x3−22x2−14x−2f_4(x)=\frac{1}{2}x+2+\frac{23x^4-9x^3+42x^2+29x+3}{2x^5-8x^4+4x^3-22x^2-14x-2}

    最初の2個は面白くない形だったのに、急に面白くなりました。

    追記:メーリーの手順

    記事の投稿後、wikipediaを眺めてたら面白いものを新たにいくつか見つけたので追記します。

    まず、ニュートン法の英語版のページで「Maehly's procedure」という項目を見つけました。

    f(x)f(x)の根x1,x2,x3…x_1,x_2,x_3…がすでに見つかっている場合、f(x)f(x)の代わりにf(x)(x−x1)(x−x2)(x−x3)…\frac{f(x)}{(x-x_1)(x-x_2)(x-x_3)…}のニュートン法の計算をすることで未発見の根を見つけられるだろう、とのことです。

    これを基にして、以下のような操作を考えました。

    1. f(x)f(x)ニュートン法の計算をして、根rrを1個求める

    2. f(x)x−r\frac{f(x)}{x-r}のニュートン法の計算をして、収束先に応じて初期値を彩色する

    画像
    ☝x^3-1のメーリーフラクタル

    領域の境界線は普通のニュートンフラクタルとほぼ同じですが、色分けのされ方が変わりました。

    新たに出現した3本の直線は、x3−1x−1\frac{x^3-1}{x-1}、x3−1x−−1+−32\frac{x^3-1}{x-\frac{-1+\sqrt{-3}}{2}}、x3−1x−−1−−32\frac{x^3-1}{x-\frac{-1-\sqrt{-3}}{2}}のニュートンフラクタルの境界線で、3つとも2次関数なので直線になっています。

    画像
    ☝x^4-1のメーリーフラクタル

    f(x)f(x)が4次だとf(x)x−r\frac{f(x)}{x-r}は3次になるので、5種類のフラクタル図形が混ざり合った複雑な模様が出来上がります。

    ただし、異なる種類のフラクタル図形が重なっただけのような見た目になるので美しさはイマイチです。

    ハレー法

    ニュートン法の日本語版のページには「反復法」というページへのリンクがあり、反復法のページには「ハレー法」という求根アルゴリズムが載っています。

    どうやら改良ニュートン法と同じく、収束の速さが売りの手法らしいです。

    画像
    ☝x^3-1のハレーフラクタル

    なんか見覚えが・・・と思ったら、実は最初の方で紹介したx2−1xx^2-\frac{1}{x}のニュートンフラクタルと全く同じです。

    元々「分数関数でもニュートンフラクタルが作れる」「根が同じでも関数が違えば違うニュートンフラクタルになる」ということの説明をするだけの為に載せていたのですが、まさかこんな裏の顔があるとは思いませんでした。

    画像
    ☝x^3-x+1のハレーフラクタル
    画像
    ☝x^4-1のハレーフラクタル

    ハウスホルダー法

    ニュートン法とハレー法の一般化として、ハウスホルダー法というものがあるようです。

    g(x)=1f(x)g(x)=\frac{1}{f(x)}として、an+1=an+dg(d−1)(an)g(d)(an)a_{n+1}=a_n+d\frac{g^{(d-1)}(a_n)}{g^{(d)}(a_n)}(g(d)(x)g^{(d)}(x)はg(x)g(x)のdd階導関数という数列を計算するという手法で、d=1d=1がニュートン法、d=2d=2がハレー法だそうです。


    画像
    ☝d=1のx^3-1のハウスホルダーフラクタル(=ニュートンフラクタル)
    画像
    ☝d=2のx^3-1のハウスホルダーフラクタル(=ハレーフラクタル)
    画像
    ☝d=3のx^3-1のハウスホルダーフラクタル
    画像
    ☝d=4のx^3-1のハウスホルダーフラクタル
    画像
    ☝d=5のx^3-1のハウスホルダーフラクタル
    画像
    ☝d=1のx^3-x+1のハウスホルダーフラクタル(=ニュートンフラクタル)
    画像
    ☝d=2のx^3-x+1のハウスホルダーフラクタル(=ハレーフラクタル)
    画像
    ☝d=3のx^3-x+1のハウスホルダーフラクタル
    画像
    ☝d=4のx^3-x+1のハウスホルダーフラクタル

    地味ですね。


     
     
    数学関係の記事を書きます。毎週日曜更新予定。

    あなたへのおすすめ