aboutsummaryrefslogtreecommitdiff
path: root/commons-math3-3.6.1/docs/apidocs/org/apache/commons/math3/optim/nonlinear/scalar/LeastSquaresConverter.html
blob: ad790ddca33fc344a9a28abdb0c1efb81afd6b13 (plain)
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LeastSquaresConverter (Apache Commons Math 3.6.1 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="LeastSquaresConverter (Apache Commons Math 3.6.1 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LeastSquaresConverter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/GradientMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/LineSearch.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/commons/math3/optim/nonlinear/scalar/LeastSquaresConverter.html" target="_top">Frames</a></li>
<li><a href="LeastSquaresConverter.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.optim.nonlinear.scalar</div>
<h2 title="Class LeastSquaresConverter" class="title">Class LeastSquaresConverter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.optim.nonlinear.scalar.LeastSquaresConverter</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">LeastSquaresConverter</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a></pre>
<div class="block">This class converts
 <a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis"><code>vectorial objective functions</code></a> to
 <a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis"><code>scalar objective functions</code></a>
 when the goal is to minimize them.
 <br/>
 This class is mostly used when the vectorial objective function represents
 a theoretical result computed from a point set applied to a model and
 the models point must be adjusted to fit the theoretical result to some
 reference observations. The observations may be obtained for example from
 physical measurements whether the model is built from theoretical
 considerations.
 <br/>
 This class computes a possibly weighted squared sum of the residuals, which is
 a scalar value. The residuals are the difference between the theoretical model
 (i.e. the output of the vectorial objective function) and the observations. The
 class implements the <a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis"><code>MultivariateFunction</code></a> interface and can therefore be
 minimized by any optimizer supporting scalar objectives functions.This is one way
 to perform a least square estimation. There are other ways to do this without using
 this converter, as some optimization algorithms directly support vectorial objective
 functions.
 <br/>
 This class support combination of residuals with or without weights and correlations.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>2.0</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis"><code>MultivariateFunction</code></a>, 
<a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis"><code>MultivariateVectorFunction</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/LeastSquaresConverter.html#LeastSquaresConverter(org.apache.commons.math3.analysis.MultivariateVectorFunction,%20double[])">LeastSquaresConverter</a></strong>(<a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateVectorFunction</a>&nbsp;function,
                     double[]&nbsp;observations)</code>
<div class="block">Builds a simple converter for uncorrelated residuals with identical
 weights.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/LeastSquaresConverter.html#LeastSquaresConverter(org.apache.commons.math3.analysis.MultivariateVectorFunction,%20double[],%20double[])">LeastSquaresConverter</a></strong>(<a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateVectorFunction</a>&nbsp;function,
                     double[]&nbsp;observations,
                     double[]&nbsp;weights)</code>
<div class="block">Builds a simple converter for uncorrelated residuals with the
 specified weights.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/LeastSquaresConverter.html#LeastSquaresConverter(org.apache.commons.math3.analysis.MultivariateVectorFunction,%20double[],%20org.apache.commons.math3.linear.RealMatrix)">LeastSquaresConverter</a></strong>(<a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateVectorFunction</a>&nbsp;function,
                     double[]&nbsp;observations,
                     <a href="../../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;scale)</code>
<div class="block">Builds a simple converter for correlated residuals with the
 specified weights.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/LeastSquaresConverter.html#value(double[])">value</a></strong>(double[]&nbsp;point)</code>
<div class="block">Compute the value for the function at the given point.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="LeastSquaresConverter(org.apache.commons.math3.analysis.MultivariateVectorFunction, double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LeastSquaresConverter</h4>
<pre>public&nbsp;LeastSquaresConverter(<a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateVectorFunction</a>&nbsp;function,
                     double[]&nbsp;observations)</pre>
<div class="block">Builds a simple converter for uncorrelated residuals with identical
 weights.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>function</code> - vectorial residuals function to wrap</dd><dd><code>observations</code> - observations to be compared to objective function to compute residuals</dd></dl>
</li>
</ul>
<a name="LeastSquaresConverter(org.apache.commons.math3.analysis.MultivariateVectorFunction, double[], double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LeastSquaresConverter</h4>
<pre>public&nbsp;LeastSquaresConverter(<a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateVectorFunction</a>&nbsp;function,
                     double[]&nbsp;observations,
                     double[]&nbsp;weights)</pre>
<div class="block">Builds a simple converter for uncorrelated residuals with the
 specified weights.
 <p>
 The scalar objective function value is computed as:
 <pre>
 objective = &sum;weight<sub>i</sub>(observation<sub>i</sub>-objective<sub>i</sub>)<sup>2</sup>
 </pre>
 </p>
 <p>
 Weights can be used for example to combine residuals with different standard
 deviations. As an example, consider a residuals array in which even elements
 are angular measurements in degrees with a 0.01&deg; standard deviation and
 odd elements are distance measurements in meters with a 15m standard deviation.
 In this case, the weights array should be initialized with value
 1.0/(0.01<sup>2</sup>) in the even elements and 1.0/(15.0<sup>2</sup>) in the
 odd elements (i.e. reciprocals of variances).
 </p>
 <p>
 The array computed by the objective function, the observations array and the
 weights array must have consistent sizes or a <a href="../../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception"><code>DimensionMismatchException</code></a>
 will be triggered while computing the scalar objective.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>function</code> - vectorial residuals function to wrap</dd><dd><code>observations</code> - observations to be compared to objective function to compute residuals</dd><dd><code>weights</code> - weights to apply to the residuals</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if the observations vector and the weights
 vector dimensions do not match (objective function dimension is checked only when
 the <a href="../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/LeastSquaresConverter.html#value(double[])"><code>value(double[])</code></a> method is called)</dd></dl>
</li>
</ul>
<a name="LeastSquaresConverter(org.apache.commons.math3.analysis.MultivariateVectorFunction, double[], org.apache.commons.math3.linear.RealMatrix)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LeastSquaresConverter</h4>
<pre>public&nbsp;LeastSquaresConverter(<a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateVectorFunction</a>&nbsp;function,
                     double[]&nbsp;observations,
                     <a href="../../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;scale)</pre>
<div class="block">Builds a simple converter for correlated residuals with the
 specified weights.
 <p>
 The scalar objective function value is computed as:
 <pre>
 objective = y<sup>T</sup>y with y = scale&times;(observation-objective)
 </pre>
 </p>
 <p>
 The array computed by the objective function, the observations array and the
 the scaling matrix must have consistent sizes or a <a href="../../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception"><code>DimensionMismatchException</code></a>
 will be triggered while computing the scalar objective.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>function</code> - vectorial residuals function to wrap</dd><dd><code>observations</code> - observations to be compared to objective function to compute residuals</dd><dd><code>scale</code> - scaling matrix</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if the observations vector and the scale
 matrix dimensions do not match (objective function dimension is checked only when
 the <a href="../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/LeastSquaresConverter.html#value(double[])"><code>value(double[])</code></a> method is called)</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="value(double[])">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>value</h4>
<pre>public&nbsp;double&nbsp;value(double[]&nbsp;point)</pre>
<div class="block">Compute the value for the function at the given point.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html#value(double[])">value</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>point</code> - Point at which the function must be evaluated.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the function value for the given point.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LeastSquaresConverter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/GradientMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/LineSearch.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/commons/math3/optim/nonlinear/scalar/LeastSquaresConverter.html" target="_top">Frames</a></li>
<li><a href="LeastSquaresConverter.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>