バーンスタイン多項式
バーンスタイン多項式(バーンスタインたこうしき、Bernstein polynomial)は、バーンスタイン基底関数 (Bernstein basis polynomials) の線形結合で与えられるバーンスタイン形式の多項式。セルゲイ・ベルンシュテインにちなむ。
バーンスタイン形式の数値的に安定な手法は、ド・カステリョのアルゴリズム (en:de Casteljau's algorithm) として知られている。
バーンスタイン形式の多項式は、ベルンシュテインによりストーン=ワイエルシュトラスの定理の構成的な証明において初めて使用された。コンピュータ・グラフィックスの出現により、 x ∈ [0, 1] の範囲におけるバーンスタイン多項式は、ベジェ曲線の重要な要素となった。
Contents
定義
n 次のバーンスタイン基底関数は
- [math]b_{\nu,n}(x) = {n \choose \nu} x^{\nu} (1-x)^{n-\nu}, \qquad \nu=0,\ldots,n.[/math]
(ここで [math]{n \choose \nu}[/math] は二項係数)として与えられる。
n 次のバーンスタイン基底関数は、n 次の多項式空間であるベクトル空間 [math]\Pi_n[/math] の基底をなす。
バーンスタイン基底関数の線形結合によって与えられる
- [math]B(x) = \sum_{\nu=0}^{n} \beta_{\nu} b_{\nu,n}(x)[/math]
は、n 次のバーンスタイン多項式と呼ばれる。また係数 βν はバーンスタイン係数、またはベジェ係数と呼ばれる。
例
バーンスタイン基底関数は以下のような式となる。
- [math]b_{0,0}(x) = 1 \,[/math]
- [math]b_{0,1}(x) = 1-x \,[/math]
- [math]b_{1,1}(x) = x \,[/math]
- [math]b_{0,2}(x) = (1-x)^2 \,[/math]
- [math]b_{1,2}(x) = 2x(1-x) \,[/math]
- [math]b_{2,2}(x) = x^2 \ [/math]
特性
バーンスタイン基底関数は以下のような特性を持つ。
- [math]b_{\nu,n}(x) = 0[/math], if ν < 0 or ν > n
- [math]b_{\nu,n}(0) = \delta_{\nu,0}[/math] and [math]b_{\nu,n}(1) = \delta_{\nu,n}[/math](ここで [math]\delta[/math] はクロネッカーのデルタ関数)
- ν ≠ 0 の時、[math]b_{\nu,n}(x) = 0[/math] は x = 0 に解を持つ
- ν ≠ n の時、[math]b_{\nu,n}(x) = 0[/math] は x = 1 に解を持つ
- [math]b_{\nu,n}(x)[/math] ≥ 0 for x in [0,1]
- [math]b_{\nu,n}(1 - x) = b_{n-\nu,n}(x) [/math]
- 導関数は2つの低次な多項式により与えられる
- [math]b'_{\nu,n}(x) = n\left(b_{\nu-1,n-1}(x) - b_{\nu,n-1}(x)\right)[/math]
- n ≠ 0 の時、[math]b_{\nu,n}(x)[/math] は x = ν/n に極大値を持ち、その値は [math]\nu^{\nu}n^{-n}(n-\nu)^{n-\nu}{n\choose \nu}[/math] となる
- n 次のバーンスタイン基底関数は1の分割をなす
- [math]\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.[/math]
- 高次のバーンスタイン基底関数の和としても記述可能
- [math]b_{\nu,n-1}(x)=\frac{n-\nu}{n}b_{\nu,n}(x)+\frac{\nu+1}{n}b_{\nu+1,n}(x).[/math]
連続関数の近似
[0, 1] の範囲において連続な関数 f(x) を用いたバーンスタイン多項式
- [math]B_n(f)(x) = \sum_{\nu=0}^{n} f\left(\frac{\nu}{n}\right) b_{\nu,n}(x).[/math]
は、[0, 1] の範囲で以下のように、一様に収束する。
- [math]\lim_{n\rightarrow\infty} B_n(f)(x)=f(x)[/math]
このことは、各点収束するが一様収束はしないという命題に比べ、より強い命題である。この一様収束は、以下のように明確に示される。
- [math]\lim_{n\rightarrow\infty} \sup\{\,\left|f(x)-B_n(f)(x)\right|:0\leq x\leq 1\,\}=0.[/math]
上述のように、バーンスタイン多項式はストーン=ワイエルシュトラスの定理の証明にも用いられる。
また、より一般的に、連続な k 次導関数についても、
- [math]\| B_n(f)^{(k)} \|_\infty \le {(n)_k \over n^k} \| f^{(k)} \|_\infty\text{ and }\|f^{(k)}- B_n(f)^{(k)} \|_\infty \rightarrow 0,[/math]
であることが示せる。ここで [math]{(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)[/math] は [math]B_n[/math] の固有値である。
[math]\lim_{n\rightarrow\infty} B_n(f)(x)=f(x)[/math]であることの初等的な説明
- [math]b_{\nu,n}(x)={n \choose \nu} x^{\nu} (1-x)^{n-\nu}[/math]
は確率xで事象pが起こる試行をn回繰り返したとき、事象pがちょうどν回起こる確率を表す。試行をn回繰り返す場合において、pがν回起こったときに得られる確率変数をf(ν/n)とすると、
- [math]B_n(f)(x) = \sum_{\nu=0}^{n} f\left(\frac{\nu}{n}\right) b_{\nu,n}(x).[/math]
は期待値を表す。 一方、n回試行を繰り返す場合、事象pが起こる回数は平均してnxである。よって、平均して得られる確率変数、すなわち期待値はf(nx/n)=f(x)であると考えられる。今、νやnは整数で、xはnを分母とする有理数とは限らないので[math]B_n(f)(x)[/math]と[math]f(x)[/math]の誤差は0とは限らないが、nを大きくしていくと両者の誤差は0に近づいていくと考えられるので、
- [math]\lim_{n\rightarrow\infty} B_n(f)(x)=f(x)[/math]
が成り立つ。
関連項目
外部リンク
- Weisstein, Eric W. “Bernstein Polynomial”. MathWorld(英語). Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- From Bézier to Bernstein
- BERNSTEIN POLYNOMIALS by Kenneth I. Joy