MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Poor choice in PiecewiseExpand ?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg107586] Re: [mg107550] Poor choice in PiecewiseExpand ?
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Thu, 18 Feb 2010 05:17:04 -0500 (EST)
  • References: <201002160855.DAA01520@smc.vnet.net>
  • Reply-to: drmajorbob at yahoo.com

I got to the part after 3 later on; you were right about that, and I  
agreed that it is a bug.

Also, this:

>> expr3 = Which[0 < x <= 1, 1,
>>   1 < x <= 2, 2,
>>   2 < x < 3, 3,
>>   True, 0]

should have been

expr3 = Which[0 < x <= 1, 1,
   1 < x <= 2, 2,
   2 < x <= 3, 3,
   True, 0]

Bobby

On Tue, 16 Feb 2010 21:24:04 -0600, Jack L Goldberg 1 <jackgold at umich.edu>  
wrote:

> Hi Bobby,
>
> I don't think I made my self clear here, or I don't understand your  
> comment:
>
>> No. Mathematica computing Ceiling[x], just like you told it to, and  
>> Ceiling is left-continuous. For instance, Ceiling@2 is 2.
>
> I was referring to all values of x > 3 not just x = 3.  The graph from  
> -2 to 5 of the piecewise expand function shows what I mean.
>
> By the way, thank you for all your insightful posts.  I read them all.  
>   Keep up the good work.
>
> Jack
>
>
>
> Quoting DrMajorBob <btreat1 at austin.rr.com>:
>
>> Yes, that's a BUG.
>>
>> Here's your original expression and its output:
>>
>> expr1=PiecewiseExpand[Ceiling[x],0<=x<=3]
>>
>> \[Piecewise]1	0<x<=1
>> 2	1<x<=2
>> 3	x>2
>> 0	True
>>
>> And here's an equivalent Which (you had the arguments out of order):
>>
>> expr2=Which[0<x<=1,1,
>> 1<x<=2,2,
>> x>2,3,
>> True,0]
>>
>> expr1 == expr2 // Simplify
>>
>> True
>>
>>> My beef (confusion) is with the values given in Out[1] when x > 3.
>>> (This issue arises in Floor[x] and other such functions.)  Why is the
>>> value 3 ?  Since the assumption is that x lies in [0,3], giving a
>>> value of x outside this interval should result in an error message.
>>> No?.
>>
>> No. You used PiecewiseExpand, so the result was Piecewise. Piecewise  
>> makes no assumptions; it tests x, then returns a value. It ALWAYS  
>> returns a value.
>>
>>> Mathematica decided to make this function continuous with the values  
>>> at the
>>> end points of the assumed interval, where possible.
>>
>> No. Mathematica computing Ceiling[x], just like you told it to, and  
>> Ceiling is left-continuous. For instance, Ceiling@2 is 2.
>>
>>> My own feeling is that outside the assumed region, PiecewiseExpand
>>> should return  0 if anything.
>>
>> On that, you're correct, and it's a bug. The correct output of  
>> PiecewiseExpand would be
>>
>> expr3 = Which[0 < x <= 1, 1,
>>   1 < x <= 2, 2,
>>   2 < x < 3, 3,
>>   True, 0]
>>
>> Bobby
>>
>> On Tue, 16 Feb 2010 02:55:41 -0600, Jack L Goldberg 1  
>> <jackgold at umich.edu> wrote:
>>
>>> Hi Folks,
>>>
>>> I am running ver. 7.01.0 on a MackBookPro using OS 10.6.2.
>>>
>>> In[1]  PiecewiseExpand[Ceiling[x], 0 <= x <= 3]
>>>
>>> For clarity, I write the piecewise output in the form of a "Which"
>>> command.  It DOES NOT display as "Which", of course.
>>>
>>> Out[1]  Which[1, 1 <= x < 2, 2, 2 <= x <= 3, 3, x >= 3, 0, True]
>>>
>>>
>>> My beef (confusion) is with the values given in Out[1] when x > 3.
>>> (This issue arises in Floor[x] and other such functions.)  Why is the
>>> value 3 ?  Since the assumption is that x lies in [0,3], giving a
>>> value of x outside this interval should result in an error message.
>>> No?.  By the way, the value returned for x = -1 is zero so clearly(?)
>>> Mathematica decided to make this function continuous with the values  
>>> at the
>>> end points of the assumed interval, where possible.  Is this a
>>> documented feature of PiecewiseExpand?  Is it even a good idea?
>>>
>>> I can live with this "feature" by the way.  I just wish I hadn't had
>>> to discovered it after spending much time fooling around with
>>> PiecewiseExpand in other code that I am writing.
>>>
>>> My own feeling is that outside the assumed region, PiecewiseExpand
>>> should return  0 if anything.
>>>
>>> Jack
>>>
>>>
>>
>>
>> --DrMajorBob at yahoo.com
>>
>>
>>
>
>


-- 
DrMajorBob at yahoo.com


  • Prev by Date: Re: Re: May we trust IntegerQ ?
  • Next by Date: Re: Strange behaviour of Plot
  • Previous by thread: Re: Poor choice in PiecewiseExpand ?
  • Next by thread: Re: Poor choice in PiecewiseExpand ?