Re: no message from Minimize[] on a weird function(x^x) !?!
- To: mathgroup at smc.vnet.net
- Subject: [mg96777] Re: no message from Minimize[] on a weird function(x^x) !?!
- From: ADL <alberto.dilullo at tiscali.it>
- Date: Tue, 24 Feb 2009 05:48:31 -0500 (EST)
- References: <gnr1d2$ep0$1@smc.vnet.net>
Beyond what others have already commented, I would say that the problem stems with the definition of 0^0 which, in Mathematica, is Indeterminate. In fact, even if the value of the function is constrained to be real positive, Minimize behavior is influenced by the value at 0: Minimize[{Abs[x^x], x > 0}, x] // InputForm {E^(-E^(-1)), {x -> E^(-1)}} Minimize[{Abs[x^x], x < 0}, x] // InputForm {0, {x -> -Infinity}} Minimize[{Abs[x^x], x >= 0}, x] // InputForm Minimize[{Abs[x^x], x >= 0}, x] In fact, 0^0 Indeterminate but Limit[Abs[x^x], x -> 0] 1. In conclusion, Minimize does not appear to compute limits and cannot deal with "holes" in the function's domain. ADL On 22 Feb, 09:12, congruentialumina... at yahoo.com wrote: > Hello MathGroup: > > I have: > > f[x_]=x^x > Plot[f[x],{x,-3,3.}] > > What makes this a weird function is that when x<0, the function is > discontinuous and non-differentiable and has a global minimum at -1. > > To answer the question: "what is the minimum of this function", I > tried > > FindMinimum[f[x],{x,2}] (* this appears correct *)> {0.692201, {x -> 0.367879}} > > FindMinimum[f[x],{x,2}] (* this complains about the gradient, but > appears correct *)> FindMinimum::nrgnum: The gradient is not a vector of real numbers at {x} = {-1.}. >> > > {-1., {x -> -1.}} > > NMinimize[f[x], x] (* this gives the minimum in the positive domain *)> {0.692201, {x -> 0.367879}} > > Minimize[f[x], x] (* this gives no answer and no error message *) > > > Minimize[x^x, x] > > Is this expected behavior? > > TIA. > > Roger Williams > Franklin Laboratory
- Follow-Ups:
- Re: Re: no message from Minimize[] on a weird function(x^x)
- From: Daniel Lichtblau <danl@wolfram.com>
- Re: Re: no message from Minimize[] on a weird function(x^x)