This file is indexed.

/usr/share/doc/octave-optim/html/nonlin_005fmin.html is in octave-optim 1.4.1-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
<html lang="en">
<head>
<title>nonlin_min - optim_doc</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="optim_doc">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Scalar-optimization.html#Scalar-optimization" title="Scalar optimization">
<link rel="next" href="lm_005ffeasible.html#lm_005ffeasible" title="lm_feasible">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Additional documentation for the optim package for Octave.

Copyright (C) <Olaf Till <i7tiol@t-online.de>>

You can redistribute this documentation and/or modify it under the terms
of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any
later version.

This documentation is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this documentation; if not, see <http://www.gnu.org/licenses/>.-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="nonlin_min"></a>
<a name="nonlin_005fmin"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="lm_005ffeasible.html#lm_005ffeasible">lm_feasible</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Scalar-optimization.html#Scalar-optimization">Scalar optimization</a>
<hr>
</div>

<h3 class="section">1.1 Frontend nonlin_min for scalar non-linear optimization</h3>

<p><a name="index-nonlin_005fmin-2"></a>
<!-- nonlin_min ../inst/nonlin_min.m -->
<a name="XREFnonlin_005fmin"></a>

<div class="defun">
&mdash; Function File: [<var>p</var>, <var>objf</var>, <var>cvg</var>, <var>outp</var>] = <b>nonlin_min</b> (<var>f, pin</var>)<var><a name="index-nonlin_005fmin-3"></a></var><br>
&mdash; Function File: [<var>p</var>, <var>objf</var>, <var>cvg</var>, <var>outp</var>] = <b>nonlin_min</b> (<var>f, pin, settings</var>)<var><a name="index-nonlin_005fmin-4"></a></var><br>
<blockquote><p>Frontend for nonlinear minimization of a scalar objective function.

        <p>The functions supplied by the user have a minimal interface; any
additionally needed constants can be supplied by wrapping the user
functions into anonymous functions.

        <p>The following description applies to usage with vector-based
parameter handling. Differences in usage for structure-based
parameter handling will be explained separately.

        <p><var>f</var>: objective function. It gets a column vector of real
parameters as argument. In gradient determination, this function may
be called with an informational second argument, whose content
depends on the function for gradient determination.

        <p><var>pin</var>: real column vector of initial parameters.

        <p><var>settings</var>: structure whose fields stand for optional settings
referred to below. The fields can be set by <code>optimset()</code>.

        <p>The returned values are the column vector of final parameters
<var>p</var>, the final value of the objective function <var>objf</var>, an
integer <var>cvg</var> indicating if and how optimization succeeded or
failed, and a structure <var>outp</var> with additional information,
curently with possible fields: <code>niter</code>, the number of
iterations, <code>nobjf</code>, the number of objective function calls
(indirect calls by gradient function not counted), <code>lambda</code>, the
lambda of constraints at the result, and <code>user_interaction</code>,
information on user stops (see settings). The backend may define
additional fields. <var>cvg</var> is greater than zero for success and
less than or equal to zero for failure; its possible values depend on
the used backend and currently can be <code>0</code> (maximum number of
iterations exceeded), <code>1</code> (success without further specification
of criteria), <code>2</code> (parameter change less than specified
precision in two consecutive iterations), <code>3</code> (improvement in
objective function less than specified), <code>-1</code> (algorithm aborted
by a user function), or <code>-4</code> (algorithm got stuck).

     <!-- The following block will be cut out in the package info file. -->
        </blockquote></div>

<h4 class="subheading">Settings</h4>

<p>The fields of the <var>settings</var> structure can be set with
<a href="../octave/XREFoptimset.html#XREFoptimset">optimset</a>.

   <p>For settings common to all frontends (including these for statistics)
see
 <a href="Common-frontend-options.html#Common-frontend-options">Common frontend options</a>.

   <p>For additional settings common to all optimization frontends
see
 <a href="Common-optimization-options.html#Common-optimization-options">Common optimization options</a>.

<h5 class="subsubheading">Specific defaults:</h5>

<p><table summary=""><tr align="left"><td valign="top"><code>Algorithm</code>:
</td><td valign="top">"lm_feasible"
<br></td></tr></table>

<h5 class="subsubheading">Additional settings:</h5>

     <dl>
<dt><code>objf_grad</code><dd>Function computing the gradient of the objective function with respect
to the parameters.  Default: real finite differences.  Will be called
with the column vector of parameters and an informational structure as
arguments.  If <code>dfdp</code> was specified by the user, the informational
structure has the fields <code>f</code>: value of objective function for
current parameters, <code>fixed</code>: logical vector indicating which
parameters are not optimized, so these partial derivatives need not be
computed and can be set to zero, <code>diffp</code>, <code>diff_onesided</code>,
<code>lbound</code>, <code>ubound</code>: identical to the user settings of this
name, <code>plabels</code>: 1-dimensional cell-array of column-cell-arrays,
each column with labels for all parameters; the first column contains
the numerical indices of the parameters; the second and third columns,
present for structure based parameter handling, see

     <p><a href="Parameter-structures.html#Parameter-structures">Parameter structures</a>,
contain the names of the parameters and the subindices of
the parameters, see
 <a href="Non_002dscalar-parameters.html#Non_002dscalar-parameters">Non-scalar parameters</a>, respectively.  The default
gradient function will call the objective function with the second
argument set with fields <code>f</code>: as the <code>f</code> passed to the
gradient function, <code>plabels</code>: cell-array of 1x1 cell-arrays with
the entries of the column-cell-arrays of <code>plabels</code> as passed to the
jacobian function corresponding to current parameter, <code>side</code>:
<code>0</code> for one-sided interval, <code>1</code> or <code>2</code>, respectively, for
the sides of a two-sided interval, and <code>parallel</code>: logical scalar
indicating parallel computation of partial derivatives.  This
information can be useful if the model function can omit some
computations depending on the currently computed partial derivative. 
<br><dt><code>objf_hessian</code><dd>Function computing the Hessian of the objective function with respect to
the parameters.  The default is backend specific.  Will be called with
the column vector of parameters as argument. 
<br><dt><code>inverse_hessian</code><dd>Logical scalar, indicating whether the Hessian function passed by the
user actually returns the inverse of the Hessian. 
<br><dt><code>complex_step_derivative_objf</code><dd>Logical scalar, default: <code>false</code>.  Estimate gradient of objective
function with complex step derivative approximation.  Use only if you
know that your objective function is suitable for this.  No user
function for the gradient (<code>objf_grad</code>) must be specified. 
<br><dt><code>save_state</code><dd>String with path to a file which will be created for periodical saving
of the state of optimization.  Useful for very long optimizations which
might get interrupted.  The format of the saved state will be
backend-specific.  Currently, only the <code>"siman"</code> backend honours
this option.  Default: empty string, meaning no saving of state. 
<br><dt><code>recover_state</code><dd>String with path to a file created due to option <code>save_state</code>,
which is used to recover a saved state before starting optimization. 
Default: empty string, meaning no recovering of state. 
</dl>

<h4 class="subheading">Structure based parameter handling</h4>

<p>Please see
 <a href="Parameter-structures.html#Parameter-structures">Parameter structures</a>.

<h4 class="subheading">Backend information</h4>

<p>Please see
 <a href="Scalar-optimization.html#Scalar-optimization">Scalar optimization</a> and choose backend from menu.

<!--  -->
   </body></html>