Re: from range restriction to domain restriction

*To*: mathgroup at smc.vnet.net*Subject*: [mg72617] Re: from range restriction to domain restriction*From*: "dimitris" <dimmechan at yahoo.com>*Date*: Fri, 12 Jan 2007 05:53:46 -0500 (EST)*References*: <eo4o86$mgn$1@smc.vnet.net><eo534u$5p6$1@smc.vnet.net>

Why the following commands give different output? Reduce[ComplexExpand[Im[Sqrt[x]]] == 0, x] x > 0 and Reduce[ComplexExpand[Im[Sqrt[x]]] == 0] x == 0 || (Re[x] > 0 && Im[x] == 0) The following behaviour (for example) looks more normal to me Reduce[(x + 1)*(4*x^2 + 2) == 0, Reals] Reduce[(x + 1)*(4*x^2 + 2) == 0, x, Reals] x == -1 x == -1 Regards Dimitris Peter Pein wrote: > Chris Chiasson schrieb: > > If I wanted to ensure that Sqrt[x] was always a real number, perhaps > > as a condition on Piecewise, I would say Im@Sqrt@x==0 (or > > Element[Sqrt@x,Reals], but Mathematica doesn't like to simplify that). > > In my real case, x isn't a symbol - and it comes from the output of > > some other commands. However, I also know that Element[x,Reals], so I > > was wondering if there is a way to make Mathematica do the following: > > > > (part of) input: > > Im@Sqrt@x==0 > > > > output: > > x>0 > > > > If someone knows how to do this (other than the obvious Cases + > > pattern transformation), I would appreciate being told how. Thank you. > > > > Hi Chris, > > is Reduce[ComplexExpand[Im[Sqrt[x]], x] == 0, x] > --> x >= 0 > acceptable? > > You would have to do sth. like > > expr/.{Assuming[a_,ex_]:>Reduce[...],Simplify[ex_,a_]:>... and so on} > > I guess I would use the Menu->Find->Find... to replace all "Im@Sqrt@==" with > "0<=" ;-) > > > Sorry, I've got no better idea :-( > > Peter