バーンスタイン多項式

バーンスタイン多項式（バーンスタインたこうしき、Bernstein polynomial）は、バーンスタイン基底関数 (Bernstein basis polynomials) の線形結合で与えられるバーンスタイン形式の多項式。セルゲイ・ベルンシュテインにちなむ。 バーンスタイン形式の数値的に安定な手法は、ド・カステリョのアルゴリズム (en:de Casteljau's algorithm) として知られている。 バーンスタイン形式の多項式は、ベルンシュテインによりストーン＝ワイエルシュトラスの定理の構成的な証明において初めて使用された。コンピュータ・グラフィックスの出現により、 x ∈ [0, 1] の範囲におけるバーンスタイン多項式は、ベジェ曲線の重要な要素となった。 n 次のバーンスタイン基底関数は b ν , n ( x ) = ( n ν ) x ν ( 1 − x ) n − ν , ν = 0 , … , n . {\displaystyle b_{\nu ,n}(x)={n \choose \nu }x^{\nu }(1-x)^{n-\nu },\qquad \nu =0,\ldots ,n.} （ここで ( n ν ) {\displaystyle {n \choose \nu }} は二項係数）として与えられる。 n 次のバーンスタイン基底関数は、n 次以下の多項式からなるベクトル空間の基底をなす。 バーンスタイン基底関数の線形結合によって与えられる B ( x ) = ∑ ν = 0 n β ν b ν , n ( x ) {\displaystyle B(x)=\sum _{\nu =0}^{n}\beta _{\nu }b_{\nu ,n}(x)} は、n 次のバーンスタイン多項式と呼ばれる。また係数 βν はバーンスタイン係数、またはベジェ係数と呼ばれる。 バーンスタイン基底関数は以下のような式となる。 b 0 , 0 ( x ) = 1 b 0 , 1 ( x ) = 1 − x b 1 , 1 ( x ) = x b 0 , 2 ( x ) = ( 1 − x ) 2 b 1 , 2 ( x ) = 2 x ( 1 − x ) b 2 , 2 ( x ) = x 2 {\displaystyle {\begin{aligned}&b_{0,0}(x)=1&&&&\\&b_{0,1}(x)=1-x&&b_{1,1}(x)=x&&\\&b_{0,2}(x)=(1-x)^{2}&&b_{1,2}(x)=2x(1-x)&&b_{2,2}(x)=x^{2}\end{aligned}}} バーンスタイン基底関数は以下のような特性を持つ。 b ν , n ( x ) = 0 {\displaystyle b_{\nu ,n}(x)=0} , if ν < 0 or ν > n b ν , n ( 0 ) = δ ν , 0 {\displaystyle b_{\nu ,n}(0)=\delta _{\nu ,0}} and b ν , n ( 1 ) = δ ν , n {\displaystyle b_{\nu ,n}(1)=\delta _{\nu ,n}} （ここで δ {\displaystyle \delta } はクロネッカーのデルタ関数） ν ≠ 0 の時、 b ν , n ( x ) = 0 {\displaystyle b_{\nu ,n}(x)=0} は x = 0 に解を持つ ν ≠ n の時、 b ν , n ( x ) = 0 {\displaystyle b_{\nu ,n}(x)=0} は x = 1 に解を持つ b ν , n ( x ) {\displaystyle b_{\nu ,n}(x)} ≥ 0 for x in [0,1] b ν , n ( 1 − x ) = b n − ν , n ( x ) {\displaystyle b_{\nu ,n}(1-x)=b_{n-\nu ,n}(x)} 導関数は2つの低次な多項式により与えられる b ν , n ′ ( x ) = n ( b ν − 1 , n − 1 ( x ) − b ν , n − 1 ( x ) ) {\displaystyle b'_{\nu ,n}(x)=n\left(b_{\nu -1,n-1}(x)-b_{\nu ,n-1}(x)\right)} n ≠ 0 の時、 b ν , n ( x ) {\displaystyle b_{\nu ,n}(x)} は x = ν/n に極大値を持ち、その値は　 ν ν n − n ( n − ν ) n − ν ( n ν ) {\displaystyle \nu ^{\nu }n^{-n}(n-\nu )^{n-\nu }{n \choose \nu }} となる n 次のバーンスタイン基底関数は1の分割をなす ∑ ν = 0 n b ν , n ( x ) = ∑ ν = 0 n ( n ν ) x ν ( 1 − x ) n − ν = ( x + ( 1 − x ) ) n = 1. {\displaystyle \sum _{\nu =0}^{n}b_{\nu ,n}(x)=\sum _{\nu =0}^{n}{n \choose \nu }x^{\nu }(1-x)^{n-\nu }=(x+(1-x))^{n}=1.} 高次のバーンスタイン基底関数の和としても記述可能 b ν , n − 1 ( x ) = n − ν n b ν , n ( x ) + ν + 1 n b ν + 1 , n ( x ) . {\displaystyle b_{\nu ,n-1}(x)={\frac {n-\nu }{n}}b_{\nu ,n}(x)+{\frac {\nu +1}{n}}b_{\nu +1,n}(x).} [0, 1] の範囲において連続な関数 f (x) を用いたバーンスタイン多項式 B n ( f ) ( x ) = ∑ ν = 0 n f ( ν n ) b ν , n ( x ) . {\displaystyle B_{n}(f)(x)=\sum _{\nu =0}^{n}f\left({\frac {\nu }{n}}\right)b_{\nu ,n}(x).} は、[0, 1] の範囲で以下のように、一様に収束する。 lim n → ∞ B n ( f ) ( x ) = f ( x ) {\displaystyle \lim _{n\rightarrow \infty }B_{n}(f)(x)=f(x)} このことは、各点収束するが一様収束はしないという命題に比べ、より強い命題である。この一様収束は、以下のように明確に示される。 lim n → ∞ sup 0 ≤ x ≤ 1 | f ( x ) − B n ( f ) ( x ) | = 0. {\displaystyle \lim _{n\rightarrow \infty }\sup _{0\leq x\leq 1}\left|f(x)-B_{n}(f)(x)\right|=0.} 上述のように、バーンスタイン多項式はストーン＝ワイエルシュトラスの定理の証明にも用いられる。 また、より一般的に、連続な k 次導関数についても、 ‖ B n ( f ) ( k ) ‖ ∞ ≤ ( n ) k n k ‖ f ( k ) ‖ ∞  and  ‖ f ( k ) − B n ( f ) ( k ) ‖ ∞ → 0 , {\displaystyle \|B_{n}(f)^{(k)}\|_{\infty }\leq {(n)_{k} \over n^{k}}\|f^{(k)}\|_{\infty }{\text{ and }}\|f^{(k)}-B_{n}(f)^{(k)}\|_{\infty }\rightarrow 0,} であることが示せる。ここで ( n ) k n k = ( 1 − 0 n ) ( 1 − 1 n ) ⋯ ( 1 − k − 1 n ) {\displaystyle {(n)_{k} \over n^{k}}=\left(1-{0 \over n}\right)\left(1-{1 \over n}\right)\cdots \left(1-{k-1 \over n}\right)} は B n {\displaystyle B_{n}} の固有値である。 b ν , n ( x ) = ( n ν ) x ν ( 1 − x ) n − ν {\displaystyle b_{\nu ,n}(x)={n \choose \nu }x^{\nu }(1-x)^{n-\nu }} は確率 x で事象 p が起こる試行を n 回繰り返したとき、事象 p がちょうどν回起こる確率を表す。試行をn回繰り返す場合において、p が ν 回起こったときに得られる確率変数をf (ν/n)とすると、 B n ( f ) ( x ) = ∑ ν = 0 n f ( ν n ) b ν , n ( x ) . {\displaystyle B_{n}(f)(x)=\sum _{\nu =0}^{n}f\left({\frac {\nu }{n}}\right)b_{\nu ,n}(x).} は期待値を表す。 一方、n 回試行を繰り返す場合、事象 p が起こる回数は平均して nx である。よって、平均して得られる確率変数、すなわち期待値は f (nx/n) = f (x) であると考えられる。今 ν や n は整数で、x は n を分母とする有理数とは限らないので Bn (f ) (x)と f (x) の誤差も 0 とは限らないが、n を大きくしていくと両者の誤差は 0 に近づいていくと考えられるので、 lim n → ∞ B n ( f ) ( x ) = f ( x ) {\displaystyle \lim _{n\rightarrow \infty }B_{n}(f)(x)=f(x)} が成り立つ。