跳轉到內容

分形/複平面上的迭代/boettcher

來自華夏公益教科書,開放的書籍,開放的世界

Boettcher 函式將 Mandelbrot 集(Julia 集)的補集共形對映到閉合單位圓盤的補集。

引數平面上的復勢

[編輯 | 編輯原始碼]
勢的梯度

復勢

動力學平面上的復勢

[編輯 | 編輯原始碼]

是一個度數為 d 的多項式,並且 那麼多項式 p 的格林函式



外部補集填充的 Julia 集是

可以使用以下方法進行分析

  • 逃逸時間(簡單但只給出徑向值 = 逃逸時間)LSM/J,
  • 距離估計(更高階,連續,但只給出徑向值 = 距離)DEM/J
  • Boettcher 座標或復勢(最佳)

"由於 Bottcher 定理[1],對 多項式 的動力學比對一般有理對映的動力學理解要好得多"

超吸引不動點

[編輯 | 編輯原始碼]

對於 復二次多項式,存在許多 超吸引不動點乘子 = 0)

  • 無窮大(對於多項式來說,它始終是超吸引不動點)。在這種情況下,Julia 集的外部是超吸引域
  • 當 c 是 Mandelbrot 集的任何雙曲分量的中心(核) 時,Julia 集的內部是一個超吸引域
    • 是對映 的有限超吸引不動點
    • 是對映 的兩個有限超吸引不動點。
    • 其他中心

描述

[edit | edit source]

靠近[2]超吸引不動點(例如無窮大)時,離散動力系統[3] 的行為

基於 復二次多項式

基於

它可以被視為在兩個座標系中觀察的同一個動力系統

  • 簡單(w)
  • 難以分析(z)

[3]

換句話說,對映 在無窮遠處與對映 共軛 [4][5]

名稱

[edit | edit source]
  • 是Boettcher座標
  • 是Boettcher函式 [6]
  • Boettcher函式方程:[7][8]
 

其中

 


復勢或Boettcher座標具有

  • 徑向值(實勢)LogPhi = CPM/J = 格林函式的值
  • 角值(外部角)ArgPhi

這兩個值都可以用於 使用二維梯度著色

計算

[edit | edit source]

數值解

[edit | edit source]

方法

[edit | edit source]
原始方法
[編輯 | 編輯原始碼]

Boettcher 函式方程:[9]


其中

  • f 是一個給定的函式,在固定點 x 的鄰域內解析
  • F 是 Boettcher 函式

當固定點 x 是超吸引時


一個“基本演算法”



是一個函式,使得



那麼函式方程的一般解由下式給出


其中 Q 是任意常數。

Mathemathica
[編輯 | 編輯原始碼]

Mathemathica 中的公式[10]


要計算 Boettcher 座標 ,使用此公式[11]

看起來“很簡單”,但是



PDE 的方法
[編輯 | 編輯原始碼]

為了在給定域 上顯式構造黎曼對映,使用以下 PDE 方法[12]

  • 首先,平移域,使其包含原點
  • 接下來,使用數值方法構造一個調和函式 ,滿足 對於所有 ,並令

然後 ,以及 是調和的,因此 上的黎曼對映的徑向分量(即模數)。

現在可以透過以下事實確定角分量:它的等值線與 的等值線垂直,並且在原點附近具有相同的角間距。

例子

[edit | edit source]
巴塞利卡茱莉亞集
[edit | edit source]
  • 是曼德勃羅集的週期 2 雙曲分量的中心
  • 不動點
  • 超吸引 2 點迴圈(極限迴圈):(週期為 2)
  • 2 條 外部射線 降落在不動點 上,它是中心為 z=-1 的填充茱莉亞集分量的根點
  • 巴塞利卡的捏合點是外部射線角為形式為 的點的,對於某些 k,n∈Nk, n ∈ Nk,n∈N。
中心分量
[edit | edit source]
巴塞利卡層壓結構

