Spline fitting demo inc comparison of sparse vs non-sparse

Isn’t that something like a sum-to-zero constraint? Anyway, if
you add a column of 1’s as Intercept, the design matrix has
full rank. It don’t see the problem at the moment.

rankMatrix(cbind(splines::bs(0:10, degree = 3, df = 4),1))
[1] 5
attr(,“method”)
[1] “tolNorm2”
attr(,“useGrad”)
[1] FALSE
attr(,“tol”)
[1] 2.442491e-15