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 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
<!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>ZigguratRng 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="185" height="50" 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 1.2</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="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="todo.html">Todo List</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.7.6.1 -->
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>QuantLib</b> </li>
<li class="navelem"><a class="el" href="class_quant_lib_1_1_ziggurat_rng.html">ZigguratRng</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> |
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">ZigguratRng Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="QuantLib::ZigguratRng" -->
<p>Ziggurat random-number generator.
<a href="class_quant_lib_1_1_ziggurat_rng.html#details">More...</a></p>
<p><code>#include <ql/experimental/math/zigguratrng.hpp></code></p>
<p><a href="class_quant_lib_1_1_ziggurat_rng-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad6ae312199547dfd98f3b79b89a036f0"></a><!-- doxytag: member="QuantLib::ZigguratRng::sample_type" ref="ad6ae312199547dfd98f3b79b89a036f0" args="" -->
typedef <a class="el" href="struct_quant_lib_1_1_sample.html">Sample</a>< <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> > </td><td class="memItemRight" valign="bottom"><b>sample_type</b></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2052bed081d36e3d3c216260365d6a31"></a><!-- doxytag: member="QuantLib::ZigguratRng::ZigguratRng" ref="a2052bed081d36e3d3c216260365d6a31" args="(unsigned long seed=0)" -->
 </td><td class="memItemRight" valign="bottom"><b>ZigguratRng</b> (unsigned long seed=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa348e1b433db27307b840e4a41684b34"></a><!-- doxytag: member="QuantLib::ZigguratRng::next" ref="aa348e1b433db27307b840e4a41684b34" args="() const " -->
<a class="el" href="struct_quant_lib_1_1_sample.html">sample_type</a> </td><td class="memItemRight" valign="bottom"><b>next</b> () const </td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Ziggurat random-number generator. </p>
<p>This generator returns standard normal variates using the Ziggurat method. The underlying RNG is mt19937 (32 bit version). The algorithm is described in Marsaglia and Tsang (2000). "The Ziggurat Method for Generating Random
Variables". Journal of Statistical Software 5 (8). Note that step 2 from the above paper reuses the rightmost 8 bits of the random integer, which creates correlation between steps 1 and 2. This implementation was written from scratch, following Marsaglia and Tsang. It avoids the correlation by using only the leftmost 24 bits of mt19937's output.</p>
<p>Note that the GNU GSL implementation uses a different value for the right-most step. The GSL value is somewhat different from the one reported by Marsaglia and Tsang because GSL uses a different tail. This implementation uses the same right-most step as reported by Marsaglia and Tsang. The generator was put through Marsaglia's Diehard battery of tests and didn't exibit any abnormal behavior. </p>
</div></div><!-- contents -->
</div>
<div class="footer">
<div class="endmatter">
Documentation generated by
<a href="http://www.doxygen.org">Doxygen</a> 1.7.6.1
</div>
</div>
</div>
</body>
</html>
|