Re: FindInstance puzzler
- To: mathgroup at smc.vnet.net
- Subject: [mg83691] Re: [mg83633] FindInstance puzzler
- From: Adam Strzebonski <adams at wolfram.com>
- Date: Wed, 28 Nov 2007 05:38:23 -0500 (EST)
- References: <200711260849.DAA29897@smc.vnet.net> <55F7C11F-CAB8-47B4-AE40-DA470C74C8C1@mimuw.edu.pl> <474AF639.50705@wolfram.com> <52B4543A-8103-4C24-9786-8C554D247748@mimuw.edu.pl> <4B6A6861-0084-47E8-9A27-8669BE71D6CE@mimuw.edu.pl>
- Reply-to: adams at wolfram.com
Andrzej Kozlowski wrote:
> *This message was transferred with a trial version of CommuniGate(tm) Pro*
>
> On 27 Nov 2007, at 17:05, Andrzej Kozlowski wrote:
>
>> Reduce[2*y*I*Sqrt[x] + 2*(y - I*Sqrt[x]) == 0, {x, y}, Reals]
>
> This should have been:
>
>
> In[17]:= Reduce[2*y*I*Sqrt[x] + 2*(y - y*I*Sqrt[x]) == 0,
> {x, y}, Reals]
> During evaluation of In[17]:= Reduce::nddc:The system 2 \[ImaginaryI]
> Sqrt[x] y+2 (y-\[ImaginaryI] Sqrt[x] y)\[LongEqual]0 contains a nonreal
> constant 2 \[ImaginaryI]. With the domain \[DoubleStruckCapitalR]
> specified, all constants should be real. >>
> Out[17]= Reduce[2*I*Sqrt[x]*y + 2*(y - I*Sqrt[x]*y) == 0,
> {x, y}, Reals]
>
>
> but it other than that it does not change anything. Note that:
>
> Reduce[Simplify[2*y*I*Sqrt[x] + 2*(y - y*I*Sqrt[x]) == 0], {x, y}, Reals]
> y==0
>
> What I really mean tto say is: wouldn't it be a litte better to first
> automatically apply Simplify in such situation to see if the I's could
> be got rid of?
>
> Andrzej Kozlowski
>
>
It think this behaviour is correct. Reduce should disallow any non-real
subexpressions when the domain Reals is specified. The fact that it
cannot detect potentially non-real functions that cancel during input
processing is more problematic, but hard to avoid.
Adam Strzebonski
- References:
- FindInstance puzzler
- From: Mark Fisher <particlefilter@gmail.com>
- FindInstance puzzler