3
<title>Random Number Generation - GNU Scientific Library -- Reference Manual</title>
4
<meta http-equiv="Content-Type" content="text/html">
5
<meta name="description" content="GNU Scientific Library -- Reference Manual">
6
<meta name="generator" content="makeinfo 4.8">
7
<link title="Top" rel="start" href="index.html#Top">
8
<link rel="prev" href="Numerical-Integration.html#Numerical-Integration" title="Numerical Integration">
9
<link rel="next" href="Quasi_002dRandom-Sequences.html#Quasi_002dRandom-Sequences" title="Quasi-Random Sequences">
10
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
12
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 The GSL Team.
14
Permission is granted to copy, distribute and/or modify this document
15
under the terms of the GNU Free Documentation License, Version 1.2 or
16
any later version published by the Free Software Foundation; with the
17
Invariant Sections being ``GNU General Public License'' and ``Free Software
18
Needs Free Documentation'', the Front-Cover text being ``A GNU Manual'',
19
and with the Back-Cover Text being (a) (see below). A copy of the
20
license is included in the section entitled ``GNU Free Documentation
23
(a) The Back-Cover Text is: ``You have freedom to copy and modify this
24
GNU Manual, like GNU software.''-->
25
<meta http-equiv="Content-Style-Type" content="text/css">
26
<style type="text/css"><!--
27
pre.display { font-family:inherit }
28
pre.format { font-family:inherit }
29
pre.smalldisplay { font-family:inherit; font-size:smaller }
30
pre.smallformat { font-family:inherit; font-size:smaller }
31
pre.smallexample { font-size:smaller }
32
pre.smalllisp { font-size:smaller }
33
span.sc { font-variant:small-caps }
34
span.roman { font-family:serif; font-weight:normal; }
35
span.sansserif { font-family:sans-serif; font-weight:normal; }
41
<a name="Random-Number-Generation"></a>
42
Next: <a rel="next" accesskey="n" href="Quasi_002dRandom-Sequences.html#Quasi_002dRandom-Sequences">Quasi-Random Sequences</a>,
43
Previous: <a rel="previous" accesskey="p" href="Numerical-Integration.html#Numerical-Integration">Numerical Integration</a>,
44
Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
48
<h2 class="chapter">17 Random Number Generation</h2>
50
<p><a name="index-random-number-generators-1372"></a>
51
The library provides a large collection of random number generators
52
which can be accessed through a uniform interface. Environment
53
variables allow you to select different generators and seeds at runtime,
54
so that you can easily switch between generators without needing to
55
recompile your program. Each instance of a generator keeps track of its
56
own state, allowing the generators to be used in multi-threaded
57
programs. Additional functions are available for transforming uniform
58
random numbers into samples from continuous or discrete probability
59
distributions such as the Gaussian, log-normal or Poisson distributions.
61
<p>These functions are declared in the header file <samp><span class="file">gsl_rng.h</span></samp>.
63
<!-- Need to explain the difference between SERIAL and PARALLEL random -->
64
<!-- number generators here -->
66
<li><a accesskey="1" href="General-comments-on-random-numbers.html#General-comments-on-random-numbers">General comments on random numbers</a>
67
<li><a accesskey="2" href="The-Random-Number-Generator-Interface.html#The-Random-Number-Generator-Interface">The Random Number Generator Interface</a>
68
<li><a accesskey="3" href="Random-number-generator-initialization.html#Random-number-generator-initialization">Random number generator initialization</a>
69
<li><a accesskey="4" href="Sampling-from-a-random-number-generator.html#Sampling-from-a-random-number-generator">Sampling from a random number generator</a>
70
<li><a accesskey="5" href="Auxiliary-random-number-generator-functions.html#Auxiliary-random-number-generator-functions">Auxiliary random number generator functions</a>
71
<li><a accesskey="6" href="Random-number-environment-variables.html#Random-number-environment-variables">Random number environment variables</a>
72
<li><a accesskey="7" href="Copying-random-number-generator-state.html#Copying-random-number-generator-state">Copying random number generator state</a>
73
<li><a accesskey="8" href="Reading-and-writing-random-number-generator-state.html#Reading-and-writing-random-number-generator-state">Reading and writing random number generator state</a>
74
<li><a accesskey="9" href="Random-number-generator-algorithms.html#Random-number-generator-algorithms">Random number generator algorithms</a>
75
<li><a href="Unix-random-number-generators.html#Unix-random-number-generators">Unix random number generators</a>
76
<li><a href="Other-random-number-generators.html#Other-random-number-generators">Other random number generators</a>
77
<li><a href="Random-Number-Generator-Performance.html#Random-Number-Generator-Performance">Random Number Generator Performance</a>
78
<li><a href="Random-Number-Generator-Examples.html#Random-Number-Generator-Examples">Random Number Generator Examples</a>
79
<li><a href="Random-Number-References-and-Further-Reading.html#Random-Number-References-and-Further-Reading">Random Number References and Further Reading</a>
80
<li><a href="Random-Number-Acknowledgements.html#Random-Number-Acknowledgements">Random Number Acknowledgements</a>