バーンスタイン多項式

バーンスタイン多項式（バーンスタインたこうしき、（英: Bernstein polynomial）はバーンスタイン基底関数の線形結合で与えられる多項式である。バーンスタイン形式の多項式（バーンスタインけいしきのたこうしき、（英: polynomial in Bernstein form）、ベルンシュタイン多項式とも。 バーンスタイン多項式はバーンスタイン基底関数の線形結合で与えられる多項式である（⇒#定義）。n 次のバーンスタイン多項式は任意の高々 n 次の多項式を表現できるため、バーンスタイン多項式は多項式の別形式での表現であるといえる（⇒#特性）。 バーンスタイン形式の数値的に安定な手法は、ド・カステリョのアルゴリズム（英語版）として知られている。 バーンスタイン多項式はセルゲイ・ベルンシュテインが確率論を用いてワイエルシュトラスの近似定理の別証明をする際に初めて導入された（Bernstein 1912）。のちに彼の名を取ってバーンスタイン多項式と呼ばれるようになった。 コンピュータ・グラフィックスの出現により、 x ∈ [0, 1] の範囲におけるバーンスタイン多項式は、ベジェ曲線の重要な要素となった。 n {\displaystyle n} 次のバーンスタイン基底関数（バーンスタインきていかんすう、（英: Bernstein basis polynomials） b ν , n ( x ) {\displaystyle b_{\nu ,n}(x)} は以下で定義される： 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} 次のバーンスタイン基底関数は、高々 n 次の多項式からなるベクトル空間の基底をなす。 n {\displaystyle n} 次のバーンスタイン多項式 B n ( x ) {\displaystyle B_{n}(x)} は以下で定義される： B n ( x ) = ∑ ν = 0 n β ν b ν , n ( x ) {\displaystyle B_{n}(x)=\sum _{\nu =0}^{n}\beta _{\nu }b_{\nu ,n}(x)} すなわちバーンスタイン基底関数の線形結合であり、その係数 βν はバーンスタイン係数あるいはベジェ係数と呼ばれる。 バーンスタイン基底関数は以下のような式となる。 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 ( 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 }} となる 高次のバーンスタイン基底関数の和としても記述可能 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 ] {\displaystyle [0,1]} （単位区間）において二項分布の確率質量関数 ( n k ) p k ( 1 − p ) n − k {\displaystyle {\binom {n}{k}}p^{k}(1-p)^{n-k}} と同値である。 バーンスタイン基底関数は開区間 ( 0 , 1 ) {\displaystyle (0,1)} において正の値のみをとる。すなわち b ν , n ( x ) > 0   f o r   x ∈ ( 0 , 1 ) {\displaystyle b_{\nu ,n}(x)>0\ for\ x\in (0,1)} 。 バーンスタイン基底関数は閉区間 [ 0 , 1 ] {\displaystyle [0,1]} （単位区間）において非負の値のみをとる。すなわち b ν , n ( x ) ≥ 0   f o r   x ∈ [ 0 , 1 ] {\displaystyle b_{\nu ,n}(x)\geq 0\ for\ x\in [0,1]} 。 これは 0 ≤ x ,   0 ≤ ( 1 − x )   f o r   x ∈ [ 0 , 1 ] {\displaystyle 0\leq x,\ 0\leq (1-x)\ for\ x\in \left[0,1\right]} かつ二項係数が非負より明らかである。またこの関数がこの閉区間において二項分布と同値であることからも明らかである（⇒#二項分布と区間同値）。 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.} また、バーンスタイン基底関数が二項分布の確率質量関数と同じ形であることからもこの特性がわかる（⇒#二項分布と区間同値）。 バーンスタイン多項式は以下のような特性を持つ。 n 次のバーンスタイン多項式は高々 n 次の多項式と同値である。言い換えれば、高々 n 次の多項式からなるベクトル空間の任意の元を表現できる。 n = 1 を例にとると、1次バーンスタイン多項式 B ( x ) {\displaystyle B(x)} は次のように展開できる： B ( x ) = ∑ ν = 0 1 β ν b ν , 1 ( x ) = β 0 ( 1 − x ) + β 1 x = ( β 1 − β 0 ) x + β 0 {\displaystyle B(x)=\sum _{\nu =0}^{1}\beta _{\nu }b_{\nu ,1}(x)=\beta _{0}(1-x)+\beta _{1}x=(\beta _{1}-\beta _{0})x+\beta _{0}} ここで傾き a {\displaystyle a} ・切片 b {\displaystyle b} の高々1次の多項式 p ( x ) = a x + b {\displaystyle p(x)=ax+b} を B ( x ) {\displaystyle B(x)} が表現できるか考える。 β 0 = b {\displaystyle \beta _{0}=b} , β 1 = a + b {\displaystyle \beta _{1}=a+b} とすると B ( x ) {\displaystyle B(x)} は、 B ( x ) = ( a + b − b ) x + b = a x + b = p ( x ) {\displaystyle B(x)=(a+b-b)x+b=ax+b=p(x)} となる。ゆえに1次バーンスタイン多項式は高々1次の多項式と同値であるといえる。 この特性のためバーンスタイン多項式は多項式のバーンスタイン形式とも呼ばれる。 [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)} が成り立つ。 ^ ( n ν ) {\displaystyle {n \choose \nu }} は二項係数 ^ a b c "In computer aided geometric design, polynomials are usually expressed in Bernstein form. ... Let p(t) ... be a polynomial in the Bernstein form" p.744,746 より引用。Jiang, Hao (2010). “Accurate evaluation of a polynomial and its derivative in Bernstein form”. Computers & Mathematics with Applications 60 (3): 744–755. doi:10.1016/j.camwa.2010.05.021.  ^ a b c Humpherys, Jeffrey; Jarvis, Tyler J.; Evans, Emily J. (2017). Foundations of Applied Mathematics. SIAM. p. 56. ISBN 9781611974898  ^ "バーンスタイン基底関数 x i n = n C i t i ( 1 − t ) n − i {\displaystyle x_{i}^{n}={}_{n}\!C_{i}t^{i}(1-t)^{n-i}} n は次数を表す" 金森 2017 より引用。 ^ " P ( t ) = ∑ i = 0 n B i n P i B i n = n C i t i ( 1 − t ) n − i {\displaystyle P(t)=\sum _{i=0}^{n}B_{i}^{n}P_{i}\qquad B_{i}^{n}={}_{n}\!C_{i}t^{i}(1-t)^{n-i}} ある比率で各制御点の座標を混ぜ合わせる ... 混合比（和は 1 になる） 混合比を関数で表したものを「基底関数」とよぶ" 金森 2017 より引用。 Bernstein (1912). “Démonstration du Théorème de Weierstrass fondée sur le calcul des Probabilités”. Communications of the Kharkov Mathematical Society XIII: 1-2. https://www.math.auckland.ac.nz/hat/fpapers/bern1.pdf. （参考英訳） 金森「第5回 曲線・曲面の表現 「ベジェ曲線」」『筑波大学講義 コンピュータグラフィックス基礎』2017年。https://kanamori.cs.tsukuba.ac.jp/lecture/old2017/cg_basics/05/05_slides.pdf。  多項式 ベジェ曲線 多項式補間 ニュートン補間 ラグランジュ補間 Weisstein, Eric W. "Bernstein Polynomial". mathworld.wolfram.com (英語). From Bézier to Bernstein BERNSTEIN POLYNOMIALS by Kenneth I. Joy この記事は、クリエイティブ・コモンズ・ライセンス 表示-継承 3.0 非移植のもと提供されているオンライン数学辞典『PlanetMath』の項目properties of Bernstein polynomialの本文を含む