De Boor Algorithm - Society for Industrial and Applied ... Boor Algorithm A linear combination of...

4
De Boor Algorithm A linear combination of B-splines p = k c k b k of degree n with knot sequence ξ can be evaluated at x [ξ +1 ) by forming convex combinations of the coefficients of the B-splines which are nonzero at x . Starting with p 0 k = c k , k = - n,...,‘, one computes successively, for i =0,..., n - 1, p i +1 k = γ n-i k p i k + (1 - γ n-i k )p i k -1 , k = - n + i +1,...,‘, with γ n-i k = x - ξ k ξ k +n-i - ξ k and obtains p(x ) as the final value p n . AMB B-Splines – Evaluation and Differentiation 1-1

Transcript of De Boor Algorithm - Society for Industrial and Applied ... Boor Algorithm A linear combination of...

Page 1: De Boor Algorithm - Society for Industrial and Applied ... Boor Algorithm A linear combination of B-splines p = P k c k b k of degree n with knot sequence ˘can be evaluated at x 2[˘

De Boor Algorithm

A linear combination of B-splinesp =

∑k

ck bk

of degree ≤ n with knot sequence ξ can be evaluated at x ∈ [ξ`, ξ`+1) byforming convex combinations of the coefficients of the B-splines which arenonzero at x . Starting with

p0k = ck , k = `− n, . . . , ` ,

one computes successively, for i = 0, . . . , n − 1,

pi+1k = γn−ik,ξ p

ik + (1− γn−ik,ξ )pik−1, k = `− n + i + 1, . . . , ` ,

with

γn−ik,ξ =x − ξk

ξk+n−i − ξkand obtains p(x) as the final value pn` .

AMB B-Splines – Evaluation and Differentiation 1-1

Page 2: De Boor Algorithm - Society for Industrial and Applied ... Boor Algorithm A linear combination of B-splines p = P k c k b k of degree n with knot sequence ˘can be evaluated at x 2[˘

)

ξℓ−n ξℓ ξℓ+1x

p0ℓ−n p0ℓ−n+1 p0ℓ

p1ℓ−n+1 p1ℓ

pnℓ

The triangular scheme is illustrated in the figure. It simplifies slightly ifx = ξ`. If ξ` has multiplicity µ, then p(x) = pn−µ`−µ ; i.e., only n − µ steps ofthe recursion applied to c`−n, . . . , c`−µ are needed.

AMB B-Splines – Evaluation and Differentiation 1-2

Page 3: De Boor Algorithm - Society for Industrial and Applied ... Boor Algorithm A linear combination of B-splines p = P k c k b k of degree n with knot sequence ˘can be evaluated at x 2[˘

Differentiation

The derivative of a spline is a linear combination of B-splines with thesame knot sequence. More precisely, for x in any open knot interval(ξ`, ξ`+1) with n + 1 relevant B-splines bnk,ξ,

d

dx

( ∑̀k=`−n

ck bnk,ξ(x)

)=

∑̀k=`−n+1

αnk,ξ∇ck bn−1

k,ξ (x) , αnk,ξ =

n

ξk+n − ξk,

with ∇ the backward difference operator, i.e., ∇ck = ck − ck−1. Theidentity remains valid at the endpoints ξ` and ξ`+1 of the knot interval ifthese knots have multiplicity < n.

x

bnk−1,ξ bnk,ξ

bn−1k,ξ

ξk ξk+n

ck−1

ck dk = αnk,ξ∇ck

AMB B-Splines – Evaluation and Differentiation 1-3

Page 4: De Boor Algorithm - Society for Industrial and Applied ... Boor Algorithm A linear combination of B-splines p = P k c k b k of degree n with knot sequence ˘can be evaluated at x 2[˘

For a spline p =∑m−1

k=0 ck bk ∈ Snξ with knot sequence ξ0, . . . , ξm+n and

multiplicities < n,

p′ =m−1∑k=1

dk bn−1k,ξ ∈ Sn−1

ξ′ ,

where ξ′ is obtained from ξ by deleting the first and last knots. This isconsistent with the difference operation ∇, which reduces the range ofindices by 1.

AMB B-Splines – Evaluation and Differentiation 1-4