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
  
     | 
    
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The GSL Team.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Free Software
Needs Free Documentation", the Front-Cover text being "A GNU Manual",
and with the Back-Cover Text being (a) (see below). A copy of the
license is included in the section entitled "GNU Free Documentation
License".
(a) The Back-Cover Text is: "You have the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library – Reference Manual: Initializing the Minimizer</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: Initializing the Minimizer">
<meta name="keywords" content="GNU Scientific Library – Reference Manual: Initializing the Minimizer">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="One-dimensional-Minimization.html#One-dimensional-Minimization" rel="up" title="One dimensional Minimization">
<link href="Providing-the-function-to-minimize.html#Providing-the-function-to-minimize" rel="next" title="Providing the function to minimize">
<link href="Minimization-Caveats.html#Minimization-Caveats" rel="previous" title="Minimization Caveats">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Initializing-the-Minimizer"></a>
<div class="header">
<p>
Next: <a href="Providing-the-function-to-minimize.html#Providing-the-function-to-minimize" accesskey="n" rel="next">Providing the function to minimize</a>, Previous: <a href="Minimization-Caveats.html#Minimization-Caveats" accesskey="p" rel="previous">Minimization Caveats</a>, Up: <a href="One-dimensional-Minimization.html#One-dimensional-Minimization" accesskey="u" rel="up">One dimensional Minimization</a>   [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Initializing-the-Minimizer-1"></a>
<h3 class="section">35.3 Initializing the Minimizer</h3>
<dl>
<dt><a name="index-gsl_005fmin_005ffminimizer_005falloc"></a>Function: <em>gsl_min_fminimizer *</em> <strong>gsl_min_fminimizer_alloc</strong> <em>(const gsl_min_fminimizer_type * <var>T</var>)</em></dt>
<dd><a name="index-gsl_005fmin_005ffminimizer"></a>
<a name="index-gsl_005fmin_005ffminimizer_005ftype"></a>
<p>This function returns a pointer to a newly allocated instance of a
minimizer of type <var>T</var>.  For example, the following code
creates an instance of a golden section minimizer,
</p>
<div class="example">
<pre class="example">const gsl_min_fminimizer_type * T 
  = gsl_min_fminimizer_goldensection;
gsl_min_fminimizer * s 
  = gsl_min_fminimizer_alloc (T);
</pre></div>
<p>If there is insufficient memory to create the minimizer then the function
returns a null pointer and the error handler is invoked with an error
code of <code>GSL_ENOMEM</code>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fmin_005ffminimizer_005fset"></a>Function: <em>int</em> <strong>gsl_min_fminimizer_set</strong> <em>(gsl_min_fminimizer * <var>s</var>, gsl_function * <var>f</var>, double <var>x_minimum</var>, double <var>x_lower</var>, double <var>x_upper</var>)</em></dt>
<dd><p>This function sets, or resets, an existing minimizer <var>s</var> to use the
function <var>f</var> and the initial search interval [<var>x_lower</var>,
<var>x_upper</var>], with a guess for the location of the minimum
<var>x_minimum</var>.
</p>
<p>If the interval given does not contain a minimum, then the function
returns an error code of <code>GSL_EINVAL</code>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fmin_005ffminimizer_005fset_005fwith_005fvalues"></a>Function: <em>int</em> <strong>gsl_min_fminimizer_set_with_values</strong> <em>(gsl_min_fminimizer * <var>s</var>, gsl_function * <var>f</var>, double <var>x_minimum</var>, double <var>f_minimum</var>, double <var>x_lower</var>, double <var>f_lower</var>, double <var>x_upper</var>, double <var>f_upper</var>)</em></dt>
<dd><p>This function is equivalent to <code>gsl_min_fminimizer_set</code> but uses
the values <var>f_minimum</var>, <var>f_lower</var> and <var>f_upper</var> instead of
computing <code>f(x_minimum)</code>, <code>f(x_lower)</code> and <code>f(x_upper)</code>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fmin_005ffminimizer_005ffree"></a>Function: <em>void</em> <strong>gsl_min_fminimizer_free</strong> <em>(gsl_min_fminimizer * <var>s</var>)</em></dt>
<dd><p>This function frees all the memory associated with the minimizer
<var>s</var>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fmin_005ffminimizer_005fname"></a>Function: <em>const char *</em> <strong>gsl_min_fminimizer_name</strong> <em>(const gsl_min_fminimizer * <var>s</var>)</em></dt>
<dd><p>This function returns a pointer to the name of the minimizer.  For example,
</p>
<div class="example">
<pre class="example">printf ("s is a '%s' minimizer\n",
        gsl_min_fminimizer_name (s));
</pre></div>
<p>would print something like <code>s is a 'brent' minimizer</code>.
</p></dd></dl>
</body>
</html>
 
     |