MATH661 Homework 7 - Spline approximation

Posted: 11/2/21

Due: 11/9/21, 11:55PM

1Track 1

  1. Determine the linear spline interpolant p(t) of

    f(t)=sin(cos(t))+cos(sin(t))

    using n=2k equidistant nodes in the interval x[-π,π], for k=2,3,4,5. Present a superimposed plot of the errors

    lgek(t)=lg|f(t)-p(t)|.
  2. Repeat above for quadratic splines.

  3. Repeat for cubic splines. Compare the error behavior for all three cases.

  4. Extra credit (3 points). The above can be carried out either by traditional or B-spline formulations. Do both formulations for double credit.

2Track 2

  1. Prove that natural cubic spline end conditions lead to a 2-norm of curvature smaller than that of the interpolated function

    ||S''||22||f''||22,

    with

    ||f||22=ab[f''(t)]2dt.

    Hint: Separate integral onto subintervals

    ab=i=1nxi-1xi.
  2. Prove that the B-spline set k(t;𝒙)={B-k,k(t),,Bn,k(t)} is a basis for all spline interpolants of degree k defined on the partition 𝒙, denoted as 𝒮k(t;𝒙).

  3. Construct convergence plots for the B-spline interpolants of degrees k=1,2,3,4,5 of

    f(t)=sin(cos(t))+cos(sin(t))p(t)=i=-knciBi,k(t)

    using n=2p equidistant nodes in the interval x[-π,π], for p=3,4,5,6,7. Verify if order of convergence indicated by the plot slopes corresponds to theoretical predictions. Present plots of k(t;𝒙) for p=3 for each k.

    𝑩𝒄=𝒅
  4. Extra credit (3points). Implement algorithms for efficient determination of B-spline coefficients 𝒄 based upon their recursive definition. Also based upon the recursive definition of B-splines, present an efficient algorithm for evaluation of the B-spline

    p(t)=𝑩(t)𝒄.

    Note: the algorithms should be (significantly) more economical than solving 𝑩𝒄=𝒅 by LU or QR factorization which require 𝒪(n3) operations, and also more economical than the 𝒪(n2) operations required to carry out the matrix vector product 𝑩(t)𝒄.