]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / math / doc / html / math_toolkit / stat_tut / weg / st_eg / two_sample_students_t.html
CommitLineData
7c673cae
FG
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4<title>Comparing the means of two samples with the Students-t test</title>
5<link rel="stylesheet" href="../../../../math.css" type="text/css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7<link rel="home" href="../../../../index.html" title="Math Toolkit 2.5.1">
8<link rel="up" href="../st_eg.html" title="Student's t Distribution Examples">
9<link rel="prev" href="tut_mean_size.html" title="Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test">
10<link rel="next" href="paired_st.html" title="Comparing two paired samples with the Student's t distribution">
11</head>
12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13<table cellpadding="2" width="100%"><tr>
14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
15<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
16<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
20</tr></table>
21<hr>
22<div class="spirit-nav">
23<a accesskey="p" href="tut_mean_size.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="paired_st.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h5 class="title">
27<a name="math_toolkit.stat_tut.weg.st_eg.two_sample_students_t"></a><a class="link" href="two_sample_students_t.html" title="Comparing the means of two samples with the Students-t test">Comparing
28 the means of two samples with the Students-t test</a>
29</h5></div></div></div>
30<p>
31 Imagine that we have two samples, and we wish to determine whether their
32 means are different or not. This situation often arises when determining
33 whether a new process or treatment is better than an old one.
34 </p>
35<p>
36 In this example, we'll be using the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3531.htm" target="_top">Car
37 Mileage sample data</a> from the <a href="http://www.itl.nist.gov" target="_top">NIST
38 website</a>. The data compares miles per gallon of US cars with miles
39 per gallon of Japanese cars.
40 </p>
41<p>
42 The sample code is in <a href="../../../../../../example/students_t_two_samples.cpp" target="_top">students_t_two_samples.cpp</a>.
43 </p>
44<p>
45 There are two ways in which this test can be conducted: we can assume
46 that the true standard deviations of the two samples are equal or not.
47 If the standard deviations are assumed to be equal, then the calculation
48 of the t-statistic is greatly simplified, so we'll examine that case
49 first. In real life we should verify whether this assumption is valid
50 with a Chi-Squared test for equal variances.
51 </p>
52<p>
53 We begin by defining a procedure that will conduct our test assuming
54 equal variances:
55 </p>
56<pre class="programlisting"><span class="comment">// Needed headers:</span>
57<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
58<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
59<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
60<span class="comment">// Simplify usage:</span>
61<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
62<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
63
64<span class="keyword">void</span> <span class="identifier">two_samples_t_test_equal_sd</span><span class="special">(</span>
65 <span class="keyword">double</span> <span class="identifier">Sm1</span><span class="special">,</span> <span class="comment">// Sm1 = Sample 1 Mean.</span>
66 <span class="keyword">double</span> <span class="identifier">Sd1</span><span class="special">,</span> <span class="comment">// Sd1 = Sample 1 Standard Deviation.</span>
67 <span class="keyword">unsigned</span> <span class="identifier">Sn1</span><span class="special">,</span> <span class="comment">// Sn1 = Sample 1 Size.</span>
68 <span class="keyword">double</span> <span class="identifier">Sm2</span><span class="special">,</span> <span class="comment">// Sm2 = Sample 2 Mean.</span>
69 <span class="keyword">double</span> <span class="identifier">Sd2</span><span class="special">,</span> <span class="comment">// Sd2 = Sample 2 Standard Deviation.</span>
70 <span class="keyword">unsigned</span> <span class="identifier">Sn2</span><span class="special">,</span> <span class="comment">// Sn2 = Sample 2 Size.</span>
71 <span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">)</span> <span class="comment">// alpha = Significance Level.</span>
72<span class="special">{</span>
73</pre>
74<p>
75 Our procedure will begin by calculating the t-statistic, assuming equal
76 variances the needed formulae are:
77 </p>
78<p>
79 <span class="inlinemediaobject"><img src="../../../../../equations/dist_tutorial1.svg"></span>
80 </p>
81<p>
82 where Sp is the "pooled" standard deviation of the two samples,
83 and <span class="emphasis"><em>v</em></span> is the number of degrees of freedom of the
84 two combined samples. We can now write the code to calculate the t-statistic:
85 </p>
86<pre class="programlisting"><span class="comment">// Degrees of freedom:</span>
87<span class="keyword">double</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="identifier">Sn2</span> <span class="special">-</span> <span class="number">2</span><span class="special">;</span>
88<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Degrees of Freedom"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
89<span class="comment">// Pooled variance:</span>
90<span class="keyword">double</span> <span class="identifier">sp</span> <span class="special">=</span> <span class="identifier">sqrt</span><span class="special">(((</span><span class="identifier">Sn1</span><span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">Sn2</span><span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">v</span><span class="special">);</span>
91<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Pooled Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sp</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
92<span class="comment">// t-statistic:</span>
93<span class="keyword">double</span> <span class="identifier">t_stat</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Sm1</span> <span class="special">-</span> <span class="identifier">Sm2</span><span class="special">)</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">sp</span> <span class="special">*</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="number">1.0</span> <span class="special">/</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="number">1.0</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">));</span>
94<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"T Statistic"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t_stat</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
95</pre>
96<p>
97 The next step is to define our distribution object, and calculate the
98 complement of the probability:
99 </p>
100<pre class="programlisting"><span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
101<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t_stat</span><span class="special">)));</span>
102<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that difference is due to chance"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
103 <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="number">2</span> <span class="special">*</span> <span class="identifier">q</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
104</pre>
105<p>
106 Here we've used the absolute value of the t-statistic, because we initially
107 want to know simply whether there is a difference or not (a two-sided
108 test). However, we can also test whether the mean of the second sample
109 is greater or is less (one-sided test) than that of the first: all the
110 possible tests are summed up in the following table:
111 </p>
112<div class="informaltable"><table class="table">
113<colgroup>
114<col>
115<col>
116</colgroup>
117<thead><tr>
118<th>
119 <p>
120 Hypothesis
121 </p>
122 </th>
123<th>
124 <p>
125 Test
126 </p>
127 </th>
128</tr></thead>
129<tbody>
130<tr>
131<td>
132 <p>
133 The Null-hypothesis: there is <span class="bold"><strong>no difference</strong></span>
134 in means
135 </p>
136 </td>
137<td>
138 <p>
139 Reject if complement of CDF for |t| &lt; significance level
140 / 2:
141 </p>
142 <p>
143 <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
144 <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t</span><span class="special">)))</span>
145 <span class="special">&lt;</span> <span class="identifier">alpha</span>
146 <span class="special">/</span> <span class="number">2</span></code>
147 </p>
148 </td>
149</tr>
150<tr>
151<td>
152 <p>
153 The Alternative-hypothesis: there is a <span class="bold"><strong>difference</strong></span>
154 in means
155 </p>
156 </td>
157<td>
158 <p>
159 Reject if complement of CDF for |t| &gt; significance level
160 / 2:
161 </p>
162 <p>
163 <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
164 <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t</span><span class="special">)))</span>
165 <span class="special">&lt;</span> <span class="identifier">alpha</span>
166 <span class="special">/</span> <span class="number">2</span></code>
167 </p>
168 </td>
169</tr>
170<tr>
171<td>
172 <p>
173 The Alternative-hypothesis: Sample 1 Mean is <span class="bold"><strong>less</strong></span>
174 than Sample 2 Mean.
175 </p>
176 </td>
177<td>
178 <p>
179 Reject if CDF of t &gt; significance level:
180 </p>
181 <p>
182 <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
183 <span class="identifier">t</span><span class="special">)</span>
184 <span class="special">&gt;</span> <span class="identifier">alpha</span></code>
185 </p>
186 </td>
187</tr>
188<tr>
189<td>
190 <p>
191 The Alternative-hypothesis: Sample 1 Mean is <span class="bold"><strong>greater</strong></span>
192 than Sample 2 Mean.
193 </p>
194 </td>
195<td>
196 <p>
197 Reject if complement of CDF of t &gt; significance level:
198 </p>
199 <p>
200 <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
201 <span class="identifier">t</span><span class="special">))</span>
202 <span class="special">&gt;</span> <span class="identifier">alpha</span></code>
203 </p>
204 </td>
205</tr>
206</tbody>
207</table></div>
208<div class="note"><table border="0" summary="Note">
209<tr>
210<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
211<th align="left">Note</th>
212</tr>
213<tr><td align="left" valign="top"><p>
214 For a two-sided test we must compare against alpha / 2 and not alpha.
215 </p></td></tr>
216</table></div>
217<p>
218 Most of the rest of the sample program is pretty-printing, so we'll skip
219 over that, and take a look at the sample output for alpha=0.05 (a 95%
220 probability level). For comparison the dataplot output for the same data
221 is in <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda353.htm" target="_top">section
222 1.3.5.3</a> of the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
223 e-Handbook of Statistical Methods.</a>.
224 </p>
225<pre class="programlisting"> ________________________________________________
226 Student t test for two samples (equal variances)
227 ________________________________________________
228
229 Number of Observations (Sample 1) = 249
230 Sample 1 Mean = 20.145
231 Sample 1 Standard Deviation = 6.4147
232 Number of Observations (Sample 2) = 79
233 Sample 2 Mean = 30.481
234 Sample 2 Standard Deviation = 6.1077
235 Degrees of Freedom = 326
236 Pooled Standard Deviation = 6.3426
237 T Statistic = -12.621
238 Probability that difference is due to chance = 5.273e-030
239
240 Results for Alternative Hypothesis and alpha = 0.0500
241
242 Alternative Hypothesis Conclusion
243 Sample 1 Mean != Sample 2 Mean NOT REJECTED
244 Sample 1 Mean &lt; Sample 2 Mean NOT REJECTED
245 Sample 1 Mean &gt; Sample 2 Mean REJECTED
246</pre>
247<p>
248 So with a probability that the difference is due to chance of just 5.273e-030,
249 we can safely conclude that there is indeed a difference.
250 </p>
251<p>
252 The tests on the alternative hypothesis show that we must also reject
253 the hypothesis that Sample 1 Mean is greater than that for Sample 2:
254 in this case Sample 1 represents the miles per gallon for Japanese cars,
255 and Sample 2 the miles per gallon for US cars, so we conclude that Japanese
256 cars are on average more fuel efficient.
257 </p>
258<p>
259 Now that we have the simple case out of the way, let's look for a moment
260 at the more complex one: that the standard deviations of the two samples
261 are not equal. In this case the formula for the t-statistic becomes:
262 </p>
263<p>
264 <span class="inlinemediaobject"><img src="../../../../../equations/dist_tutorial2.svg"></span>
265 </p>
266<p>
267 And for the combined degrees of freedom we use the <a href="http://en.wikipedia.org/wiki/Welch-Satterthwaite_equation" target="_top">Welch-Satterthwaite</a>
268 approximation:
269 </p>
270<p>
271 <span class="inlinemediaobject"><img src="../../../../../equations/dist_tutorial3.svg"></span>
272 </p>
273<p>
274 Note that this is one of the rare situations where the degrees-of-freedom
275 parameter to the Student's t distribution is a real number, and not an
276 integer value.
277 </p>
278<div class="note"><table border="0" summary="Note">
279<tr>
280<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
281<th align="left">Note</th>
282</tr>
283<tr><td align="left" valign="top"><p>
284 Some statistical packages truncate the effective degrees of freedom
285 to an integer value: this may be necessary if you are relying on lookup
286 tables, but since our code fully supports non-integer degrees of freedom
287 there is no need to truncate in this case. Also note that when the
288 degrees of freedom is small then the Welch-Satterthwaite approximation
289 may be a significant source of error.
290 </p></td></tr>
291</table></div>
292<p>
293 Putting these formulae into code we get:
294 </p>
295<pre class="programlisting"><span class="comment">// Degrees of freedom:</span>
296<span class="keyword">double</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">/</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">;</span>
297<span class="identifier">v</span> <span class="special">*=</span> <span class="identifier">v</span><span class="special">;</span>
298<span class="keyword">double</span> <span class="identifier">t1</span> <span class="special">=</span> <span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">/</span> <span class="identifier">Sn1</span><span class="special">;</span>
299<span class="identifier">t1</span> <span class="special">*=</span> <span class="identifier">t1</span><span class="special">;</span>
300<span class="identifier">t1</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">Sn1</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
301<span class="keyword">double</span> <span class="identifier">t2</span> <span class="special">=</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">;</span>
302<span class="identifier">t2</span> <span class="special">*=</span> <span class="identifier">t2</span><span class="special">;</span>
303<span class="identifier">t2</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">Sn2</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
304<span class="identifier">v</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">t1</span> <span class="special">+</span> <span class="identifier">t2</span><span class="special">);</span>
305<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Degrees of Freedom"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
306<span class="comment">// t-statistic:</span>
307<span class="keyword">double</span> <span class="identifier">t_stat</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Sm1</span> <span class="special">-</span> <span class="identifier">Sm2</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">/</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">);</span>
308<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"T Statistic"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t_stat</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
309</pre>
310<p>
311 Thereafter the code and the tests are performed the same as before. Using
312 are car mileage data again, here's what the output looks like:
313 </p>
314<pre class="programlisting"> __________________________________________________
315 Student t test for two samples (unequal variances)
316 __________________________________________________
317
318 Number of Observations (Sample 1) = 249
319 Sample 1 Mean = 20.145
320 Sample 1 Standard Deviation = 6.4147
321 Number of Observations (Sample 2) = 79
322 Sample 2 Mean = 30.481
323 Sample 2 Standard Deviation = 6.1077
324 Degrees of Freedom = 136.87
325 T Statistic = -12.946
326 Probability that difference is due to chance = 1.571e-025
327
328 Results for Alternative Hypothesis and alpha = 0.0500
329
330 Alternative Hypothesis Conclusion
331 Sample 1 Mean != Sample 2 Mean NOT REJECTED
332 Sample 1 Mean &lt; Sample 2 Mean NOT REJECTED
333 Sample 1 Mean &gt; Sample 2 Mean REJECTED
334</pre>
335<p>
336 This time allowing the variances in the two samples to differ has yielded
337 a higher likelihood that the observed difference is down to chance alone
338 (1.571e-025 compared to 5.273e-030 when equal variances were assumed).
339 However, the conclusion remains the same: US cars are less fuel efficient
340 than Japanese models.
341 </p>
342</div>
343<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
344<td align="left"></td>
345<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
346 Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
347 Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Johan R&#229;de, Gautam Sewani,
348 Benjamin Sobotta, Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
349 Distributed under the Boost Software License, Version 1.0. (See accompanying
350 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
351 </p>
352</div></td>
353</tr></table>
354<hr>
355<div class="spirit-nav">
356<a accesskey="p" href="tut_mean_size.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="paired_st.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
357</div>
358</body>
359</html>