f numerically with respect to
FindMaximum[f,x] searches for a local maximum in
f, starting from an automatically selected point.
FindMaximum is in my experience about an order of magnitude faster than
NMaximize. Reading the description, I think the difference is that
NMaximize checks a smaller range of values for the maximum (presumably until the nearest point where
f' == 0 on either size of the starting point), while
FindMaximum checks a wider range, in case a higher value can be found somewhere past the
f' == 0 turning point. I'm not sure how
NMaximize bounds the input values it checks, if no explicit bounds are provided by the user.
Can anybody confirm or deny -- is my understanding above correct, and is there any other difference between these functions?