Re: Unexpected "Invalid comparison" error when plotting function defined with a Condition pattern

*To*: mathgroup at smc.vnet.net*Subject*: [mg69171] Re: Unexpected "Invalid comparison" error when plotting function defined with a Condition pattern*From*: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>*Date*: Fri, 1 Sep 2006 06:40:16 -0400 (EDT)*Organization*: The Open University, Milton Keynes, UK*References*: <ed68td$jgk$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Andrew Moylan wrote: > Hi, > > Please consider the following simple function, defined for positive x > using a Condition pattern: > > g[x_ /; 0 < x] = x; > > When I try to plot this function in the following way: > > Plot[Abs[g[10^y]], {y, 1, 2}]; > > I unexpectedly receive some "Less::nord : Invalid comparison with 10. + > 0. I attempted" errors. Can anyone explain why this is, and how I > should best prevent it? > > Relevant note: > Both of the following different plots of g succeed with no errors: > Plot[Abs[g[y]], {y, 1, 2}]; > Plot[g[10^y], {y, 1, 2}]; > > Irrelevant note: > In my actual application, the function g is more complicated and is > complex-valued (hence my use of Abs); but the error is reproducable > with the very simple real-valued function g as defined above. > > Thanks for any insight you might be able to give me on this. > > Cheers, > > Andrew > Hi Andrew, Functions like Less cannot compare complex values: this is the meaning of the warning message you received. Less::"nord" : "Invalid comparison with (\"10.0000009594105\" + \"0.*I\") attempted. More... --> . Generated when complex numbers occur in functions such as Min or Greater that make numerical comparisons of real numbers. . This message is often generated indirectly by other functions that internally make comparisons of real numbers. You can try g[x_Real /; 0 < x] := x; Plot[Abs[g[10^y]], {y, 1, 2}]; Regards, Jean-Marc