ニュートン法によるフラクタル(5) ~漸化式を一般化~
英語版 Wikipedia の newton fractal の記事によると、今まで見てきたニュートン法による漸化式は、実はまだ特殊なケースだったんだとか。
さらに一般化した漸化式は以下のとおり。
zn+1 = zn - a * (znm - 1) / (m * znm-1)
右辺の zn – の後ろに a * が加わりました。この a は複素数とのこと。
今まで見てきた漸化式は a = 1.0 + 0.0i に限定された特殊ケースだったんですね。
今回は a をいろいろ変えた場合、どのような図像になるのか、というのを見てみました。
計算量が一番少ない z3 – 1 の場合で、いろいろコードを組んでみたのが↓です。
ニュートン法によるフラクタル(5) ~漸化式の一般化~ – wonderfl build flash online
ニュートン法によるフラクタル(4) ~3乗以外の冪乗で根による塗り分け~
今回は前々回の「根による塗り分け」と、前回の「3乗以外の冪乗」、このふたつの複合技です。
色分けはRGB の組み合わせで簡単にすませたかったので、以下の4パターンをコード化してみました。
z3 - 1 = 0
z4 - 1 = 0
z5 - 1 = 0
z6 - 1 = 0
ニュートン法によるフラクタル(4) ~3乗以外の冪乗で根による塗り分け~ – wonderfl build flash online
ニュートン法によるフラクタル(3) ~3乗以外の冪乗~
ニュートン法によるフラクタル(3) ~3乗以外の冪乗~ – wonderfl build flash online
前々回、前回と以下の方程式および漸化式のニュートン・フラクタルを見ました。
方程式
z3 - 1 = 0
漸化式
zn+1 = zn - (zn3 - 1) / (3 * zn2)
これは何度も触れているように立方根の場合でしたが、この漸化式、以下のように一般化できるということです。
方程式
zm - 1 = 0
漸化式
zn+1 = zn - (znm - 1) / (m * znm-1)
ニュートン法によるフラクタル(2) ~根による塗り分け~
前回、以下の方程式のニュートン・フラクタルを見ましたが、この方程式は一体何を意味しているのでしょうか。
z3 - 1 = 0
以下のように変形するとすぐ分りますね。
3乗すると 1 になる z 、すなわち 1 の立方根を求める方程式です。
z3 = 1
複素数の場合、この方程式の解、つまり 1 の立方根は、カルダノの公式というものから、以下の3つが計算によって求められるということです。
1 + 0i
-0.5 + ((√3) / 2)i
-0.5 - ((√3) / 2)i
ニュートン法によるフラクタル(1)
ニュートン法というものがあるらしい。
数値計算を反復して方程式の解を求る方法だとか。
その方程式を f(x) = 0 とするとき、ニュートン法では以下の漸化式が導かれるそうです。
xn+1 = xn - f(xn) / f'(xn)
f'(x) というのは f(x) の導関数というもので、微分方程式で出てくるもののもよう。
x0 に適当な値をとって、漸化式を実行すると x に収束することが多いとのこと。
まぁ細かいことは Wikipedia の「ニュートン法」あたりを参照してください。
ところで、マンデルブロ集合にしてもジュリア集合にしても、複素平面における各座標値の漸化式における発散度合で色を塗り分けていました。
そして、このニュートン法による漸化式と複素数との組み合わせも、かなり面白いフラクタル画像を描きます。英語では newton fractal と呼ぶようです。例えばこんなの↓