l2knts Subroutine

subroutine l2knts(break, l, k, t, n)

************80

! L2KNTS converts breakpoints to knots.

Discussion:

The breakpoint sequence BREAK is converted into a corresponding 
knot sequence T to allow the representation of a piecewise
polynomial function of order K with K-2 continuous derivatives 
as a spline of order K with knot sequence T.

This means that T(1:N+K) = BREAK(1) K times, then BREAK(2:L), 
then BREAK(L+1) K times.

Therefore, N = K - 1 + L.

Modified:

14 February 2007

Author:

Carl DeBoor

Reference:

Carl DeBoor,
A Practical Guide to Splines,
Springer, 2001,
ISBN: 0387953663,
LC: QA1.A647.v27.

Parameters:

Input, integer ( kind = 4 ) K, the order.

Input, integer ( kind = 4 ) L, the number of polynomial pieces.

Input, real ( kind = 8 ) BREAK(L+1), the breakpoint sequence.

Output, real ( kind = 8 ) T(N+K), the knot sequence.

Output, integer ( kind = 4 ) N, the dimension of the corresponding spline 
space of order K.

Arguments

Type IntentOptional Attributes Name
real(kind=8) :: break(l+1)
integer(kind=4) :: l
integer(kind=4) :: k
real(kind=8) :: t(k-1+l+k)
integer(kind=4) :: n