File: class_quant_lib_1_1_armijo_line_search.html

package info (click to toggle)
quantlib-refman-html 1.20-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 103,140 kB
  • sloc: javascript: 13,408; makefile: 35
file content (196 lines) | stat: -rw-r--r-- 20,433 bytes parent folder | download
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>QuantLib: ArmijoLineSearch Class Reference</title>
<link href='https://fonts.googleapis.com/css?family=Merriweather+Sans:800' rel='stylesheet' type='text/css'>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="quantlibextra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname"><a href="http://quantlib.org">
       <img alt="QuantLib" src="QL-title.jpg"></a>
   <div id="projectbrief">A free/open-source library for quantitative finance</div>
   <div id="projectnumber">Reference manual - version 1.20</div>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespace_quant_lib.html">QuantLib</a></li><li class="navelem"><a class="el" href="class_quant_lib_1_1_armijo_line_search.html">ArmijoLineSearch</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_quant_lib_1_1_armijo_line_search-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArmijoLineSearch Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Armijo line search.  
 <a href="class_quant_lib_1_1_armijo_line_search.html#details">More...</a></p>

<p><code>#include &lt;ql/math/optimization/armijo.hpp&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for ArmijoLineSearch:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="class_quant_lib_1_1_armijo_line_search__inherit__graph.png" border="0" usemap="#a_armijo_line_search_inherit__map" alt="Inheritance graph"/></div>
<map name="_armijo_line_search_inherit__map" id="a_armijo_line_search_inherit__map">
<area shape="rect" title="Armijo line search." alt="" coords="5,80,129,107"/>
<area shape="rect" href="class_quant_lib_1_1_line_search.html" title="Base class for line search." alt="" coords="24,5,111,32"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa9b7b48a8c23873cce8850ca4c91b983"><td class="memItemLeft" align="right" valign="top"><a id="aa9b7b48a8c23873cce8850ca4c91b983"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_armijo_line_search.html#aa9b7b48a8c23873cce8850ca4c91b983">ArmijoLineSearch</a> (<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> eps=1e-8, <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> alpha=0.05, <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> beta=0.65)</td></tr>
<tr class="memdesc:aa9b7b48a8c23873cce8850ca4c91b983"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:aa9b7b48a8c23873cce8850ca4c91b983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af20e38c359ea31c395a8ce7cc336635a"><td class="memItemLeft" align="right" valign="top"><a id="af20e38c359ea31c395a8ce7cc336635a"></a>
<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_armijo_line_search.html#af20e38c359ea31c395a8ce7cc336635a">operator()</a> (<a class="el" href="class_quant_lib_1_1_problem.html">Problem</a> &amp;P, EndCriteria::Type &amp;ecType, const <a class="el" href="class_quant_lib_1_1_end_criteria.html">EndCriteria</a> &amp;, <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> t_ini)</td></tr>
<tr class="memdesc:af20e38c359ea31c395a8ce7cc336635a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform line search. <br /></td></tr>
<tr class="separator:af20e38c359ea31c395a8ce7cc336635a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_quant_lib_1_1_line_search"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_quant_lib_1_1_line_search')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_quant_lib_1_1_line_search.html">LineSearch</a></td></tr>
<tr class="memitem:abf6329e7e510004f936417b572cd3feb inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="abf6329e7e510004f936417b572cd3feb"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_line_search.html#abf6329e7e510004f936417b572cd3feb">LineSearch</a> (<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a>=0.0)</td></tr>
<tr class="memdesc:abf6329e7e510004f936417b572cd3feb inherit pub_methods_class_quant_lib_1_1_line_search"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:abf6329e7e510004f936417b572cd3feb inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1525d9d1f8f851f1371337be8d9a587 inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="aa1525d9d1f8f851f1371337be8d9a587"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_line_search.html#aa1525d9d1f8f851f1371337be8d9a587">~LineSearch</a> ()</td></tr>
<tr class="memdesc:aa1525d9d1f8f851f1371337be8d9a587 inherit pub_methods_class_quant_lib_1_1_line_search"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:aa1525d9d1f8f851f1371337be8d9a587 inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73029249454596185357bd919ecc66e7 inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="a73029249454596185357bd919ecc66e7"></a>
const <a class="el" href="class_quant_lib_1_1_array.html">Array</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_line_search.html#a73029249454596185357bd919ecc66e7">lastX</a> ()</td></tr>
<tr class="memdesc:a73029249454596185357bd919ecc66e7 inherit pub_methods_class_quant_lib_1_1_line_search"><td class="mdescLeft">&#160;</td><td class="mdescRight">return last x value <br /></td></tr>
<tr class="separator:a73029249454596185357bd919ecc66e7 inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb191c566a812e3e7d1406977c0fb9dd inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="acb191c566a812e3e7d1406977c0fb9dd"></a>
<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_line_search.html#acb191c566a812e3e7d1406977c0fb9dd">lastFunctionValue</a> () const</td></tr>
<tr class="memdesc:acb191c566a812e3e7d1406977c0fb9dd inherit pub_methods_class_quant_lib_1_1_line_search"><td class="mdescLeft">&#160;</td><td class="mdescRight">return last cost function value <br /></td></tr>
<tr class="separator:acb191c566a812e3e7d1406977c0fb9dd inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a99d489f61c963d573fb9eb2a404c1d inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="a0a99d489f61c963d573fb9eb2a404c1d"></a>
const <a class="el" href="class_quant_lib_1_1_array.html">Array</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_line_search.html#a0a99d489f61c963d573fb9eb2a404c1d">lastGradient</a> ()</td></tr>
<tr class="memdesc:a0a99d489f61c963d573fb9eb2a404c1d inherit pub_methods_class_quant_lib_1_1_line_search"><td class="mdescLeft">&#160;</td><td class="mdescRight">return last gradient <br /></td></tr>
<tr class="separator:a0a99d489f61c963d573fb9eb2a404c1d inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaca9b17704b9a7356e394a6e56be66a inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="aaaca9b17704b9a7356e394a6e56be66a"></a>
<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_line_search.html#aaaca9b17704b9a7356e394a6e56be66a">lastGradientNorm2</a> () const</td></tr>
<tr class="memdesc:aaaca9b17704b9a7356e394a6e56be66a inherit pub_methods_class_quant_lib_1_1_line_search"><td class="mdescLeft">&#160;</td><td class="mdescRight">return square norm of last gradient <br /></td></tr>
<tr class="separator:aaaca9b17704b9a7356e394a6e56be66a inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf96853903414c5ad66169f291938f4c inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="acf96853903414c5ad66169f291938f4c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>succeed</b> () const</td></tr>
<tr class="separator:acf96853903414c5ad66169f291938f4c inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5014094d4595b63fad08d361f70bea98 inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="a5014094d4595b63fad08d361f70bea98"></a>
<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a>&#160;</td><td class="memItemRight" valign="bottom"><b>update</b> (<a class="el" href="class_quant_lib_1_1_array.html">Array</a> &amp;params, const <a class="el" href="class_quant_lib_1_1_array.html">Array</a> &amp;direction, <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> beta, const <a class="el" href="class_quant_lib_1_1_constraint.html">Constraint</a> &amp;constraint)</td></tr>
<tr class="separator:a5014094d4595b63fad08d361f70bea98 inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa84d8a98a895f6cf2dce4fd113140c60 inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="aa84d8a98a895f6cf2dce4fd113140c60"></a>
const <a class="el" href="class_quant_lib_1_1_array.html">Array</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_line_search.html#aa84d8a98a895f6cf2dce4fd113140c60">searchDirection</a> () const</td></tr>
<tr class="memdesc:aa84d8a98a895f6cf2dce4fd113140c60 inherit pub_methods_class_quant_lib_1_1_line_search"><td class="mdescLeft">&#160;</td><td class="mdescRight">current value of the search direction <br /></td></tr>
<tr class="separator:aa84d8a98a895f6cf2dce4fd113140c60 inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8925a1dc9b83be8f1181b1c638804a1f inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="a8925a1dc9b83be8f1181b1c638804a1f"></a>
<a class="el" href="class_quant_lib_1_1_array.html">Array</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>searchDirection</b> ()</td></tr>
<tr class="separator:a8925a1dc9b83be8f1181b1c638804a1f inherit pub_methods_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_class_quant_lib_1_1_line_search"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_quant_lib_1_1_line_search')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_quant_lib_1_1_line_search.html">LineSearch</a></td></tr>
<tr class="memitem:a2279b9a5a0693be810780a356ce2593f inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="a2279b9a5a0693be810780a356ce2593f"></a>
<a class="el" href="class_quant_lib_1_1_array.html">Array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_line_search.html#a2279b9a5a0693be810780a356ce2593f">searchDirection_</a></td></tr>
<tr class="memdesc:a2279b9a5a0693be810780a356ce2593f inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="mdescLeft">&#160;</td><td class="mdescRight">current values of the search direction <br /></td></tr>
<tr class="separator:a2279b9a5a0693be810780a356ce2593f inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a633de5cce68edbe62dcc0104c92e69c1 inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="a633de5cce68edbe62dcc0104c92e69c1"></a>
<a class="el" href="class_quant_lib_1_1_array.html">Array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_line_search.html#a633de5cce68edbe62dcc0104c92e69c1">xtd_</a></td></tr>
<tr class="memdesc:a633de5cce68edbe62dcc0104c92e69c1 inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="mdescLeft">&#160;</td><td class="mdescRight">new x and its gradient <br /></td></tr>
<tr class="separator:a633de5cce68edbe62dcc0104c92e69c1 inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28dad9f0113c33c5641f4c87b6c5208c inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="a28dad9f0113c33c5641f4c87b6c5208c"></a>
<a class="el" href="class_quant_lib_1_1_array.html">Array</a>&#160;</td><td class="memItemRight" valign="bottom"><b>gradient_</b></td></tr>
<tr class="separator:a28dad9f0113c33c5641f4c87b6c5208c inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af784d8fad068c2fcb91696bd7a7346c3 inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="af784d8fad068c2fcb91696bd7a7346c3"></a>
<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_line_search.html#af784d8fad068c2fcb91696bd7a7346c3">qt_</a></td></tr>
<tr class="memdesc:af784d8fad068c2fcb91696bd7a7346c3 inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="mdescLeft">&#160;</td><td class="mdescRight">cost function value and gradient norm corresponding to xtd_ <br /></td></tr>
<tr class="separator:af784d8fad068c2fcb91696bd7a7346c3 inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca10938722a51a63857d6bc7bc1f4717 inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="aca10938722a51a63857d6bc7bc1f4717"></a>
<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a>&#160;</td><td class="memItemRight" valign="bottom"><b>qpt_</b></td></tr>
<tr class="separator:aca10938722a51a63857d6bc7bc1f4717 inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bdb6aaa82b6a980db5312bcc3c86c3a inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memItemLeft" align="right" valign="top"><a id="a1bdb6aaa82b6a980db5312bcc3c86c3a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_line_search.html#a1bdb6aaa82b6a980db5312bcc3c86c3a">succeed_</a></td></tr>
<tr class="memdesc:a1bdb6aaa82b6a980db5312bcc3c86c3a inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="mdescLeft">&#160;</td><td class="mdescRight">flag to know if linesearch succeed <br /></td></tr>
<tr class="separator:a1bdb6aaa82b6a980db5312bcc3c86c3a inherit pro_attribs_class_quant_lib_1_1_line_search"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Armijo line search. </p>
<p>Let \( \alpha \) and \( \beta \) be 2 scalars in \( [0,1] \). Let \( x \) be the current value of the unknown, \( d \) the search direction and \( t \) the step. Let \( f \) be the function to minimize. The line search stops when \( t \) verifies </p><p class="formulaDsp">
\[ f(x + t \cdot d) - f(x) \leq -\alpha t f&#39;(x+t \cdot d) \]
</p>
<p> and </p><p class="formulaDsp">
\[ f(x+\frac{t}{\beta} \cdot d) - f(x) &gt; -\frac{\alpha}{\beta} t f&#39;(x+t \cdot d) \]
</p>
<p>(see Polak, Algorithms and consistent approximations, Optimization, volume 124 of Applied Mathematical Sciences, Springer-Verlag, NY, 1997) </p>
</div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.9.1-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="http://www.doxygen.org/index.html">Doxygen</a>
1.8.20
</small></address>
</body>
</html>