Re: Kernel crashes in ReplaceAll - with or without Maximize
- To: mathgroup at smc.vnet.net
- Subject: [mg105282] Re: Kernel crashes in ReplaceAll - with or without Maximize
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Wed, 25 Nov 2009 23:03:23 -0500 (EST)
- References: <hedt65$lnj$1@smc.vnet.net> <4B0BA9AC.6080403@metrohm.com>
- Reply-to: drmajorbob at yahoo.com
Assuming works, but using Integers as the third argument should also work,
and it doesn't.
data = {{0, 0}, {10, 10}, {20, 0}, {30, 10}};
eq = Fit[data, {1, x, x^2, x^3}, x];
proxy = Rationalize[eq, 10^-15];
Maximize[{proxy, x <= 20}, x, Integers]
Maximize[{1/379250494936462 + (105718301111983 x)/31715490333595 - (
3 x^2)/10 + x^3/150, x <= 20}, x, Integers]
Bobby
On Tue, 24 Nov 2009 03:38:52 -0600, dh <dh at metrohm.com> wrote:
> DrMajorBob wrote:
>> Two years ago this worked properly, with the output shown:
>> data = {{0, 0}, {10, 10}, {20, 0}, {30, 10}};
>> eq = Fit[data, {1, x, x^2, x^3}, x]
>> proxy = Rationalize[eq, 10^-15]
>> Maximize[{proxy, x \[Element] Integers, x <= 20}, x]
>> eq /. Last@%
>> 1.96128*10^-15 + 3.33333 x - 0.3 x^2 + 0.00666667 x^3
>> 1/509872338168900 + (10 x)/3 - (3 x^2)/10 + x^3/150
>> {5567805932804389/509872338168900, {x -> 7}}
>> 10.92
>> Today the same code outputs a Maximize failure and crashes the kernel:
>> data = {{0, 0}, {10, 10}, {20, 0}, {30, 10}};
>> eq = Fit[data, {1, x, x^2, x^3}, x]
>> proxy = Rationalize[eq, 10^-15]
>> Maximize[{proxy, x \[Element] Integers, x <= 20}, x]
>> eq /. Last@%
>> 2.63678*10^-15 + 3.33333 x - 0.3 x^2 + 0.00666667 x^3
>> 1/379250494936462 + (105718301111983 x)/31715490333595 - (
>> 3 x^2)/10 + x^3/150
>> Maximize[{1/379250494936462 + (105718301111983 x)/31715490333595 - (
>> 3 x^2)/10 + x^3/150, x \[Element] Integers, x <= 20}, x]
>> 2.63678*10^-15 + 3.33333 x - 0.3 x^2 + 0.00666667 x^3 /. x
>> Ditto with this code (moving Integers to the third argument):
>> data = {{0, 0}, {10, 10}, {20, 0}, {30, 10}};
>> eq = Fit[data, {1, x, x^2, x^3}, x]
>> proxy = Rationalize[eq, 10^-15]
>> Maximize[{proxy, x <= 20}, x, Integers]
>> eq /. Last@%
>> 2.63678*10^-15 + 3.33333 x - 0.3 x^2 + 0.00666667 x^3
>> 1/379250494936462 + (105718301111983 x)/31715490333595 - (
>> 3 x^2)/10 + x^3/150
>> Maximize[{1/379250494936462 + (105718301111983 x)/31715490333595 - (
>> 3 x^2)/10 + x^3/150, x <= 20}, x, Integers]
>> 2.63678*10^-15 + 3.33333 x - 0.3 x^2 + 0.00666667 x^3 /. Integers
>> Odder yet, the kernel doesn't crash in Fit, Rationalize, or even
>> Maximize, but rather, in ReplaceAll (which does nothing), yet AFTER
>> the FE outputs a result:
>> data = {{0, 0}, {10, 10}, {20, 0}, {30, 10}};
>> eq = Fit[data, {1, x, x^2, x^3}, x]
>> proxy = Rationalize[eq, 10^-15]
>> 2.63678*10^-15 + 3.33333 x - 0.3 x^2 + 0.00666667 x^3
>> 1/379250494936462 + (105718301111983 x)/31715490333595 - (
>> 3 x^2)/10 + x^3/150
>> Maximize[{proxy, x <= 20}, x, Integers]
>> Maximize[{1/379250494936462 + (105718301111983 x)/31715490333595 - (
>> 3 x^2)/10 + x^3/150, x <= 20}, x, Integers]
>> eq /. Last@%
>> 2.63678*10^-15 + 3.33333 x - 0.3 x^2 + 0.00666667 x^3 /. Integers
>> Same here, without LessEqual:
>> data = {{0, 0}, {10, 10}, {20, 0}, {30, 10}};
>> eq = Fit[data, {1, x, x^2, x^3}, x]
>> proxy = Rationalize[eq, 10^-15]
>> Maximize[proxy, x, Integers]
>> 2.63678*10^-15 + 3.33333 x - 0.3 x^2 + 0.00666667 x^3
>> 1/379250494936462 + (105718301111983 x)/31715490333595 - (
>> 3 x^2)/10 + x^3/150
>> Maximize[1/379250494936462 + (105718301111983 x)/31715490333595 - (
>> 3 x^2)/10 + x^3/150, x, Integers]
>> eq /. Last@%
>> 2.63678*10^-15 + 3.33333 x - 0.3 x^2 + 0.00666667 x^3 /. Integers
>> And same here, after outputting a correct result:
>> data = {{0, 0}, {10, 10}, {20, 0}, {30, 10}};
>> eq = Fit[data, {1, x, x^2, x^3}, x]
>> proxy = Rationalize[eq, 10^-15]
>> Maximize[proxy, x]
>> 2.63678*10^-15 + 3.33333 x - 0.3 x^2 + 0.00666667 x^3
>> 1/379250494936462 + (105718301111983 x)/31715490333595 - (
>> 3 x^2)/10 + x^3/150
>> {\[Infinity], {x -> \[Infinity]}}
>> {$Version, $ReleaseNumber}
>> {"7.0 for Mac OS X x86 (64-bit) (February 19, 2009)", 1}
>> What's going on????
>> Bobby
>>
> Hi Bobby,
> with version 7.0.1 on Vista, the following does not evaluate:
> Maximize[{proxy, x \[Element] Integers, x <= 20}, x]
> The parser seems to have problems with: x \[Element] Integers
> It seems to work if one put this condition in an "Assuming":
> Assuming[x \[Element] Integers, Maximize[{proxy, x <= 20}, x]]
>
> Daniel
>
>
>
--
DrMajorBob at yahoo.com