跳轉到內容

分形/數學/復二次對映的週期點

來自華夏公益教科書

復二次對映的週期點

[編輯 | 編輯原始碼]

本文描述了週期點的某些復二次對映。一個對映是根據變數本身的先前值或值計算變數值的公式;一個二次對映是涉及先前值被提升到一和二的對映;一個對映是一個變數和引數都是複數的對映。一個週期點是指對映中變數的值,該值在固定長度的間隔後會重複出現。

這些週期點在法圖朱利亞集理論中發揮著作用。

復二次對映,其中複數

在符號上,-次複合本身(不要與導數混淆)—也就是說,在函式的第k迭代之後的的值。因此

復二次對映的週期的週期點是動力學平面上的點,使得

其中 是滿足該方程式的最小正 整數

我們可以引入一個新函式

所以週期點是 零點 函式 : 滿足以下條件的點 *z*

這是一個 次數 的多項式。

週期點的數量

[edit | edit source]

描述週期點的多項式 次數 ,所以根據 代數基本定理 它正好有 個復根(= 週期點),考慮 重數

週期點(軌道)的穩定性 - 乘子

[edit | edit source]
水平軸上週期點的穩定性指標
引數平面區域的邊界,這些區域具有周期為 1-6 的吸引軌道
基於 復二次多項式 的離散動力系統的臨界軌道。它趨向於弱 吸引不動點 ,其中 abs(乘子) = 0.99993612384259

有理對映 在週期點 迭代 次的 **乘子** (或特徵值、導數) 定義為

其中 關於 處的 一階 導數

由於乘數在給定軌道上的所有周期點處都相同,因此被稱為週期 軌道 的乘數。

乘數為

  • 一個複數;
  • 在任何有理對映在其不動點處的共軛下是不變的;[1]
  • 用於檢查週期點(也包括不動點)的穩定性,其 **穩定性指數** 為

週期點[2]

  • 時,為吸引點;
    • 時,為超吸引點;
    • 時,為吸引點但不是超吸引點;
  • 時,為中性點;
    • 是一個 單位根 時,為有理中性點或拋物線點;
    • 無理中性點 但乘數不是單位根時;
  • 時,為排斥點。

週期點

  • 是吸引點的,總是位於 Fatou 集 中;
  • 是排斥點的,位於 Julia 集中;
  • 是中性不動點的,可能位於其中一個或另一個。[3] 拋物線週期點位於 Julia 集中。

尋找週期點

[edit | edit source]
solve these equations using numerical methods for solving polynomials - and even something simple such as Newton's method is going to converge a lot faster than finding the cycles just by iterating a single point (as is how bifurcations diagrams are usually made) under fc itself. Milo Brandt[4]

方法

  • 簡單迭代和檢查收斂性
  • 數值方法
    • 符號計算,代數
    • 求解多項式方程根的數值方法


週期 1 點(不動點)

[edit | edit source]

有限不動點

[edit | edit source]

首先,讓我們找出經過一次應用 後保持不變的所有有限點。這些點滿足 。也就是說,我們要解以下方程:

可以改寫為:

由於這是一個關於單個未知數的一般 二次方程,我們可以應用 標準二次方程求解公式

因此,對於 ,我們有兩個有限不動點:

由於

,其中

我們有

因此,不動點關於 對稱。

此圖顯示了不動點(均為排斥不動點)。
復動力系統
[編輯 | 編輯原始碼]
沿水平軸的 c 的不動點
F(z) = z*zFatou 集,並標出了不動點

這裡通常使用不同的符號:[5]

乘數為

以及

乘數為

我們再次得到

不動點之間的距離

是 delta

其中

因此
  • 對於 距離等於零: = 點重合(拋物線情況)
  • 對於 距離等於 1: = 超吸引情況(alfa 是中心,beta 在單位圓上)


由於 關於 *z* 的導數

我們有

這意味著 最多隻能有一個吸引不動點。

這些點透過以下事實來區分

    • 角度為 0 時,外部射線 的著陸點,其中
    • Julia 集的最排斥不動點。
    • 位於右側(當不動點在實軸 上不對稱時),它是連線 Julia 集的最右端點(除花椰菜外)。[6]
    • 幾條射線的著陸點。
    • 在 Mandelbrot 集的主心形內時,它是吸引的,在這種情況下,它位於填充的 Julia 集的內部,因此屬於 Fatou 集(嚴格地說屬於有限不動點的吸引盆)。
    • 在 Mandelbrot 集的肢體根點是拋物線的。
    • 對於 的其他值是排斥的。

特殊情況

二次對映的一個重要情況是 。在這種情況下,我們得到 。在這種情況下,0 是一個超吸引不動點,而 1 屬於Julia 集

只有一個不動點

我們有 當且僅當 這個方程有一個解, 在這種情況下,。事實上, 是存在有限吸引子的最大正純 值。

無限不動點

[edit | edit source]

我們可以透過新增無窮大複平面 擴充套件到黎曼球面(擴充套件複平面)

並擴充套件 使得

那麼無窮大

  • 超吸引
  • 的不動點:[7]

2 週期迴圈

