QuantLib_BSpline man page

BSpline — B-spline basis functions.  


#include <ql/math/bspline.hpp>

Public Member Functions

BSpline (Natural p, Natural n, const std::vector< Real > &knots)
Real operator() (Natural i, Real x) const

Detailed Description

B-spline basis functions.

Follows treatment and notation from:

Weisstein, Eric W. 'B-Spline.' From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/B-Spline.html

$ (p+1) $-th order B-spline (or p degree polynomial) basis functions $ N_{i,p}(x), i = 0,1,2 ldots n $, with $ n+1 $ control points, or equivalently, an associated knot vector of size $ p+n+2 $ defined at the increasingly sorted points $ (x_0, x_1 ldots x_{n+p+1}) $. A linear B-spline has $ p=1 $, quadratic B-spline has $ p=2 $, a cubic B-spline has $ p=3 $, etc.

The B-spline basis functions are defined recursively as follows:

[ begin{array}{rcl} N_{i,0}(x) &=& 1 extrm{ if } x_{i} leq x < x_{i+1} \ &=& 0 extrm{ otherwise} \ N_{i,p}(x) &=& N_{i,p-1}(x) ac{(x - x_{i})}{ (x_{i+p-1} - x_{i})} + N_{i+1,p-1}(x) ac{(x_{i+p} - x)}{(x_{i+p} - x_{i+1})} \nd{array} ]


Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

BSpline(3) is an alias of QuantLib_BSpline(3).

Fri Feb 10 2017 Version 1.9.1 QuantLib