バーンスタイン多項式 ( バーンスタインたこうしき 、( 英 : Bernstein polynomial )はバーンスタイン基底関数 の線形結合 で与えられる多項式 である。バーンスタイン形式の多項式 ( バーンスタインけいしきのたこうしき 、( 英 : polynomial in Bernstein form )[ 1] 、ベルンシュタイン多項式 とも。
n
{\displaystyle n}
次のバーンスタイン基底関数 ( バーンスタインきていかんすう 、( 英 : Bernstein basis polynomials )
b
ν
,
n
(
x
)
{\displaystyle b_{\nu ,n}(x)}
は以下で定義される[ 3] [ 注 1] :
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 次の多項式 からなるベクトル空間の基底をなす[ 2] 。
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の分割 をなす特性をもつ[ 4] 。
この特性は以下で示される:
∑
ν
=
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 次の多項式からなるベクトル空間 の任意の元を表現できる[ 2] 。
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次の多項式と同値であるといえる。
この特性のためバーンスタイン多項式は多項式のバーンスタイン形式とも呼ばれる[ 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}}
の固有値 である。
lim
n
→
∞
B
n
(
f
)
(
x
)
=
f
(
x
)
{\displaystyle \lim _{n\rightarrow \infty }B_{n}(f)(x)=f(x)}
であることの初等的な説明
編集
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 より引用。