分形/复平面上的迭代/boettcher
Boettcher 函数将 Mandelbrot 集(Julia 集)的补集共形映射到闭合单位圆盘的补集。
设 是一个度数为 d 的多项式,并且 那么多项式 p 的格林函数 是
- 吸引域 的 无穷大(超吸引不动点),所以所有多项式在该吸引域中的动力学都是相同的!!!
- 是 Fatou 集的组成部分 之一
可以使用以下方法进行分析
- 逃逸时间(简单但只给出径向值 = 逃逸时间)LSM/J,
- 距离估计(更高级,连续,但只给出径向值 = 距离)DEM/J
- Boettcher 坐标或复势(最佳)
"由于 Bottcher 定理[1],对 多项式 的动力学比对一般有理映射的动力学理解要好得多"
- 无穷大(对于多项式来说,它始终是超吸引不动点)。在这种情况下,Julia 集的外部是超吸引域
- 当 c 是 Mandelbrot 集的任何双曲分量的中心(核) 时,Julia 集的内部是一个超吸引域
- 是映射 的有限超吸引不动点
- 和 是映射 的两个有限超吸引不动点。
- 其他中心
-
p = 1
-
p=2
-
p=3 兔子
-
p=3 飞机
-
p=4 兔子
-
p=17
描述
[edit | edit source]靠近[2]超吸引不动点(例如无穷大)时,离散动力系统[3] 的行为
基于 复二次多项式 与
基于
它可以被视为在两个坐标系中观察的同一个动力系统
- 简单(w)
- 难以分析(z)
名称
[edit | edit source]
其中
复势或Boettcher坐标具有
- 径向值(实势)LogPhi = CPM/J = 格林函数的值
- 角值(外部角)ArgPhi
这两个值都可以用于 使用二维梯度着色。
计算
[edit | edit source]数值解
[edit | edit source]方法
[edit | edit source]Boettcher 函数方程:[9]
其中
- f 是一个给定的函数,在固定点 x 的邻域内解析
- F 是 Boettcher 函数
当固定点 x 是超吸引时
一个“基本算法”
令 是一个函数,使得
那么函数方程的一般解由下式给出
其中 Q 是任意常数。
Mathemathica 中的公式[10]
要计算 Boettcher 坐标 ,使用此公式[11]
看起来“很简单”,但是
- 复数的平方根给出两个值,因此必须选择一个值
- 在 Julia 集附近需要更高的精度
为了在给定域 上显式构造黎曼映射,使用以下 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]
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)的圆上的样本点开始。
Bottcher 映射是定义良好的(直到选择将哪个射线映射到角度为零为止),这是由上一页第 42 页的定理确定的
一个交换图(描述函数复合的图形)
这里
- 是中间气泡(分量),其中心是 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 = m − n 是有理函数的次数。[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]注意,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;
这是一个 Delphi 函数,用于返回电势的等级
Function GiveLevelOfPotential(potential:extended):integer; var r:extended; begin r:= log2(abs(potential)); result:=ceil(r); end;
连续电势公式与迭代带不完全匹配
可以从无穷大吸引盆地的二进制分解开始。
第二步可以使用
如何在倍增映射下找到以圈数为单位测量的外角的周期
这是 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 坐标是 复数 的乘积
所以 乘积的幅角 是
这里有一个 长描述
- Ricardo A. Oliva: 关于复 Henon 映射动力学中外部射线的组合学。
- Jasper Weinrich-Burd 的气泡浴 Julia 集的类 Thompson 群 Boettcher 映射和内部射线
- Alastair Fletcher 关于不动点附近的不动曲线
- Geoffrey Irving 通过 Böttcher 级数的 Mandelson 集面积 和 colab 文档描述
- ↑ 关于配对的概念,作者:CARSTEN LUNDE PETERSEN 和 DANIEL MEYER
- ↑ 维基百科中的邻域
- ↑ Keith Briggs 关于 George Szekeres 关于函数方程的工作
- ↑ 维基百科中的拓扑共轭
- ↑ Wolf Jung 如何绘制外部射线
- ↑ Wolfram : MandelbrotSetBoettcher 函数
- ↑ 超运算维基中的 Böttcher 方程
- ↑ 维基百科 : Böttcher 方程
- ↑ Lucjan Emil Böttcher 及其数学遗产,作者:Stanisław Domoradzki,Małgorzata Stawiska
- ↑ Wolfram 语言 : JuliaSetBoettcher
- ↑ Wolf Jung 如何绘制外部射线
- ↑ math.stackexchange 问题:显式黎曼映射
- ↑ 巴塞利卡的汤普森群,作者:James Belk,Bradley Forrest
- ↑ "巴塞利卡 Julia 集的拟对称群",Serhiy Merenkov,2020 年 3 月 26 日 NYGT 研讨会演讲
- ↑ 维基百科中的 Böttcher 方程
- ↑ 巴塞利卡的汤普森群,作者:James Belk,Bradley Forrest
- ↑ 气泡浴 Julia 集的类 Thompson 群,作者:Jasper Weinrich-Burd,2013 年
- ↑ 维基百科中的 Böttcher 方程
- ↑ 分形之美 - Heinz-Otto Peitgen 和 Peter Richter 编著,第 63 页
- ↑ 维基百科 : 封闭形式表达式
- ↑ John D. Cook 的茹科夫斯基变换
- ↑ 维基百科 : Lucjan_Böttcher
- ↑ 维基百科中的施罗德方程
- ↑ Lucjan Emil Böttcher 及其数学遗产,作者:Stanislaw Domoradzki, Malgorzata Stawiska
- ↑ L. E. Boettcher,迭代收敛的主要规律及其在分析中的应用(俄语),Izv. Kazan. fiz.-Mat. Obshch. 14) (1904), 155-234.
- ↑ 维基百科 : Böttchers_equation
- ↑ Mathoverflow : 迭代多项式的规模增长
- ↑ 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
- ↑ Adrien Douady 和 John H. Hubbard,复多项式的动力学研究,Orsay 数学预出版物 2/4 (1984 / 1985)
- ↑ Peitgen, Heinz-Otto; Richter Peter (1986). 分形的美丽. Heidelberg: Springer-Verlag. ISBN 0-387-15851-0.
- ↑ 分形的美丽,第 65 页
- ↑ 有理映射的全纯族:动力学、几何和势理论。Laura G. DeMarco 提交的论文
- ↑ R. Grothmann 的 Euler 例子