Penalized b-splines and their application with an in depth look at the bivariate tensor product penalized b-spline