Re: Problem finding maximum
- To: mathgroup at smc.vnet.net
- Subject: [mg127705] Re: Problem finding maximum
- From: Peter Pein <petsie at dordos.net>
- Date: Wed, 15 Aug 2012 05:27:53 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <jvnvte$ce1$1@smc.vnet.net>
Am 06.08.2012 10:40, schrieb Cisco Lane: > Hmm - My Mathematica (Mathematica 7 Home Edition, Ver 7.0.1.0, Mac OS X X86 (32-bit)) gives a different answer: > > f[x_, a_] = (a^3 - 6 x - a^2 (4 + x) + a (2 + 12 x - 4 x^2))/(8 a); > aa1 = .7481; > NMaximize[{Abs[f[x, aa1]], 0 <= x <= aa1}, x] > > {0.0274936, {x -> 0.403948}} > > Any idea why? I must use an automatically selected start point, because the values of aa1 vary widely. > > Using the rational aa1 and Maximize works: > > f[x_, a_] = (a^3 - 6 x - a^2 (4 + x) + a (2 + 12 x - 4 x^2))/(8 a); > aa1 = 7481/10000; > N[Maximize[{Abs[f[x, aa1]], 0 <= x <= aa1}, x]] > > {0.0540933, {x -> 0.}} > > but I am not sure why. If this method is reliable, I could use it, but it seems klugy. > Seemingly there is a bug in version 7: NMaximize[{Abs[f[x, aa1]], 0 <= x <= aa1}, x, Method -> {Automatic, "InitialPoints" -> List /@ Range[0, 3] aa1/3}] {0.0274936, {x -> 0.403948}} Even if the global maximum location is in the set of initial points, the default method fails in this case. This does not happen any more in version 8. If an upgrade is no option, try Bob's tip using specific Methods. You can learn a lot about Mathematica 7 if you try every example in the tutorial [1] written for version 8, I guess ;) Peter [1] http://www.wolfram.com/learningcenter/tutorialcollection/ConstrainedOptimization/