해석학에서 스플라인, B-스플라인

해석학에서 스플라인, B-스플라인

Spline and B-spline in Analysis

정의1

함수 $f:\mathbb{R} \to \mathbb{R}$이 구간마다 다항식piecewise polynomial이면 $f$를 $\mathbb{R}$위에서의 스플라인spline이라고 한다. 다항식이 바뀌는 점을 knot 이라 한다.

설명

정의를 보면 알 수 있듯이 스플라인이 연속함수여야하는 것은 아니다. 아래와 같은 함수 $f$는 스플라인의 한 예이다.

$$ f(x) = \begin{cases} 0 & x\in[\infty,0] \\ 2x^{2}&x\in(0,1] \\ 2-x & x\in (1,4] \\ \frac{1}{16}x^{3} & x\in(4,\infty] \end{cases} $$

untitled2.png

위의 경우에서 $x=0$, $x=1$, $x=4$가 놋이다. B-스플라인 은 스플라인 중에서 좋은 특징을 가진 스플라인이다. $B$-스플라인 $N_{1}$을 아래와 같이 구간 $[0,1]$에서의 특성함수로 정의한다.

$$ N_{1}(x) :=\chi_{[0,1]}(x)\quad , x\in \mathbb{R} $$

그리고 $m \in \mathbb{N}$에 대해서 B-스플라인 $N_{m+1}$을 아래와 같이 정의한다.

$$ \begin{equation} N_{m+1}(x) := (N_{m} * N_{1})(x)\end{equation} $$

이때 $\ast$는 컨볼루션이다. $m$을 B-스플라인 $N_{m}$의 오더order라고 한다. 정의 $(1)$에 의해 다음이 성립한다.

$$ \begin{align*} N_{m} =&\ N_{m-1}*N_{1} \\ =&\ N_{m-2}*N_{1}*N_{1} \\ =&\ N_{m-3}*N_{1}*N_{1}*N_{1} \\ =&\ \underbrace{N_{1}N_{1}N_{1}\cdotsN_{1}}_{m} \end{align} $$

또한 $N_{1}$과 컨볼루션의 정의로 아래의 식이 성립함을 알 수 있다.

$$ N_{m+1}(x)=\int _{-\infty} ^{\infty}N_{m}(x-t)N_{1}(t)dt=\int_{0}^{1}N_{m}(x-t)dt $$

아래의 그림은 왼쪽에서부터 $N_{2}$, $N_{3}$의 그래프를 그린 것이다.2020-10-05135620.png

성질

오더가 $m\in \mathbb{N}$인 B-스플라인은 다음과 같은 성질을 만족한다.

(a) $\mathrm{supp}N_{m}=[0,m]$ $\text{and}$ $N_{m}(x)>0 \text{ for } x\in(0,m) $

(b) $\displaystyle \int _{-\infty} ^{\infty} N_{m}(x)dx=1$

(c) $m\ge 2$에 대해서 아래의 식이 성립한다.

$$ \begin{equation} \sum \limits_{k \in \mathbb{Z}} N_{m}(x-k)=1,\quad \forall x\in \mathbb{R} \end{equation} $$

(c’) $m=1$일 때, 위 식은 $x\in \mathbb{R}\setminus \mathbb{Z}$에 대해서 성립한다.

같이보기


  1. Ole Christensen, Functions, Spaces, and Expansions: Mathematical Tools in Physics and Engineering (2010), p203-204 ↩︎

댓글