まず近似する関数f に対し、近似区間中の n + 2 {\displaystyle n+2} のサンプル点の集合 X = { x 1 , x 2 , . . . , x n + 2 } {\displaystyle X=\{x_{1},x_{2},...,x_{n+2}\}} を考える。 X {\displaystyle X} は通常、区間中に線形に射影されたチェビシェフ多項式の極値を用いる。
未知数 b 0 , b 1 . . . b n {\displaystyle b_{0},b_{1}...b_{n}} および E {\displaystyle E} について 以下の線形連立方程式を解く 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 i {\displaystyle b_{i}} を多項式 P n ( x ) = ∑ b i x i {\displaystyle P_{n}(x)=\sum b_{i}x^{i}} を形成する係数とする。 絶対誤差 | P n ( x ) − f ( x ) | {\displaystyle |P_{n}(x)-f(x)|} が極大となる点 m {\displaystyle m} の集合 M {\displaystyle M} を見つける。 誤差がすべての m {\displaystyle m} について大きさが等しく、符号が交互である場合、 P n {\displaystyle P_{n}} は、最大誤差最小の近似多項式となる。 そうでない場合は、 X {\displaystyle X} を M {\displaystyle M} に置き換え、上記の手順を繰り返す。 上記の手順を繰り返す。 結果は、最良近似多項式または(ミニマックス近似 )(英語版) と呼ばれる。
Remezアルゴリズムの実装における技術のレビューはW. Fraserによってなされた。 [2]
初期値の選択 多項式補間の理論における役割のため、近似の初期値としてチェビシェフノードが一般的に使用される。 ラグランジュ補間 L n ( f ) {\displaystyle L_{n}(f)} を用いた関数 f {\displaystyle 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 }
ここで、ノード( t 1 , … , t n + 1 {\displaystyle t_{1},\ldots ,t_{n+1}} )のラグランジュ補間演算子 L n {\displaystyle L_{n}} のノルム((ルベーグ定数 )(英語版) )は
‖ 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 {\displaystyle 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})}}}
となる。
Theodore A. Kilgore、 [3] Carl de Boor、およびAllan Pinkus [4] は、各 L n {\displaystyle L_{n}} に一意の t i {\displaystyle t_{i}} が存在することを証明したが、(通常の)多項式については明示的に知られていない。 同様に、 Λ _ n ( T ) = min − 1 ≤ x ≤ 1 λ n ( T ; x ) {\displaystyle {\underline {\Lambda }}_{n}(T)=\min _{-1\leq x\leq 1}\lambda _{n}(T;x)} 、およびノードの選択の最適性は Λ ¯ n − Λ _ n ≥ 0 {\displaystyle {\overline {\Lambda }}_{n}-{\underline {\Lambda }}_{n}\geq 0} のように表現できる。
準最適ではあるが分析的に明示的な選択肢を提供するチェビシェフノードの場合、漸近的挙動は以下の様になることが知られている[5]
Λ ¯ 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,}
であり、および上限[6]
Λ ¯ n ( T ) ≤ 2 π log ( n + 1 ) + 1 {\displaystyle {\overline {\Lambda }}_{n}(T)\leq {\frac {2}{\pi }}\log(n+1)+1}
があたえられる。
Lev Brutman [7] は 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 [8] は、 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 {\displaystyle i} は 0 ≤ i ≤ n + 1 {\displaystyle 0\leq i\leq n+1} である。
ステップ1
与えられた x 0 , x 1 , . . . x n + 1 {\displaystyle x_{0},x_{1},...x_{n+1}} に対して 、以下の線形連立方程式を未知数 b 0 , b 1 . . . b n {\displaystyle b_{0},b_{1}...b_{n}} および E {\displaystyle E} について解く
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})}
( − 1 ) i E {\displaystyle (-1)^{i}E} の項が存在しているためノード x 0 , . . . , x n + 1 {\displaystyle x_{0},...,x_{n+1}} は整列(単調増加もしくは単調減少)している必要があることがわかる。 このとき、この線形方程式には一意の解が存在する。また、標準的なライブラリのソルバーで線形方程式を解く場合は O ( n 3 ) {\displaystyle O(n^{3})} の計算量となるが、この処理は O ( n 2 ) {\displaystyle O(n^{2})} の計算量で得られることがわかっている。
以下に簡単な証明を次に示す。
f ( x ) {\displaystyle f(x)} に対して n {\displaystyle n} 次補間関数 p 1 ( x ) {\displaystyle p_{1}(x)} を、 ( − 1 ) i {\displaystyle (-1)^{i}} について n {\displaystyle n} 次補間関数 p 2 ( x ) {\displaystyle p_{2}(x)} を最初の n + 1 {\displaystyle n+1} ノード( x 0 , . . . , x n {\displaystyle x_{0},...,x_{n}} )について計算する。
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.}
この計算のため、各補間関数の計算において 0 , . . . , n {\displaystyle 0,...,n} 階の差商 を使用したニュートン補間 を用いるとそれぞれ O ( n 2 ) {\displaystyle O(n^{2})} の計算量となる。
多項式 p 2 ( x ) {\displaystyle p_{2}(x)} の x i − 1 {\displaystyle x_{i-1}} と x i {\displaystyle x_{i}} の間に i {\displaystyle i} 番目の零点がある( i = 1 , … , n {\displaystyle i=1,\ldots ,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 {\displaystyle 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 {\displaystyle E} に対して、 i = 0 , … , n {\displaystyle i=0,\ldots ,n} において式 b 0 + b 1 x i + . . . + b n x i n + ( − 1 ) i E {\displaystyle b_{0}+b_{1}x_{i}+...+b_{n}x_{i}^{n}+(-1)^{i}E} と同じである。 i = n + 1 {\displaystyle i=n+1} とのときは
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 {\displaystyle 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}}}.}
上述の通り、分母の2項は同じ符号を持つため、 E {\displaystyle E} 及び 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 {\displaystyle 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 {\displaystyle E} より小さい n {\displaystyle n} 次の多項式は存在しない。もしそのような多項式 p ~ ( x ) {\displaystyle {\tilde {p}}(x)} が存在した場合、 p ( x ) − p ~ ( x ) = ( p ( x ) − f ( x ) ) − ( p ~ ( x ) − f ( x ) ) {\displaystyle p(x)-{\tilde {p}}(x)=(p(x)-f(x))-({\tilde {p}}(x)-f(x))} はノード x i {\displaystyle x_{i}} において正負交互のままであり n + 1 {\displaystyle n+1} 個の零点を有することになるが、次数 n {\displaystyle n} の多項式ではありえない。 したがって、この E {\displaystyle E} は、次数 n {\displaystyle n} の 多項式におけるで達成できる誤差の下限となる。
ステップ2
p ( x ) {\displaystyle p(x)} を b 0 + b 1 x + . . . + b n x n {\displaystyle b_{0}+b_{1}x+...+b_{n}x^{n}} とする。
ステップ3
次のように入力ノード x 0 , . . . , x n + 1 {\displaystyle x_{0},...,x_{n+1}} とそのエラー ± E {\displaystyle \pm E} を更新する。
p ( x ) − f ( x ) {\displaystyle p(x)-f(x)} について、零点によって区切られる正負の領域にそれぞれついて、正の領域で x i {\displaystyle x_{i}} を極大値 x ¯ i {\displaystyle {\bar {x}}_{i}} に置き換え、負の領域では x i {\displaystyle x_{i}} 極小値 x ¯ i {\displaystyle {\bar {x}}_{i}} に置き換える。 (期待する x ¯ 0 {\displaystyle {\bar {x}}_{0}} A で x ¯ i {\displaystyle {\bar {x}}_{i}} 近く x i {\displaystyle x_{i}} 、そして x ¯ n + 1 {\displaystyle {\bar {x}}_{n+1}} Bで 。)このステップでは高い精度は必要なく2つの2次近似 を使用した直線探索 で十分である。 ( [9] )
ここで z i := p ( x ¯ i ) − f ( x ¯ i ) {\displaystyle z_{i}:=p({\bar {x}}_{i})-f({\bar {x}}_{i})} とする。 各 z i {\displaystyle z_{i}} に対して絶対値 | z i | {\displaystyle |z_{i}|} はE 以上となる。 de La Vallée Poussin の定理とその証明は、 z 0 , . . . , z n + 1 {\displaystyle z_{0},...,z_{n+1}} についての min { | z i | } ≥ E {\displaystyle \min\{|z_{i}|\}\geq E} についても適用可能で、次数 n {\displaystyle n} の 最良多項式近似の最大誤差の下限と考えることができる。
また、 max { | z i | } {\displaystyle \max\{|z_{i}|\}} は最大誤差の上限となる。
ステップ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}|\}} 十分に小さいか、減少しなくなったら繰り返しを終了する。 これらの上下限は反復処理の収束状況を示していると考えられる。