描述

  • 中心有界法圖分量
  • 大的中心分量,其中包含複平面的原點
  • 它是巴塞利卡層壓結構中的中心間隙的商,即包含圓盤中心點的間隙
  • 它是透過將圍繞該間隙的無限多箇中心弧線都塌縮到中心間隙中得到的。我們可以使用二元有理數對這些中心弧線進行標記。每個中心弧線對應於中心分量 C 的邊界 ∂C 上的一個點。這些點在 ∂C 中是稠密的,用二元數標記中心弧線會在 ∂C 和單位圓之間產生一個定義良好的同胚對映[13]

  • alpha 固定點及其前像[14]
Boettchers 方程
[編輯 | 編輯原始碼]

Maxima CAS 原始碼 

(%i1) kill(all);
(%o0)                                done
(%i1) remvalue(all);
(%o1)                                 []
(%i2) display2d:false;

(%o2) false
(%i3) define(f(z), z^2-1);

(%o3) f(z):=z^2-1
(%i4) a:factor(f(f(z)));

(%o4) z^2*(z^2-2)
(%i5) 
 taylor(a,z,0,14);

(%o5) (-2*z^2)+z^4


它給出了 Böttcher 的函式方程[15]


 


求解上述函式方程,得到 Boettcher 對映


巴氏曲線中心分量的黎曼對映
[編輯 | 編輯原始碼]

方法由 James M. Belk 用於

  • 繪製外部射線
  • 巴氏曲線中心分量的黎曼對映[16]

描述

  • 選擇具有已知 Bottcher 座標的起點:中心分量邊界上的二元點
  • 計算這些點的非常大量的逆像
  • 繪製穿過正確點序列的曲線

以下是繪製二次 Julia 集等勢線的步驟摘要

  • 從以原點為中心的半徑很大(例如 R = 2^16)的圓上,取大量(例如 3 * 2^13)等間隔的樣本點。注意,由於半徑很大,該圓基本上是 Julia 集的等勢線。
  • 計算該圓的逆像上的等量點(這也基本上是一個等勢線,其半徑是 R 的平方根)。注意,每個原始點都有兩個前像,因此必須在每種情況下確定使用哪個前像。
  • 迭代步驟 2,生成大量(例如 50 個)收斂到 Julia 集的等勢線上的樣本點。


如果你想繪製外部射線,可以使用在不同等勢線上的對應點之間繪製分段線性路徑。當然,由此產生的外部射線在樣本點之間將是直線,但你可以透過使用多個等勢線軌跡來解決這個問題。

巴氏曲線中心分量的黎曼對映的繪製方式基本相同,只是它不是從大圓上的點開始,而是從以原點為中心的半徑很小(例如 0.00001)的圓上的樣本點開始。

泡泡浴 Julia 集
[編輯 | 編輯原始碼]

Bottcher 對映是定義良好的(直到選擇將哪個射線對映到角度為零為止),這是由上一頁第 42 頁的定理確定的


對於 泡泡浴 Julia 集[17]  

 


一個交換圖(描述函式複合的圖形)



這裡

  • 是中間氣泡(分量),其中心是 z=0
  • 是開單位圓盤,其中心是 w=0
  • 是將單位圓盤對映到自身的函式 ,其方程為
  • 是將中間氣泡對映到自身的函式 ,其方程為
  • 是 Boettcher 對映,它將中間氣泡對映到單位圓盤


Maxima CAS 程式碼

a:factor(f(f(f(z))));

(%o10)(z^4*(z^4-4*z^2+2))/(2*z^2-1)^2

 taylor(a,z,0,14);

(%o11) 2*z^4+4*z^6+9*z^8+20*z^10+44*z^12+96*z^14



在上方的方框圖中,圖表的交換性意味著

.

它給出 Böttcher 的函式方程[18]


 


求解上述函式方程,得到 Boettcher 對映

顯式閉合形式解

[edit | edit source]
  • 冪對映
  • 切比雪夫多項式


c = -2

[edit | edit source]
極座標系和 對於

對於 c = -2,Julia 集是實軸上 -2 到 2 之間的水平線段:[19]


