> 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.