help-gsl
[Top][All Lists]

## Re: [Help-gsl] Using gsl_min_find_bracket

 From: Mathias Tausen Subject: Re: [Help-gsl] Using gsl_min_find_bracket Date: Wed, 08 Apr 2015 10:46:48 +0200

```> It sounds as if the undesired behavior  occurs when the bracket [x_lower,
> x_lower+delta] does not bracket the minimum x_min. And that the routine is
> finding the smallest f(x) in the initial bracket, only stopping when the
> bracket is too small to stably continue. Is this the case? If so, what
> behavior did you expect?

Thanks for the reply. I apologize if I misunderstood, but it is my
impression that gsl_min_find_bracket() finds an initial bracket and can
be used if one cannot determine a region that contains the minimum by
other means.

Sorry for being unclear with delta - I'm choosing delta so small, that
[x_lower,x_lower+delta] does not contain the minimum in any of my test
cases.

If I supply two points that are on the left-hand side of the minimum as
below, the function supplies me with a bracket enclosing the minimum,
like I would expect.

1 -------+------+------+------+------+------------+
0.8 +   **                                **        +
0.6 +     **                             **         +
0.4 +       *                           *           +
0.2 +        X <--- x_lower          **             +
0 +          **                   **              +
-0.2 +           X  <-- x_lower+d   **               +
-0.4 +            **              ***                +
-0.6 +              **           **                  +
-0.8 +               ****     ****                   +
-1 ++-----+------+----*******--+------+------+-----+
0      1      2      3      4      5      6      7

If I supply two points on the right-hand side, however (as below), the
function moves the upper bound closer and closer to the lower (but does
not move the lower) until the bracket is too small to continue.

1 -------+------+------+------+------+------------+
0.8 +   **                                **        +
0.6 +     **                             **         +
0.4 +       *                           *           +
0.2 +        **                       X <--x_lower+d+
0 +          **                   **              +
-0.2 +           **                 X <-- x_lower    +
-0.4 +            **              ***                +
-0.6 +              **           **                  +
-0.8 +               ****     ****                   +
-1 ++-----+------+----*******--+------+------+-----+
0      1      2      3      4      5      6      7

Does that make sense?

--
Kind regards,
-Mathias Tausen.

```