summaryrefslogtreecommitdiff
path: root/commons-math3-3.6.1/docs/apidocs/org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html
blob: f62141218e854e8b1d65f2587ab84369ffc999bc (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
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
<!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>AbstractSimplex (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="AbstractSimplex (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/AbstractSimplex.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>Prev Class</li>
<li><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/BOBYQAOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html" target="_top">Frames</a></li>
<li><a href="AbstractSimplex.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.noderiv</div>
<h2 title="Class AbstractSimplex" class="title">Class AbstractSimplex</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.noderiv.AbstractSimplex</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/optim/OptimizationData.html" title="interface in org.apache.commons.math3.optim">OptimizationData</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/MultiDirectionalSimplex.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv">MultiDirectionalSimplex</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/NelderMeadSimplex.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv">NelderMeadSimplex</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">AbstractSimplex</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/optim/OptimizationData.html" title="interface in org.apache.commons.math3.optim">OptimizationData</a></pre>
<div class="block">This class implements the simplex concept.
 It is intended to be used in conjunction with <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/SimplexOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><code>SimplexOptimizer</code></a>.
 <br/>
 The initial configuration of the simplex is set by the constructors
 <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(double[])"><code>AbstractSimplex(double[])</code></a> or <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(double[][])"><code>AbstractSimplex(double[][])</code></a>.
 The other <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(int)"><code>constructor</code></a> will set all steps
 to 1, thus building a default configuration from a unit hypercube.
 <br/>
 Users <em>must</em> call the <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#build(double[])"><code>build</code></a> method in order
 to create the data structure that will be acted on by the other methods of
 this class.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>3.0</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/SimplexOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><code>SimplexOptimizer</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="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(double[])">AbstractSimplex</a></strong>(double[]&nbsp;steps)</code>
<div class="block">The start configuration for simplex is built from a box parallel to
 the canonical axes of the space.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(double[][])">AbstractSimplex</a></strong>(double[][]&nbsp;referenceSimplex)</code>
<div class="block">The real initial simplex will be set up by moving the reference
 simplex such that its first point is located at the start point of the
 optimization.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(int)">AbstractSimplex</a></strong>(int&nbsp;n)</code>
<div class="block">Build a unit hypercube simplex.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(int,%20double)">AbstractSimplex</a></strong>(int&nbsp;n,
               double&nbsp;sideLength)</code>
<div class="block">Build a hypercube simplex with the given side length.</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>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#build(double[])">build</a></strong>(double[]&nbsp;startPoint)</code>
<div class="block">Build an initial simplex.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#evaluate(org.apache.commons.math3.analysis.MultivariateFunction,%20java.util.Comparator)">evaluate</a></strong>(<a href="../../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
        <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block">Evaluate all the non-evaluated points of the simplex.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#getDimension()">getDimension</a></strong>()</code>
<div class="block">Get simplex dimension.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#getPoint(int)">getPoint</a></strong>(int&nbsp;index)</code>
<div class="block">Get the simplex point stored at the requested <code>index</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#getPoints()">getPoints</a></strong>()</code>
<div class="block">Get the points of the simplex.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#getSize()">getSize</a></strong>()</code>
<div class="block">Get simplex size.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#iterate(org.apache.commons.math3.analysis.MultivariateFunction,%20java.util.Comparator)">iterate</a></strong>(<a href="../../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
       <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block">Compute the next simplex of the algorithm.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#replaceWorstPoint(org.apache.commons.math3.optim.PointValuePair,%20java.util.Comparator)">replaceWorstPoint</a></strong>(<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;pointValuePair,
                 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block">Replace the worst point of the simplex by a new point.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#setPoint(int,%20org.apache.commons.math3.optim.PointValuePair)">setPoint</a></strong>(int&nbsp;index,
        <a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;point)</code>
<div class="block">Store a new point at location <code>index</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#setPoints(org.apache.commons.math3.optim.PointValuePair[])">setPoints</a></strong>(<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>[]&nbsp;points)</code>
<div class="block">Replace all points.</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="AbstractSimplex(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractSimplex</h4>
<pre>protected&nbsp;AbstractSimplex(int&nbsp;n)</pre>
<div class="block">Build a unit hypercube simplex.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - Dimension of the simplex.</dd></dl>
</li>
</ul>
<a name="AbstractSimplex(int, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractSimplex</h4>
<pre>protected&nbsp;AbstractSimplex(int&nbsp;n,
               double&nbsp;sideLength)</pre>
<div class="block">Build a hypercube simplex with the given side length.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - Dimension of the simplex.</dd><dd><code>sideLength</code> - Length of the sides of the hypercube.</dd></dl>
</li>
</ul>
<a name="AbstractSimplex(double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractSimplex</h4>
<pre>protected&nbsp;AbstractSimplex(double[]&nbsp;steps)</pre>
<div class="block">The start configuration for simplex is built from a box parallel to
 the canonical axes of the space. The simplex is the subset of vertices
 of a box parallel to the canonical axes. It is built as the path followed
 while traveling from one vertex of the box to the diagonally opposite
 vertex moving only along the box edges. The first vertex of the box will
 be located at the start point of the optimization.
 As an example, in dimension 3 a simplex has 4 vertices. Setting the
 steps to (1, 10, 2) and the start point to (1, 1, 1) would imply the
 start simplex would be: { (1, 1, 1), (2, 1, 1), (2, 11, 1), (2, 11, 3) }.
 The first vertex would be set to the start point at (1, 1, 1) and the
 last vertex would be set to the diagonally opposite vertex at (2, 11, 3).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>steps</code> - Steps along the canonical axes representing box edges. They
 may be negative but not zero.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></code> - if <code>steps</code> is <code>null</code>.</dd>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/ZeroException.html" title="class in org.apache.commons.math3.exception">ZeroException</a></code> - if one of the steps is zero.</dd></dl>
</li>
</ul>
<a name="AbstractSimplex(double[][])">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractSimplex</h4>
<pre>protected&nbsp;AbstractSimplex(double[][]&nbsp;referenceSimplex)</pre>
<div class="block">The real initial simplex will be set up by moving the reference
 simplex such that its first point is located at the start point of the
 optimization.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>referenceSimplex</code> - Reference simplex.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if the reference simplex does not
 contain at least one point.</dd>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if there is a dimension mismatch
 in the reference simplex.</dd>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if one of its vertices is duplicated.</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="getDimension()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDimension</h4>
<pre>public&nbsp;int&nbsp;getDimension()</pre>
<div class="block">Get simplex dimension.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the dimension of the simplex.</dd></dl>
</li>
</ul>
<a name="getSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSize</h4>
<pre>public&nbsp;int&nbsp;getSize()</pre>
<div class="block">Get simplex size.
 After calling the <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#build(double[])"><code>build</code></a> method, this method will
 will be equivalent to <code>getDimension() + 1</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the size of the simplex.</dd></dl>
</li>
</ul>
<a name="iterate(org.apache.commons.math3.analysis.MultivariateFunction, java.util.Comparator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iterate</h4>
<pre>public abstract&nbsp;void&nbsp;iterate(<a href="../../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</pre>
<div class="block">Compute the next simplex of the algorithm.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evaluationFunction</code> - Evaluation function.</dd><dd><code>comparator</code> - Comparator to use to sort simplex vertices from best
 to worst.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a></code> - if the algorithm fails to converge.</dd></dl>
</li>
</ul>
<a name="build(double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>build</h4>
<pre>public&nbsp;void&nbsp;build(double[]&nbsp;startPoint)</pre>
<div class="block">Build an initial simplex.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>startPoint</code> - First point of the simplex.</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 start point does not match
 simplex dimension.</dd></dl>
</li>
</ul>
<a name="evaluate(org.apache.commons.math3.analysis.MultivariateFunction, java.util.Comparator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>evaluate</h4>
<pre>public&nbsp;void&nbsp;evaluate(<a href="../../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
            <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</pre>
<div class="block">Evaluate all the non-evaluated points of the simplex.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evaluationFunction</code> - Evaluation function.</dd><dd><code>comparator</code> - Comparator to use to sort simplex vertices from best to worst.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a></code> - if the maximal number of evaluations is exceeded.</dd></dl>
</li>
</ul>
<a name="replaceWorstPoint(org.apache.commons.math3.optim.PointValuePair, java.util.Comparator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceWorstPoint</h4>
<pre>protected&nbsp;void&nbsp;replaceWorstPoint(<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;pointValuePair,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</pre>
<div class="block">Replace the worst point of the simplex by a new point.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pointValuePair</code> - Point to insert.</dd><dd><code>comparator</code> - Comparator to use for sorting the simplex vertices
 from best to worst.</dd></dl>
</li>
</ul>
<a name="getPoints()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPoints</h4>
<pre>public&nbsp;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>[]&nbsp;getPoints()</pre>
<div class="block">Get the points of the simplex.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>all the simplex points.</dd></dl>
</li>
</ul>
<a name="getPoint(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPoint</h4>
<pre>public&nbsp;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;getPoint(int&nbsp;index)</pre>
<div class="block">Get the simplex point stored at the requested <code>index</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>index</code> - Location.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the point at location <code>index</code>.</dd></dl>
</li>
</ul>
<a name="setPoint(int, org.apache.commons.math3.optim.PointValuePair)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPoint</h4>
<pre>protected&nbsp;void&nbsp;setPoint(int&nbsp;index,
            <a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;point)</pre>
<div class="block">Store a new point at location <code>index</code>.
 Note that no deep-copy of <code>point</code> is performed.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>index</code> - Location.</dd><dd><code>point</code> - New value.</dd></dl>
</li>
</ul>
<a name="setPoints(org.apache.commons.math3.optim.PointValuePair[])">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setPoints</h4>
<pre>protected&nbsp;void&nbsp;setPoints(<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>[]&nbsp;points)</pre>
<div class="block">Replace all points.
 Note that no deep-copy of <code>points</code> is performed.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>points</code> - New Points.</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/AbstractSimplex.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>Prev Class</li>
<li><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/BOBYQAOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html" target="_top">Frames</a></li>
<li><a href="AbstractSimplex.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>