現在

  • 等勢線是橢圓
  • 場線是雙曲線
  • Boettcher 對映及其逆具有顯式方程(閉合形式表示式[20]


其中分支切割被認為與 重合


另見

歷史

[edit | edit source]

1904 年 LE Boettcher:[22]

  • 解決了 Schröder 函式方程[23][24],對應於超吸引不動點[25][26]
  • "證明了存在一個解析函式 附近,它將多項式與 共軛,即 " (Alexandre Eremenko) [27]

LogPhi - Douady-Hubbard 勢 - 實勢 - 復勢的徑向分量

[edit | edit source]

近似到分形的距離[28]

  • 它是平滑的
  • 它在分形處為 0,在無窮遠處為 log|z|



勢函式和實迭代次數

[edit | edit source]

對於 ,Julia 集是單位圓,在外面的 Fatou 域上,勢函式 φ(z) 定義為 φ(z) = log|z|。該函式的等勢線是同心圓。由於 ,我們有

其中 是由 z 生成的迭代序列。對於更一般的迭代 ,已證明如果 Julia 集是連通的(即如果 c 屬於(通常的)Mandelbrot 集),那麼存在一個 雙全純對映 ψ 在外部 Fatou 域和單位圓的外部之間,使得 .[29] 這意味著由這種對應關係定義的外部 Fatou 域上的勢函式由下式給出

此公式在 Julia 集不連通時也有意義,因此對於所有 c,我們可以用此公式定義包含 ∞ 的 Fatou 域上的勢函式。對於一般有理函式 f(z),使得 ∞ 是一個臨界點和一個不動點,即,使得分子的次數 m 至少比分母的次數 n 大 2,我們透過以下公式定義包含 ∞ 的 Fatou 域上的 勢函式

其中 d = mn 是有理函式的次數。[30]

如果 N 是一個非常大的數(例如 10100),並且如果 k 是第一個迭代次數使得 ,那麼我們有

對於某個實數 ,應該被視為實際迭代次數,並且我們有

其中最後一個數在區間 [0, 1) 中。

對於指向階數為 r 的有限吸引迴圈的迭代,我們有,如果 z* 是迴圈中的一個點,那麼 r 次複合),並且數字

是迴圈的吸引力。如果w是一個非常接近z*的點,w'w迭代r次的結果,那麼我們有

因此,數字 幾乎與k無關。我們在Fatou域上定義勢函式為

如果ε是一個非常小的數字,k是第一個迭代次數,使得 ,那麼我們有

對於某個實數,它應該被視為真實的迭代次數,我們有

如果吸引力是∞,這意味著迴圈是超吸引的,再次意味著迴圈中的一個點是臨界點,我們必須用以下公式替換α

其中w'w迭代r次的結果,而φ(z)的公式為

現在,真實的迭代次數由下式給出:

為了著色,我們必須有一個迴圈的色標(用數學方法構建,例如),幷包含從 0 到 H−1 的 H 種顏色(例如,H = 500)。我們將實數 乘以一個固定的實數,該實數決定了影像中顏色的密度,然後取該數字模 H 的整數部分。

勢函式的定義和我們的著色方法假設迴圈是吸引的,即不是中性的。如果迴圈是中性的,我們就不能以自然的方式對法圖域進行著色。由於迭代的終點是一個旋轉運動,我們可以例如透過迭代保持不變的迴圈的最小距離進行著色。

CPM/J

[edit | edit source]
填充的Julia集的勢
使用兩種方法計算的勢圖:簡單和完整

注意,Kc內部的勢為零,因此

虛擬碼版本

if (LastIteration==IterationMax)
 then potential=0    /* inside  Filled-in Julia set */
 else potential= GiveLogPhi(z0,c,ER,nMax); /* outside */

它還消除了log(0)的潛在錯誤。

完整版本

[edit | edit source]

數學(完整)符號:[31]

Maxima(完整)函式

