雷米茲演算法

雷米茲演算法，或稱雷米茲交換演算法，由葉夫根尼·列維奇·雷米茲於1934年所發表。 雷米茲演算法為一尋找函式簡易近似之迭代演算法，特別是定義於切比雪夫空間的函式效果最佳。 一個在切比雪夫空間的典型例子是 n 次項切比雪夫多项式的子空間，屬於實數連續函式之向量空間，定義於 C[a, b] 區間。 給定一子空間，其最佳近似多項式的定義為：可將此近似多項式與原始函式之最大絕對差異最小化者。 在這個情況下，可由equioscillation theorem使其解更精確 算法的主要目的是从一个集合 X {\displaystyle X} 得到一个可以逼近函数 f {\displaystyle f} 的多项式。集合 X {\displaystyle X} 由近似的区间上的 n + 2 {\displaystyle n+2} 个取样点 x 1 , x 2 , . . . , x n + 2 {\displaystyle x_{1},x_{2},...,x_{n+2}} 组成，通常由Chebyshev多项式线性映射至该区间得到。算法步骤如下： 解线性方程组 b 0 + b 1 x i + . . . + b n x i n + ( − 1 ) i E = f ( x i ) {\displaystyle b_{0}+b_{1}x_{i}+...+b_{n}x_{i}^{n}+(-1)^{i}E=f(x_{i})} (其中 i = 1 , 2 , . . . n + 2 {\displaystyle i=1,2,...n+2} ), 未知数为 b 0 , b 1 , . . . , b n {\displaystyle b_{0},b_{1},...,b_{n}} 和 E {\displaystyle E} 。 使用 b i {\displaystyle b_{i}} 作為多項式 P n {\displaystyle P_{n}} 的係數。 找出 | P n ( x ) − f ( x ) | {\displaystyle |P_{n}(x)-f(x)|} 的局部极大误差点，组成集合 M {\displaystyle M} 。 若所有 m ∈ M {\displaystyle m\in M} 都是相同大小，仅正负号不同的话，则 P n {\displaystyle P_{n}} 为极小化极大逼近多项式。否则的话，使用 M {\displaystyle M} 取代 X {\displaystyle X} 并重复上述步骤。 此结果称为极小化极大逼近算法的最佳逼近多项式。 由於切比雪夫節點在多項式插值理論中所扮演的角色，故通常選擇其為初始近似的方法。由拉格朗日插值法 Ln(f) 初始化一函式 f 之最佳化問題，可以證明此初始近似之邊界限制為: ‖ f − L n ( f ) ‖ ∞ ≤ ( 1 + ‖ L n ‖ ∞ ) inf p ∈ P n ‖ f − p ‖ {\displaystyle \lVert f-L_{n}(f)\rVert _{\infty }\leq (1+\lVert L_{n}\rVert _{\infty })\inf _{p\in P_{n}}\lVert f-p\rVert } 其中節點 (t1, ..., tn + 1) 之拉格朗日插值法算子的常數為 ‖ L n ‖ ∞ = Λ ¯ n ( T ) = max − 1 ≤ x ≤ 1 λ n ( T ; x ) , {\displaystyle \lVert L_{n}\rVert _{\infty }={\overline {\Lambda }}_{n}(T)=\max _{-1\leq x\leq 1}\lambda _{n}(T;x),} T 為切比雪夫多項式的零點，而 λ n ( T ; x ) = ∑ j = 1 n + 1 | l j ( x ) | , l j ( x ) = ∏ i ≠ j i = 1 n + 1 ( x − t i ) ( t j − t i ) . {\displaystyle \lambda _{n}(T;x)=\sum _{j=1}^{n+1}\left|l_{j}(x)\right|,\quad l_{j}(x)=\prod _{\stackrel {i=1}{i\neq j}}^{n+1}{\frac {(x-t_{i})}{(t_{j}-t_{i})}}.} 對提供次最佳之切比雪夫節點來說，其漸近線為 Λ ¯ n ( T ) = 2 π log ⁡ ( n + 1 ) + 2 π ( γ + log ⁡ 8 π ) + α n + 1 {\displaystyle {\overline {\Lambda }}_{n}(T)={\frac {2}{\pi }}\log(n+1)+{\frac {2}{\pi }}\left(\gamma +\log {\frac {8}{\pi }}\right)+\alpha _{n+1}} (γ 為 欧拉-马歇罗尼常数)， 0 < α n < π 72 n 2 {\displaystyle 0<\alpha _{n}<{\frac {\pi }{72n^{2}}}} for n ≥ 1 , {\displaystyle n\geq 1,} 而上界為 Λ ¯ n ( T ) ≤ 2 π log ⁡ ( n + 1 ) + 1 {\displaystyle {\overline {\Lambda }}_{n}(T)\leq {\frac {2}{\pi }}\log(n+1)+1} Lev Brutman 計算出對 n ≥ 3 {\displaystyle n\geq 3} 的邊界，而 T ^ {\displaystyle {\hat {T}}} 為切比雪夫多項式之零點 Λ ¯ n ( T ^ ) − Λ _ n ( T ^ ) < Λ ¯ 3 − 1 6 cot ⁡ π 8 + π 64 1 sin 2 ⁡ ( 3 π / 16 ) − 2 π ( γ − log ⁡ π ) ≈ 0.201. {\displaystyle {\overline {\Lambda }}_{n}({\hat {T}})-{\underline {\Lambda }}_{n}({\hat {T}})<{\overline {\Lambda }}_{3}-{\frac {1}{6}}\cot {\frac {\pi }{8}}+{\frac {\pi }{64}}{\frac {1}{\sin ^{2}(3\pi /16)}}-{\frac {2}{\pi }}(\gamma -\log \pi )\approx 0.201.} Rüdiger Günttner由對 n ≥ 40 {\displaystyle n\geq 40} 之較粗略的估算計算出 Λ ¯ n ( T ^ ) − Λ _ n ( T ^ ) < 0.0196. {\displaystyle {\overline {\Lambda }}_{n}({\hat {T}})-{\underline {\Lambda }}_{n}({\hat {T}})<0.0196.} 在此將提供先前簡述步驟的詳細內容，在這個章節令指數 i 從 0 跑到 n+1. 步驟 1: 給定 x 0 , x 1 , . . . x n + 1 {\displaystyle x_{0},x_{1},...x_{n+1}} , 求 n+2 條等式之線性系統之解 b 0 + b 1 x i + . . . + b n x i n + ( − 1 ) i E = f ( x i ) {\displaystyle b_{0}+b_{1}x_{i}+...+b_{n}x_{i}^{n}+(-1)^{i}E=f(x_{i})} (其中 i = 0 , 1 , . . . n + 1 {\displaystyle i=0,1,...n+1} ), 對於未知的 b 0 , b 1 , . . . b n {\displaystyle b_{0},b_{1},...b_{n}} 和 E. 可以很清楚地觀察到，在這個式子裡 ( − 1 ) i E {\displaystyle (-1)^{i}E} 若要成立，只有在節點 x 0 , . . . , x n + 1 {\displaystyle x_{0},...,x_{n+1}} 為 排序 的情況下才能達到，無論是嚴格遞增或遞減。這樣一來這個線性系統便有唯一解。(廣為人知的，並非每個線性系統都可以求解)。 此外，求解之複雜度最少為 O ( n 2 ) {\displaystyle O(n^{2})} ，而一個從函式庫求解的標準計算器需要 O ( n 3 ) {\displaystyle O(n^{3})} 的複雜度，在此有一簡單證明: 計算前n+1個節點之 f ( x ) {\displaystyle f(x)} 標準 n 階插值 p 1 ( x ) {\displaystyle p_{1}(x)} ， 以及對於 ( − 1 ) i {\displaystyle (-1)^{i}} 之標準 n 階插值 p 2 ( x ) {\displaystyle p_{2}(x)} p 1 ( x i ) = f ( x i ) , p 2 ( x i ) = ( − 1 ) i , i = 0 , . . . , n . {\displaystyle p_{1}(x_{i})=f(x_{i}),p_{2}(x_{i})=(-1)^{i},i=0,...,n.} 至此，需要 O ( n 2 ) {\displaystyle O(n^{2})} 次數值運算。 在 x i − 1 {\displaystyle x_{i-1}} 與 x i ,   i = 1 , . . . , n {\displaystyle x_{i},\ i=1,...,n} 之間，多項式 p 2 ( x ) {\displaystyle p_{2}(x)} 有其 i-階 零點zero between x i − 1 {\displaystyle x_{i-1}} and x i ,   i = 1 , . . . , n {\displaystyle x_{i},\ i=1,...,n} ，因此在 x n {\displaystyle x_{n}} 與 x n + 1 {\displaystyle x_{n+1}} 之間無任何零點，意即 p 2 ( x n ) {\displaystyle p_{2}(x_{n})} 與 p 2 ( x n + 1 ) {\displaystyle p_{2}(x_{n+1})} 正負號 ( − 1 ) n {\displaystyle (-1)^{n}} 相同。 線性組合 p ( x ) := p 1 ( x ) − p 2 ( x ) ⋅ E {\displaystyle p(x):=p_{1}(x)-p_{2}(x)\!\cdot \!E} 亦為一 n 次多項式 p ( x i ) = p 1 ( x i ) − p 2 ( x i ) ⋅ E   =   f ( x i ) − ( − 1 ) i E ,         i = 0 , … , n . {\displaystyle p(x_{i})=p_{1}(x_{i})-p_{2}(x_{i})\!\cdot \!E\ =\ f(x_{i})-(-1)^{i}E,\ \ \ \ i=0,\ldots ,n.} 選擇任何 E ，對 i = 0 , . . . , n {\displaystyle i=0,...,n} ，下列式子與上述等式相同: p ( x n + 1 )   =   p 1 ( x n + 1 ) − p 2 ( x n + 1 ) ⋅ E   =   f ( x n + 1 ) − ( − 1 ) n + 1 E {\displaystyle p(x_{n+1})\ =\ p_{1}(x_{n+1})-p_{2}(x_{n+1})\!\cdot \!E\ =\ f(x_{n+1})-(-1)^{n+1}E} 解 E 得: E   :=   p 1 ( x n + 1 ) − f ( x n + 1 ) p 2 ( x n + 1 ) + ( − 1 ) n . {\displaystyle E\ :=\ {\frac {p_{1}(x_{n+1})-f(x_{n+1})}{p_{2}(x_{n+1})+(-1)^{n}}}.} 如前述所提及，上式分母之兩項有相同正負號，因此 p ( x ) ≡ b 0 + b 1 x + … + b n x n {\displaystyle p(x)\equiv b_{0}+b_{1}x+\ldots +b_{n}x^{n}} 是完整定義的。 給定 n+2 階節點，其誤差為正負輪流: p ( x i ) − f ( x i )   =   − ( − 1 ) i E ,     i = 0 , . . . , n + 1. {\displaystyle p(x_{i})-f(x_{i})\ =\ -(-1)^{i}E,\ \ i=0,...,n\!+\!1.} de La Vallée Poussin 理論說明在這種形況下，沒有誤差少於 E 之 n 次多項式存在。 步驟 2 把多項式表示由 b 0 + b 1 x + . . . + b n x n {\displaystyle b_{0}+b_{1}x+...+b_{n}x^{n}} 轉為 p ( x ) {\displaystyle p(x)} . 步驟 3 依照以下所述改善輸入節點 x 0 , . . . , x n + 1 {\displaystyle x_{0},...,x_{n+1}} 的誤差 ± E {\displaystyle \pm E} 。 在每個 P-領域，現在的節點 x i {\displaystyle x_{i}} 將被區域最大 x ¯ i {\displaystyle {\bar {x}}_{i}} 取代，同樣在每個 N-領域， x i {\displaystyle x_{i}} 將被區域最小取代， 在這部分並不要求高精確律。 令 z i := p ( x ¯ i ) − f ( x ¯ i ) {\displaystyle z_{i}:=p({\bar {x}}_{i})-f({\bar {x}}_{i})} ， 其大小 | z i | {\displaystyle |z_{i}|} 皆大於或等於 E。de La Vallée Poussin 理論及其證明也可以應用至 z 0 , . . . , z n + 1 {\displaystyle z_{0},...,z_{n+1}} ， 而使此 n 次多項式有最小可能誤差的新下界為 min { | z i | } ≥ E {\displaystyle \min\{|z_{i}|\}\geq E} 。 步驟 4: 分別以 min { | z i | } {\displaystyle \min \,\{|z_{i}|\}} 與 max { | z i | } {\displaystyle \max \,\{|z_{i}|\}} 為新的上下界，此迭代演算法的終止條件為: 重複上述步驟直到 max { | z i | } − min { | z i | } {\displaystyle \max\{|z_{i}|\}-\min\{|z_{i}|\}} 足夠小且不再遞減。 有時候在最大絕對差異點的附近，會有複數個點同時被取代。 有時候相對誤差會被用來衡量函式與其近似的差異，特別是在電腦上用浮點數做運算的函式。 Intro to DSP Aarts, Ronald M.; Bond, Charles; Mendelsohn, Phil; and Weisstein, Eric W. Remez Algorithm. MathWorld.