曼德博集合

曼德博集合（英語：Mandelbrot set，或译為曼德布洛特复数集合）是一种在复平面上组成分形的点的集合，以數學家本華·曼德博的名字命名。曼德博集合與朱利亚集合有些相似的地方，例如使用相同的复二次多项式來进行迭代。 曼德博集合可以用複二次多项式来定义： f c ( z ) = z 2 + c {\displaystyle f_{c}(z)=z^{2}+c\,} 其中 c {\displaystyle c} 是一个复数參数。 从 z = 0 {\displaystyle z=0} 开始对 f c ( z ) {\displaystyle f_{c}(z)} 进行迭代： z n + 1 = z n 2 + c , n = 0 , 1 , 2 , . . . {\displaystyle z_{n+1}=z_{n}^{2}+c,n=0,1,2,...} z 0 = 0 {\displaystyle z_{0}=0\,} z 1 = z 0 2 + c = c {\displaystyle z_{1}=z_{0}^{2}+c=c\,} z 2 = z 1 2 + c = c 2 + c {\displaystyle z_{2}=z_{1}^{2}+c=c^{2}+c\,} 每次迭代的值依序如以下序列所示： ( 0 , f c ( 0 ) , f c ( f c ( 0 ) ) , f c ( f c ( f c ( 0 ) ) ) , … ) {\displaystyle (0,f_{c}(0),f_{c}(f_{c}(0)),f_{c}(f_{c}(f_{c}(0))),\ldots )} 不同的参数 c {\displaystyle c} 可能使序列的绝对值逐漸發散到无限大，也可能收斂在有限的區域内。 曼德博集合 M {\displaystyle M} 就是使序列不延伸至无限大的所有复数 c {\displaystyle c} 的集合。 自相似 面积为1.5065918561 若 | c | ≤ 1 4 {\displaystyle |c|\leq {\frac {1}{4}}} ，則 c ∈ M {\displaystyle c\in {M}} 假設 | c | ≤ 1 4 {\displaystyle |c|\leq {\frac {1}{4}}} 為真 則 | z 1 | = | c | ≤ 1 4 < 1 2 {\displaystyle |z_{1}|=|c|\leq {\frac {1}{4}}<{\frac {1}{2}}} 當 n = 2 {\displaystyle n=2\,} 時 | z 2 | = | z 1 2 + c | = | c 2 + c | ≤ | c 2 | + | c | = | c | 2 + | c | {\displaystyle |z_{2}|=|z_{1}^{2}+c|=|c^{2}+c|\leq |c^{2}|+|c|=|c|^{2}+|c|} 因為 | c | ≤ 1 4 {\displaystyle |c|\leq {\frac {1}{4}}} | c | 2 + | c | ≤ 1 16 + 1 4 < 1 2 {\displaystyle |c|^{2}+|c|\leq {\frac {1}{16}}+{\frac {1}{4}}<{\frac {1}{2}}} 由以上可得知 | z 2 | < 1 2 {\displaystyle |z_{2}|<{\frac {1}{2}}} 假設 | z n | < 1 2 {\displaystyle |z_{n}|<{\frac {1}{2}}\,} 成立 | z n + 1 | = | z n 2 + c | ≤ | z n | 2 + | c | < ( 1 2 ) 2 + 1 4 = 1 2 {\displaystyle |z_{n+1}|=|z_{n}^{2}+c|\leq |z_{n}|^{2}+|c|<\left({\frac {1}{2}}\right)^{2}+{\frac {1}{4}}={\frac {1}{2}}} 由上式可得知 | z n + 1 | < 1 2 {\displaystyle |z_{n+1}|<{\frac {1}{2}}} 由數學歸納法可得知對於所有的n(n=1,2,...)， | z n | {\displaystyle |z_{n}|\,} 皆比 1 2 {\displaystyle {\frac {1}{2}}\,} 小。 當n趨近無限大時 | z n | {\displaystyle |z_{n}|\,} 依然沒有發散，所以 c ∈ M {\displaystyle c\in {M}} ，故得證。 若 c ∈ M {\displaystyle c\in {M}} ，則 | c | ≤ 2 {\displaystyle |c|\leq {2}} 假設 | c | > 2 {\displaystyle |c|>2\,} 則 | z 1 | = | c | , | z 1 | > 2 {\displaystyle |z_{1}|=|c|,|z_{1}|>2\,} 當 n = 2 {\displaystyle n=2\,} 時 | z 2 | = | z 1 2 + c | = | c 2 + c | ≥ | c 2 | − | c | = | c | 2 − | c | {\displaystyle |z_{2}|=|z_{1}^{2}+c|=|c^{2}+c|\geq |c^{2}|-|c|=|c|^{2}-|c|} 由 | c | > 2 {\displaystyle |c|>2\,} ，左右同乘 | c | {\displaystyle |c|\,} 再減去 | c | {\displaystyle |c|\,} 可得到下式 | c | 2 − | c | > 2 | c | − | c | = | c | {\displaystyle |c|^{2}-|c|>2|c|-|c|=|c|\,} 由以上可得知 | z 2 | > | c | {\displaystyle |z_{2}|>|c|\,} 假設 | z n | > | c | {\displaystyle |z_{n}|>|c|\,} 成立，則 | z n | > 2 {\displaystyle |z_{n}|>2\,} | z n + 1 | = | z n 2 + c | ≥ | z n 2 | − | c | = | z n | 2 − | c | {\displaystyle |z_{n+1}|=|z_{n}^{2}+c|\geq |z_{n}^{2}|-|c|=|z_{n}|^{2}-|c|} 因為 | z n | > | c | {\displaystyle |z_{n}|>|c|\,} | z n | 2 − | c | > | z n | 2 − | z n | {\displaystyle |z_{n}|^{2}-|c|>|z_{n}|^{2}-|z_{n}|\,} 由 | z n | > 2 {\displaystyle |z_{n}|>2\,} ，左右同乘 | z n | {\displaystyle |z_{n}|\,} 再減去 | z n | {\displaystyle |z_{n}|\,} 可得到下式 | z n | 2 − | z n | > 2 | z n | − | z n | = | z n | {\displaystyle |z_{n}|^{2}-|z_{n}|>2|z_{n}|-|z_{n}|=|z_{n}|\,} 由以上可得知 | z n + 1 | > | z n | {\displaystyle |z_{n+1}|>|z_{n}|\,} 由數學歸納法可得知 2 < | z 1 | < | z 2 | < . . . < | z n | < | z n + 1 | < | z n + 2 | {\displaystyle 2<|{z_{1}}|<|{z_{2}}|<...<|{z_{n}}|<|z_{n+1}|<|z_{n+2}|\,} ，可看出隨著迭代次數增加 | z n | {\displaystyle |z_{n}|\,} 逐漸遞增並發散。 假如 | z n | {\displaystyle |z_{n}|\,} 不发散，则收敛于某个常数 a > | c | > 2 {\displaystyle a>|c|>2} , 由 | z n + 1 | ≥ | z n | 2 − | c | {\displaystyle |z_{n+1}|\geq |z_{n}|^{2}-|c|} 再取极限得 a ≥ a 2 − | c | {\displaystyle a\geq a^{2}-|c|} 即 a 2 − a ≤ | c | {\displaystyle a^{2}-a\leq |c|} 。 又 a 2 − a = a ( a − 1 ) ≥ a > | c | {\displaystyle a^{2}-a=a(a-1)\geq a>|c|} ，矛盾，故 | z n | {\displaystyle |z_{n}|\,} 发散。 所以若 | c | > 2 {\displaystyle |c|>2\,} ，則 c ∉ M {\displaystyle c\notin {M}} ，故得證。 若 c ∈ M {\displaystyle c\in {M}} ，則 | z n | ≤ 2 , ( n = 1 , 2 , . . . ) {\displaystyle |z_{n}|\leq {2},(n=1,2,...)} 要證明若 | z n | > 2 , ( n = 1 , 2 , . . . ) {\displaystyle |z_{n}|>2,(n=1,2,...)\,} ，則 c ∉ M {\displaystyle c\notin {M}} 首先分別探討 | c | > 2 {\displaystyle |c|>2\,} 與 | c | ≤ 2 {\displaystyle |c|\leq 2} 兩種情形 由定理二可知道 | z n | > 2 , ( n = 1 , 2 , . . . ) {\displaystyle |z_{n}|>2,(n=1,2,...)\,} 且 | c | > 2 {\displaystyle |c|>2\,} 時， c ∉ M {\displaystyle c\notin {M}} 。 接著要證明 | c | ≤ 2 {\displaystyle |c|\leq 2} 時的情況： 假設 | z n | > 2 {\displaystyle |z_{n}|>2\,} ，因為 | c | ≤ 2 {\displaystyle |c|\leq 2} ，所以 | z n | > | c | {\displaystyle |z_{n}|>|c|\,} ，而 | z n + 1 | = | z n 2 + c | ≥ | z n 2 | − | c | = | z n | 2 − | c | {\displaystyle |z_{n+1}|=|z_{n}^{2}+c|\geq |z_{n}^{2}|-|c|=|z_{n}|^{2}-|c|} 因為 | z n | > | c | {\displaystyle |z_{n}|>|c|\,} | z n | 2 − | c | > | z n | 2 − | z n | {\displaystyle |z_{n}|^{2}-|c|>|z_{n}|^{2}-|z_{n}|\,} 由 | z n | > 2 {\displaystyle |z_{n}|>2\,} ，左右同乘 | z n | {\displaystyle |z_{n}|\,} 再減去 | z n | {\displaystyle |z_{n}|\,} 可得到下式 | z n | 2 − | z n | > 2 | z n | − | z n | = | z n | {\displaystyle |z_{n}|^{2}-|z_{n}|>2|z_{n}|-|z_{n}|=|z_{n}|\,} 由以上可得知 | z n + 1 | > | z n | {\displaystyle |z_{n+1}|>|z_{n}|\,} 由數學歸納法可得知 2 < | z n | < | z n + 1 | < | z n + 2 | < . . . {\displaystyle 2<|{z_{n}}|<|z_{n+1}|<|z_{n+2}|<...\,} ，可看出隨著迭代次數增加 | z n | {\displaystyle |z_{n}|\,} 逐漸遞增並發散。 所以在 | z n | > 2 , ( n = 1 , 2 , . . . ) {\displaystyle |z_{n}|>2,(n=1,2,...)\,} 且 | c | ≤ 2 {\displaystyle |c|\leq 2} 的情況下也是 c ∉ M {\displaystyle c\notin {M}} 。 綜合上述可得知不論 | c | {\displaystyle |c|\,} 為多少 若 | z n | > 2 , ( n = 1 , 2 , . . . ) {\displaystyle |z_{n}|>2,(n=1,2,...)\,} ，則 c ∉ M {\displaystyle c\notin {M}} ，故得證。 利用定理三可以在程式計算時快速地判斷 | z n | {\displaystyle |z_{n}|\,} 是否會發散。 曼德博集合一般用计算机程序计算。对于大多数的分形软件，例如Ultra fractal，内部已经有了比较成熟的例子。下面的程序是一段伪代码，表达了曼德博集合的计算思路。 For Each c in Complex repeats = 0 z = 0 Do z = z^2 + c repeats = repeats + 1 Loop until abs(z) > EscapeRadius or repeats > MaxRepeats '根据定理三，EscapeRadius可设置为2。 If repeats > MaxRepeats Then Draw c,Black '如果迭代次数超过MaxRepeats，就将c认定为属于曼德博集合，并设置为黑色。 Else Draw c,color(z,c,repeats) 'color函数用来决定颜色。 End If Next 直接利用循环终止时的Repeats 综合利用z和Repeats Orbit Traps mand = Compile[{{z0, _Complex}, {nmax, _Integer}}, Module[{z = z0, i = 1}, While[i < nmax && Abs[z] <= 2, z = z^2 + z0; i++]; i]]; ArrayPlot[ Reverse@Transpose@ Table[mand[x + y I, 500], {x, -2, 2, 0.01}, {y, -2, 2, 0.01}]] 维基共享资源中相关的多媒体资源：曼德博集合 Mrob.com pixel counting. [2012-01-01]. （原始内容存档于2019-08-10）.  Mrob.com area history. [2012-04-29]. （原始内容存档于2020-09-22）.