GiveLogPhi(z0,c,ER,nMax):=
block(
 [z:z0,
 logphi:log(cabs(z)),
 fac:1/2,
 n:0],
 while n<nMax and abs(z)<ER do
 (z:z*z+c,
 logphi:logphi+fac*log(cabs(1+c/(z*z))),
 n:n+1
 ),
 return(float(logphi))
)$

簡化版本

[edit | edit source]

多項式 f 的逃逸速率函式定義為

其中

"函式Gp在C上是連續的,在Julia集的補集上是調和的。它在K(f)上恆等於零,並且因為它在無窮遠處具有對數極點,所以它是C/K(f)的格林函式。" (Laura G. DeMarco)[32]

簡化的數學公式

Maxima函式

GiveSLogPhi(z0,c,e_r,i_max):=
 block(
  [z:z0,
   logphi,
   fac:1/2,
   i:0
  ],
  while i<i_max and cabs(z)<e_r do
  (z:z*z+c,
    fac:fac/2,
    i:i+1
  ),
 logphi:fac*log(cabs(z)),
 return(float(logphi))
)$

如果您不檢查軌道是否無界(逃逸,逃逸測試),則使用此Maxima函式

GiveSLogPhi(z0,c,e_r,i_max):=
block(
 [z:z0, logphi, fac:1/2, i:0],
  while i<i_max and cabs(z)<e_r do
   (z:z*z+c,
    fac:fac/2,
    i:i+1 ),
   if i=i_max
    then logphi:0
    else logphi:fac*log(cabs(z)),
   float(logphi) 
)$

C版本

double jlogphi(double zx0, double zy0, double cx, double cy)
/* this function is based on function by W Jung http://mndynamics.com */
{ 
 int j; 
 double 
 zx=zx0,
 zy=zy0,
 s = 0.5, 
 zx2=zx*zx,
 zy2=zy*zy,
 t;
 for (j = 1; j < 400; j++)
 { s *= 0.5; 
  zy = 2 * zx * zy + cy;
  zx = zx2 - zy2 + cx; 
  zx2 = zx*zx; 
  zy2 = zy*zy;
  t = fabs(zx2 + zy2); // abs(z)
  if ( t > 1e24) break; 
 } 
return s*log2(t);  // log(zn)* 2^(-n)
}//jlogphi

R. Grothmann 的 Euler 版本(帶有小改動:從 z^2-c 到 z^2+c):[33]

function iter (z,c,n=100) ...

h=z;
loop 1 to n;
h=h^2+c;
if totalmax(abs(h))>1e20; m=#; break; endif;
end;
return {h,m};
endfunction

x=-2:0.05:2; y=x'; z=x+I*y;
{w,n}=iter(z,c);
wr=max(0,log(abs(w)))/2^n;

勢能的等值線 = pLSM/J

[編輯 | 編輯原始碼]

這是一個 Delphi 函式,用於返回電勢的等級 

Function GiveLevelOfPotential(potential:extended):integer;
 var r:extended;
 begin
    r:= log2(abs(potential));
    result:=ceil(r);
 end;

電勢水平曲線 = 等勢線 = pLCM/J

[編輯 | 編輯原始碼]

連續電勢公式與迭代帶不完全匹配

ArgPhi - 外角(覆電勢的角分量)和外部射線

[編輯 | 編輯原始碼]

可以從無窮大吸引盆地的二進位制分解開始。

第二步可以使用


倍增對映下角的週期

[編輯 | 編輯原始碼]

如何在倍增對映下找到以圈數為單位測量的外角的週期 

這是 Common Lisp 程式碼 

(defun give-period (ratio-angle)
  "gives period of angle in turns (ratio) under doubling map"
  (let* ((n (numerator ratio-angle))
	 (d (denominator ratio-angle))
	 (temp n)) ; temporary numerator
    
    (loop for p from 1 to 100 do 
	  (setq temp  (mod (* temp 2) d)) ; (2 x n) modulo d = doubling)
	  when ( or (= temp n) (= temp 0)) return p )))

Maxima CAS 程式碼 

doubling_map(n,d):=mod(2*n,d);

