In the mathematical subfield of numerical analysis, an M-spline is a non-negative spline function.
A family of M-spline functions of order k with n free parameters is defined by a set of knots t<sub>1</sub> ⤠t<sub>2</sub> ⤠... ⤠t<sub>n+k</sub> such that
The family includes n members indexed by i = 1,...,n.
An M-spline M<sub>i</sub>(x|k, t) has the following mathematical properties
M-splines can be efficiently and stably computed using the following recursions:
For k = 1,
if t<sub>i</sub> ⤠x < t<sub>i+1</sub>, and M<sub>i</sub>(x|1,t) = 0 otherwise.
For k > 1,
M-splines can be integrated to produce a family of monotone splines called I-splines. M-splines can also be used directly as basis splines for regression analysis involving positive response data (constraining the regression coefficients to be non-negative).