[編輯 | 編輯原始碼]
從週期 1 到 2 的分岔 復二次對映
fc(z)=z*z +c 中週期點從週期 1 到 2 的分岔

2 週期迴圈是兩個不同的點 ,使得 ,因此

對於

將此等式設定為z,我們得到

此方程是 4 次多項式,因此有四個(可能不不同的)解。但是,我們已經知道兩個解。它們是 ,在上面計算,因為如果這些點在一次應用 後保持不變,那麼很明顯,它們在多次應用 後也會保持不變。

因此,我們的 4 次多項式可以用兩種方式分解

第一種分解方法

[編輯 | 編輯原始碼]

這直接擴充套件為 (注意交替符號),其中

我們已經有兩個解,只需要另外兩個。因此問題相當於求解一個二次多項式。特別注意,

以及

將這些加到上面,我們得到 。將這些與展開的 中的係數進行匹配,我們得到

由此,我們很容易得到

.

從這裡,我們構造一個以 為係數的二次方程,並應用標準解公式得到

仔細觀察表明

這意味著這兩個點是單個週期為 2 的迴圈上的兩個點。

第二種因式分解方法

[編輯 | 編輯原始碼]

我們可以使用 多項式長除法 將因子 從四次方程中分解出來,它們解釋了兩個不動點 (它們的值在前面給出,並且在兩次迭代後仍然保持在不動點)

第一個因式的根是兩個不動點。它們在主心形之外是排斥的。

第二個因式有兩個根

這兩個根,與第一種方法找到的相同,形成了週期為 2 的軌道。[8]

特殊情況
[edit | edit source]

再次,讓我們看看 。然後

它們都是複數。我們有 。因此,這兩個點都“隱藏”在朱利亞集中。另一個特殊情況是 ,它給出 。這給出了在二次曼德爾布羅特集合的最大週期為 2 的瓣中發現的眾所周知的超吸引迴圈。

週期大於 2 的迴圈

[edit | edit source]
f(z) = z*z−0.75 的週期為 6 的週期點作為 2 個隱式曲線的交點

方程 的次數為 2n;因此例如,要找到 3 迴圈上的點,我們需要求解一個 8 次方程。在分解出給出兩個不動點的因式後,我們將得到一個六次方程。

不存在 五次或更高次的多項式方程的 根式解,因此,一般情況下,週期大於 2 的迴圈上的點必須使用 數值方法 計算。但是,在週期為 4 的特定情況下,迴圈點具有根式解的冗長表示式。[9]

c = –2 時,所有周期的週期點都存在三角函式解。情況 等價於 邏輯斯諦對映 情況 r = 4: 這裡的等價關係由 給出。邏輯斯諦變數 xk 迴圈之一(所有迴圈都是排斥的)是


通用數值方法

[編輯 | 編輯原始碼]


為了建立曼德布羅集的週期性分量,對於

  • 開始迭代,其中
  • 對於每個 按順序
  • 計算
  • 如果
    • 設定
    • 使用 牛頓法 求解 ,初始猜測為 (這可能會無法收斂,在這種情況下,繼續下一個 ),步驟如下
    • 計算迴圈的導數
    • 如果 ,則該迴圈是吸引的,並且 位於週期為 的雙曲分量內,停止(成功)。


其中

  • 可用作雙曲分量內的“內部座標”。
  • 可用於內部距離估計。

使用牛頓法是為了加速計算 ,即極限迴圈吸引子的一個點。僅僅透過迭代 來計算 可能需要成千上萬次的迭代,尤其是在 接近 時。

我沒有關於正確性的完整證明(但這並不意味著我認為它是錯誤的;這些影像看起來合理)。它依賴於圍繞給定週期的每個雙曲分量的“原子域”。

它還依賴於牛頓法得到的迴圈與迭代得到的極限迴圈相同:這對於二次曼德布羅特集是正確的,因為它只有一個有限的臨界點, 是一個不動點)並且每個吸引或拋物線迴圈在其直接盆地中都有一個臨界點(參見 <https://math.stackexchange.com/a/3952801>),這意味著最多隻能有一個吸引或拋物線迴圈。

有關 C99 實現,請參見我的部落格文章 <https://mathr.co.uk/blog/2014-11-02_practical_interior_distance_rendering.html>


心形/球體檢查

int GivePeriod(complex double c){

	if (cabs2(c)>4.0) {return 0;} // exterior : out of first lemniscte
	if (cabs2(1.0 - csqrt(1.0-4.0*c))<=1.0 ) {return 1;} // main cardioid
	if (cabs2(4.0*c + 4)<=1.0){return 2;} // period 2 component
	
	int period =  GivePeriodByIteration(c);
	
	if ( period < 0) // last chance
		{
			iUnknownPeriod +=1;
			//period = m_d_box_period_do(c, 0.5, iterMax_LastIteration); // not working good
	
		}
	
	// period > 0 means is periodic
	// period = 0 means is not periodic = exterior = escaping to infinity
	// period < 0 means period not found, maybe increase global variable iterMax_Period ( see local_setup)
	return period;
}

進一步閱讀

[編輯 | 編輯原始碼]
[編輯 | 編輯原始碼]

參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書