/* catch-throw version by Stavros Macrakis, works */
GivePeriodOfAngle(n0,d):=
catch(
      block([ni:n0],
          for i thru 200 do if (ni:doubling_map(ni,d))=n0 then throw(i),
          0 ) )$

/* go-loop version, works */
GiveP(n0,d):=block(
[ni:n0,i:0],
block(
  loop,
  ni:doubling_map(ni,d),
  i:i+1,
  if i<100 and not (n0=ni) then go(loop)
),
if (n0=ni) 
	then i 
	else 0
);

/* Barton Willis while version without for loop , works */
GivePeriod(n0,d):=block([ni : n0,k : 1],
  while (ni : doubling_map(ni,d)) # n0 and k < 100 do (
    k : k + 1),
  if k = 100 then 0 else k)$

計算外角

外角(幅角)是 Boettcher 座標 的幅角

因為 Boettcher 座標是 複數 的乘積


所以 乘積的幅角 是 

動態外部射線

[編輯 | 編輯原始碼]

動態外部射線的描述


動力平面的層壓

[編輯 | 編輯原始碼]
兔子 Julia 集的層壓

這裡有一個 長描述

參考文獻

[編輯 | 編輯原始碼]
  1. 關於配對的概念,作者:CARSTEN LUNDE PETERSEN 和 DANIEL MEYER
  2. 維基百科中的鄰域
  3. Keith Briggs 關於 George Szekeres 關於函式方程的工作
  4. 維基百科中的拓撲共軛
  5. Wolf Jung 如何繪製外部射線
  6. Wolfram : MandelbrotSetBoettcher 函式
  7. 超運算維基中的 Böttcher 方程
  8. 維基百科 : Böttcher 方程
  9. Lucjan Emil Böttcher 及其數學遺產,作者:Stanisław Domoradzki,Małgorzata Stawiska
  10. Wolfram 語言 : JuliaSetBoettcher
  11. Wolf Jung 如何繪製外部射線
  12. math.stackexchange 問題:顯式黎曼對映
  13. 巴塞利卡的湯普森群,作者:James Belk,Bradley Forrest
  14. "巴塞利卡 Julia 集的擬對稱群",Serhiy Merenkov,2020 年 3 月 26 日 NYGT 研討會演講
  15. 維基百科中的 Böttcher 方程
  16. 巴塞利卡的湯普森群,作者:James Belk,Bradley Forrest
  17. 氣泡浴 Julia 集的類 Thompson 群,作者:Jasper Weinrich-Burd,2013 年
  18. 維基百科中的 Böttcher 方程
  19. 分形之美 - Heinz-Otto Peitgen 和 Peter Richter 編著,第 63 頁
  20. 維基百科  : 封閉形式表示式
  21. John D. Cook 的茹科夫斯基變換
  22. 維基百科 : Lucjan_Böttcher
  23. 維基百科中的施羅德方程
  24. Lucjan Emil Böttcher 及其數學遺產,作者:Stanislaw Domoradzki, Malgorzata Stawiska
  25. L. E. Boettcher,迭代收斂的主要規律及其在分析中的應用(俄語),Izv. Kazan. fiz.-Mat. Obshch. 14) (1904), 155-234.
  26. 維基百科 : Böttchers_equation
  27. Mathoverflow : 迭代多項式的規模增長
  28. da Silva, V., Novello, T., Lopes, H., Velho, L. (2021). 即時渲染複雜分形。在:Marrs, A., Shirley, P., Wald, I. (eds) 光線追蹤寶石 II. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-7185-8_33
  29. Adrien Douady 和 John H. Hubbard,復多項式的動力學研究,Orsay 數學預出版物 2/4 (1984 / 1985)
  30. Peitgen, Heinz-Otto; Richter Peter (1986). 分形的美麗. Heidelberg: Springer-Verlag. ISBN 0-387-15851-0.
  31. 分形的美麗,第 65 頁
  32. 有理對映的全純族:動力學、幾何和勢理論。Laura G. DeMarco 提交的論文
  33. R. Grothmann 的 Euler 例子
華夏公益教科書