Is your feature request related to a problem? Please describe.
After working on PR #26168 #26141 #25862 #26078 #25638 #25570 and a conversation with @ev-br , these features were either needed or would make sense to have in SciPy. This is a tracker issue (for discussions and tracking the implementation) and one line explanation of why they may be needed.
Describe the solution you'd like.
Describe alternatives you've considered.
No response
Additional context (e.g. screenshots, GIFs)
- P-Splines are very common in interpolation and are often used instead of smoothing splines.
- Higher order derivatives are important for users that care about curvature. This was first requested in #24532.
- A
solver= param was first discussed here.
- Smoothing parameter
lam increases the condition-number proportionally, wrapping dpbcon in scipy.linalg would help estimate when the system becomes ill-posed instead of estimating it (which is the current behavior).
scipy.interpolate.make_smoothing_spline at lam=0 is just a make_lsq_spline. Since lsq splines now support a clamp_values kwarg, it may be reasonable to add the same for smoothing splines.
- Quartic and higher splines were first requested here.
Is your feature request related to a problem? Please describe.
After working on PR #26168 #26141 #25862 #26078 #25638 #25570 and a conversation with @ev-br , these features were either needed or would make sense to have in SciPy. This is a tracker issue (for discussions and tracking the implementation) and one line explanation of why they may be needed.
Describe the solution you'd like.
solver=option to pick the linear algebra backend for the fitting problemdpbconinscipy.linalgfor a cheap condition number estimate from the Cholesky factorclamp_valueskwarg forscipy.interpolate.make_smoothing_splinek > 3)Describe alternatives you've considered.
No response
Additional context (e.g. screenshots, GIFs)
solver=param was first discussed here.lamincreases thecondition-numberproportionally, wrappingdpbconinscipy.linalgwould help estimate when the system becomes ill-posed instead of estimating it (which is the current behavior).scipy.interpolate.make_smoothing_splineatlam=0is just amake_lsq_spline. Since lsq splines now support aclamp_valueskwarg, it may be reasonable to add the same for smoothing splines.