分形/复平面迭代/分析
外观
< 分形
如何分析基于有理映射的离散动力系统,该映射定义在黎曼球面上一个复变量上的有理映射?
找到非排斥周期点
- 有理函数,即黎曼球面到自身的全纯映射,或者等效地,两个多项式的比率,在域和范围上都经过莫比乌斯变换。
Pauldelbrot 算法[2]“对于有理映射,我建议以下步骤可行
- 跟踪所有临界轨道,进行大量迭代。
- 对于每个轨道:再进行几千次迭代,观察它是否接近任何先前轨道的着陆点。如果是,则丢弃它。
- 将黎曼球面划分为网格中的小区域;例如,通过保留两个方形位图,一个表示单位圆的内部,另一个表示单位圆的外部,通过表示单位圆的内部对于 w = 1/z。
- 用红色、绿色、蓝色等颜色对这些位图中包含剩余临界轨道着陆点的像素进行着色;也许可以使用保守的距离估计,将每个像素扩展到一个小圆盘。
- 应用原始算法,只是不再寻找击中白色或不击中白色的像素,而是寻找击中所有这些不同颜色的像素,并传播这些颜色。
最后,你应该得到彩色填充的吸引域,以及沿 Julia 集本身的灰色区域。将两个位图转换为黎曼球面的适当可视化表示留给读者作为练习。”
如果不动点附近的局部动力学难以处理
- 将不动点移动到零
- (待定)
有理映射 f 的度数 d 是其分母和分子的度数的最大值,前提是它们互质。
临界点在黎曼球面上是
- 点 z,其中 f 不是局部一对一 = 在 z 的任何邻域中都无法单射,并且 f 不是常数
- 价数(阶)大于 1 的点
的临界点是:[3]
- 满足的有限点 z
- f 的阶数为 2 或更高的极点
- 无穷大点 z = ∞
- 如果的度数 d 至少为 2
- 如果对于某个c和有理函数满足此条件,则。
黎曼-赫维兹公式
[edit | edit source]临界点个数n,在黎曼球面上用适当的重数计算,为
n = 2*d-2
其中 d = 函数的次数
这是一个上界(由于考虑了重数,所以是最大值),因此函数可以有更少的临界点[4]
如何检查无穷大是否是临界点?
[edit | edit source]计算函数 f
在无穷远点[5]
有两种情况
- ,因此无穷大是 f 的不动点
- ,因此无穷大不是 f 的不动点
次数
- 分子为
- 分母为。
不动点
[edit | edit source]无穷大是 f 的不动点
那么是的临界点,如果
示例
kill(all); remvalue(all); display2d:false; define(f(z), (z^3+ 2*z + 3)/(z - 1)); /* first derivativa wrt z */ define( d(z), diff(f(z),z,1)); /* hipow does not expand expr, so hipow (expr, x) and hipow (expand (expr, x)) may yield different results */ n : hipow(num(f(z)),z); m : hipow(denom(f(z)),z); /* check if infinity is a fixed point */ limit(f(z),z,infinity); /* finite critical points */ s:solve(d(z)=0)$ s : map(rhs,s)$ s : map('float,s)$ s : map('rectform,s)$
不是不动点
[edit | edit source]无穷大不是 f 的不动点
看看这个函数
.
导数为
那么如果
- ,那么不是的临界点。
- ,那么如果
- 分子是次,并且不是的临界点。
- 如果分子项的次数小于 ,那么 **是** 的一个临界点。
- 如果 ,那么 **不是** 的一个临界点。
- 如果 ,那么 **是** 的一个临界点。
吸引子
[edit | edit source]- 寻找吸引子(吸引周期点,循环)作为临界轨道的极限集
- 寻找循环的周期
如何检查无穷大是否为不动点?
[edit | edit source]这里无穷大周期为 2,因此它不是不动点。
a: -3-3*%i; /* d */ c: 0.0; define(f(z), 1/(z^3+ a*z + c)); (%i4) limit(f(z),z,infinity); (%o4) 0 (%i5) limit(f(z),z,0); (%o5) infinity
这里无穷大不是不动点。
remvalue(all); display2d:false; define(f(z), 1/(z^3+ 2.099609375*z + 0.349609375)); (%i5)limit(f(z),z,infinity); (%o5) 0 (%i6) limit(f(z),z,0); (%o6) 2.860335195530726
这里无穷大是不动点。
define(f(z), (z^3+ 2*z + 3)/(z - 1)); n : hipow(num(f(z)),z); m : hipow(denom(f(z)),z); (%o3) f(z):=(z^3+2*z+3)/(z-1) (%i4) (%o4) 3 (%i5) (%o5) 1 (%i6) limit(f(z),z,infinity); (%o6) infinity
盆 = 法图域
[edit | edit source]- 每个法图域(吸引盆)至少包含 的一个临界点。
- 每个吸引、超吸引和抛物线循环都吸引一个临界点。
- 法图域的数量是有限的。
- 一个法图域可以包含多个临界点。
- 有理映射的法图集中的每个域可以分为四种不同的类别。[8]
- 分量数量
盆数据
[edit | edit source]- 函数(输入)
- 吸引循环的周期
- 一个落入吸引循环的临界点,它与吸引点位于同一个分量中(见下文)
- 吸引子 = 吸引循环中的一个点,它与上述临界点位于同一个分量中
- 吸引循环的乘子
如果拥有每个盆的上述数据,那么就可以创建动态平面的图像
图像
[edit | edit source]- 临界轨道(临界点的正向轨道)
- 周期点(主要是吸引循环)
- 吸引盆
示例
[edit | edit source]程序
[edit | edit source]- 来自 Claude Heiland-Allen 的 mandelbrot-numerics 库中的 m-describe:给出复杂二次多项式参数平面中点 c 的描述
- 描述迭代映射(C++):数值确定多项式 Julia 集的循环 作者:marcm200
- 基于有理映射的动力系统分析和绘制 C 程序 作者:Michael Becker,2003 年 8 月
GRPF:全局复根和极点查找算法
[edit | edit source]可视化
[edit | edit source]- Mark McClure - JavaScript
- Jux - Julia 分形浏览器 作者:xenodream - 缺少源代码的二进制程序
- Mandel 作者:Wolf Jung - c++ 代码
- Xaos
- Wolfram Alfa:julia 集 f(z) = (z^2-0.2+0.7*I ) /(z^2 + 0.917)
- RatioField 作者:Gert Buschmann - pascal 代码
- Luis Javier Hernández Paricio
- Luis Javier Hernandez Paricio、Miguel Maranon Grandes 和 Marıa Teresa Rivas Rodrıguez 发表的“用 Sage 绘制有理映射的端点盆”
- Luis Javier HERNÁNDEZ PARICIO 发表的“在 Julia 中绘制单变量有理映射的盆”
- Luis Javier Hernández Paricio 发表的“用 Julia 全局可视化单变量有理函数的盆”
- Extremiana José Ignacio、José Manuel Gutiérrez、Luis Javier Hernández Paricio 和 María Teresa Rivas Rodriguez 发表的“在黎曼球面上迭代有理函数的 Julia 语言实现。数值方法的应用”
步骤
- 使用符号方法计算一阶导数 d(z)
- 计算(有限的)临界点,作为方程 d(z) = 0 的根,使用符号方法
- 计算临界点的正向轨道并生成图像
- 通过图像的视觉检查获得吸引子的近似周期
kill(all); remvalue(all); display2d:false; /* map */ define(f(z), (z^2)/(z^9 -z + 0.025)); /* first derivativa wrt z */ define( d(z), diff(f(z),z,1)); GiveOrbit(z0,iMax):= /* computes (without escape test) (forward orbit of critical point ) and saves it to the list for draw package */ block( [z,orbit,temp], z:z0, /* first point = critical point z:0+0*%i */ orbit:[[realpart(z),imagpart(z)]], for i:1 thru iMax step 1 do ( z:f(z), z:float(z), z:rectform(z), z:float(z), if (cabs(z)>3) then break, /*if (cabs(z)< 0.00001) then break, */ orbit:endcons([realpart(z),imagpart(z)],orbit)), return(orbit) )$ GiveAttractor(z0,iMax):= /* computes (without escape test) (forward orbit of critical point ) and saves it to the list for draw package */ block( [z,orbit,temp], z:z0, /* first point = critical point z:0+0*%i */ orbit:[], for i:1 thru iMax step 1 do ( z:f(z), z:float(z), z:rectform(z), z:float(z) ), for i:1 thru 10 step 1 do ( z:f(z), z:float(z), z:rectform(z), z:float(z), if (cabs(z)>3) then break, /*if (cabs(z)< 0.00001) then break, */ orbit:endcons([realpart(z),imagpart(z)],orbit)), return(orbit) )$ GiveScene(attractor):= gr2d(title= "Possible cycle", user_preamble = "set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* */ color =red, points(attractor) )$ /* critical points [-0.8366600265340756*%i,0.8366600265340756*%i] */ s:solve(d(z)=0)$ s : map(rhs,s)$ s : map('float,s)$ s : map('rectform,s)$ s2 : allroots(s[2])$ s2 : map(rhs,s2)$ s2 : map('float,s2)$ s2 : map('rectform,s2)$ s : cons(s[1], s2); MyOrbits:[]; for z in s do ( print(i,z), orbit : GiveOrbit(z,30), MyOrbits:endcons([discrete,orbit], MyOrbits) )$ MyAttractors:[]; for z in s do ( attractor : GiveAttractor(z,300), attractor : GiveScene(attractor), MyAttractors:endcons(attractor, MyAttractors) )$ load(draw); path:""$ /* pwd, if empty then file is in a home dir , path should end with "/" */ fileName: sconcat(path, "cycles")$ draw( terminal = png, file_name = fileName, columns= 4, MyAttractors );
无穷大
- 对于多项式,无穷大是一个超吸引不动点。因此,在 Julia 集的外部(无穷大的吸引域),所有多项式的动力学都相同。 逃逸测试(= 逃逸测试)可以作为第一个通用工具。
- 对于有理映射,无穷大不是超吸引不动点。它可能是一个周期点,也可能不是。
临界点
- Lucas 定理指出,复平面上多项式的临界点位于零点的凸包内或其上。[9]
- 圆盘内部的 B(Z) 的临界点位于 B(Z) 的零点(相对于 Poincaré 度量)的(非欧几里得)凸包内或其上。
可视化
- “为了以图形方式研究这些集合,我们将看到它们是四维的,我们采用了一系列技术来可视化更高维度的物体,这些技术通常用于研究来自 MRI 或 CT 扫描的 3D 体积,这些技术被称为体积可视化。”[10]
- 由接近零的分母引起的溢出。解决方案: “使用归一化的齐次坐标可以避免溢出和下溢错误”。 Luis Javier Hernández Paricio。
- “用一对具有相同次数的两个变量的齐次多项式来表示有理函数,使我们能够计算函数在任何极点以及无穷大处的数值”。 Luis Javier Hernández Paricio。
- 如何构建具有所需属性的映射?(逆过程)
- Jan Kiwi 和 Mary Rees 的双曲分量的计数。我们给出了二次有理映射空间中 II 型和 IV 型双曲分量数量的公式,适用于吸引循环的所有固定周期。
- 有理映射的双曲分量:定量均匀分布和计数,作者:Thomas Gauthier、Yûsuke Okuyama、Gabriel Vigny
- 关于临界不动点的有理映射分类,作者:Kristin Cordwell、Selina Gilbertson、+2 位作者 Samantha Pinella,发表于 2013 年数学 arXiv:动力系统,DOI:10.1090/S1088-4173-2015-00275-1Corpus ID:51788955
- 关于具有两个临界点的有理映射,作者:J. Milnor,发表于 2000 年数学、计算机科学实验数学,DOI:10.1080/10586458.2000.10504657Corpus ID:18618158
- mathoverflow.net 问题:有理函数的形状是什么?
- 关于二次有理映射的注记,作者:John W. Milnor,1992 年
- 有理函数的全局映射性质,作者:Cristina Ballantine1 和 Dorin Ghisa
- 分析多项式函数
- ↑ fractalforums.org : 周期检测
- ↑ fractalforums.org : Julia 集的真实形状和逃逸时间
- ↑ 关于有理映射的零点和临界点。作者:XAVIER BUFF
- ↑ 有理函数的 Julia 集简介,作者:Andre Pedroso Kowacs
- ↑ math.stackexchange 问题:什么时候无穷大是有理函数在球面上的临界点?
- ↑ Shishikura, M.. “关于有理函数的拟共形手术”。 Ecole Normale Superieure 科学年鉴 20 (1987):1-29。
- ↑ 一维实数和复数动力学,讲义,数学教学中心,2014 年春季,Davoud Cheraghi,2014 年 12 月 8 日
- ↑ Beardon,有理函数的迭代,定理 7.1.1。
- ↑ 有限 Blaschke 乘积的临界点位置,作者:DAVID A. SINGER
- ↑ 交替 Julia 集的连接集的图形探索 M,不连接的交替 Julia 集的集合,作者:Marius-F. Danca · Paul Bourke · Miguel Romera