1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta name="robots" content="none">
<title>QuantLib: BSpline Class Reference</title>
<link rel="stylesheet" href="quantlib.css" type="text/css">
<link rel="stylesheet" href="print.css" type="text/css" media="print">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
<div id="container">
<div id="header">
<img class="titleimage"
src="QL-title.jpg" width="212" height="47" border="0"
alt="QuantLib">
<br>
<h3 class="subtitle">A free/open-source library for quantitative finance</h3>
</div>
<div id="menu">
<h3 class="navbartitle">Version 0.9.0</h3>
<hr>
<h3 class="navbartitle">Getting started</h3>
<ul class="navbarlist">
<li class="navlink"><a href="index.html">Introduction</a></li>
<li class="navlink"><a href="overview.html">Project overview</a></li>
<li class="navlink"><a href="where.html">Where to get QuantLib</a></li>
<li class="navlink"><a href="install.html">Installation</a></li>
<li class="navlink"><a href="config.html">Configuration</a></li>
<li class="navlink"><a href="usage.html">Usage</a></li>
<li class="navlink"><a href="history.html">Version history</a></li>
<li class="navlink"><a href="resources.html">Additional resources</a></li>
<li class="navlink"><a href="group.html">The QuantLib group</a></li>
<li class="navlink"><a href="license.html">Copyright and license</a></li>
</ul>
<hr>
<h3 class="navbartitle">Reference manual</h3>
<ul class="navbarlist">
<li class="navlink"><a href="modules.html">Modules</a></li>
<li class="navlink"><a href="hierarchy.html">Class Hierarchy</a></li>
<li class="navlink"><a href="annotated.html">Compound List</a></li>
<li class="navlink"><a href="files.html">File List</a></li>
<li class="navlink"><a href="functions.html">Compound Members</a></li>
<li class="navlink"><a href="globals.html">File Members</a></li>
<li class="navlink"><a href="bug.html">Known Bugs</a></li>
<li class="navlink"><a href="caveats.html">Caveats</a></li>
<li class="navlink"><a href="test.html">Test Suite</a></li>
<li class="navlink"><a href="examples.html">Examples</a></li>
</ul>
</div>
<div id="content">
<!--Doxygen-generated content-->
<!-- Generated by Doxygen 1.5.4 -->
<div class="nav">
<a class="el" href="namespace_quant_lib.html">QuantLib</a>::<a class="el" href="class_quant_lib_1_1_b_spline.html">BSpline</a></div>
<h1>BSpline Class Reference</h1><!-- doxytag: class="QuantLib::BSpline" --><code>#include <ql/math/bspline.hpp></code>
<p>
<p>
<a href="class_quant_lib_1_1_b_spline-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
B-spline basis functions.
<p>
Follows treatment and notation from:<p>
Weisstein, Eric W. "B-Spline." From MathWorld--A Wolfram Web Resource. <<a href="http://mathworld.wolfram.com/B-Spline.html">http://mathworld.wolfram.com/B-Spline.html</a>><p>
<img class="formulaInl" alt="$ (p+1) $" src="form_102.png">-th order B-spline (or p degree polynomial) basis functions <img class="formulaInl" alt="$ N_{i,p}(x), i = 0,1,2 \ldots n $" src="form_103.png">, with <img class="formulaInl" alt="$ n+1 $" src="form_104.png"> control points, or equivalently, an associated knot vector of size <img class="formulaInl" alt="$ p+n+2 $" src="form_105.png"> defined at the increasingly sorted points <img class="formulaInl" alt="$ (x_0, x_1 \ldots x_{n+p+1}) $" src="form_106.png">. A linear B-spline has <img class="formulaInl" alt="$ p=1 $" src="form_107.png">, quadratic B-spline has <img class="formulaInl" alt="$ p=2 $" src="form_108.png">, a cubic B-spline has <img class="formulaInl" alt="$ p=3 $" src="form_109.png">, etc.<p>
The B-spline basis functions are defined recursively as follows:<p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ \begin{array}{rcl} N_{i,0}(x) &=& 1 \textrm{\ if\ } x_{i} \leq x < x_{i+1} \\ &=& 0 \textrm{\ otherwise} \\ N_{i,p}(x) &=& N_{i,p-1}(x) \frac{(x - x_{i})}{ (x_{i+p-1} - x_{i})} + N_{i+1,p-1}(x) \frac{(x_{i+p} - x)}{(x_{i+p} - x_{i+1})} \end{array} \]" src="form_110.png">
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98d1f469c2fccf68567d10f6919a28f3"></a><!-- doxytag: member="QuantLib::BSpline::BSpline" ref="98d1f469c2fccf68567d10f6919a28f3" args="(Natural p, Natural n, const std::vector< Real > &knots)" -->
</td><td class="memItemRight" valign="bottom"><b>BSpline</b> (<a class="el" href="group__types.html#g7e529c39c477ba1f5a22264d93e8457a">Natural</a> p, <a class="el" href="group__types.html#g7e529c39c477ba1f5a22264d93e8457a">Natural</a> n, const std::vector< <a class="el" href="group__types.html#g4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> > &knots)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f4b5a32b1cb2ea56aea90bf5db3122b2"></a><!-- doxytag: member="QuantLib::BSpline::operator()" ref="f4b5a32b1cb2ea56aea90bf5db3122b2" args="(Natural i, Real x) const " -->
<a class="el" href="group__types.html#g4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> </td><td class="memItemRight" valign="bottom"><b>operator()</b> (<a class="el" href="group__types.html#g7e529c39c477ba1f5a22264d93e8457a">Natural</a> i, <a class="el" href="group__types.html#g4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> x) const </td></tr>
</table>
</div>
<div class="footer">
<div class="endmatter">
Documentation generated by
<a href="http://www.doxygen.org">Doxygen</a> 1.5.4
</div>
</div>
</div>
</body>
</html>
|