MathGroup Archive 2001

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

Search the Archive

Re: A buglet in FunctionExpand

  • To: mathgroup at smc.vnet.net
  • Subject: [mg27685] Re: [mg27665] A buglet in FunctionExpand
  • From: BobHanlon at aol.com
  • Date: Sun, 11 Mar 2001 04:04:28 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

While I agree that Mathematica should handle these when using FunctionExpand, 
it should be pointed out that these cases are handled by FullSimplify with 
Assumptions

$Version

"4.1 for Power Macintosh (November 2, 2000)"

FullSimplify[UnitStep[x^2], Element[x, Reals]]

1

Off[General::ivar]

FullSimplify[UnitStep[x^(2*n)], Element[x, Reals] && Element[n, Integers]]

1

Bob Hanlon

In a message dated 2001/3/10 1:10:15 AM, jackgold at math.lsa.umich.edu writes:

>FunctionExpand is a very powerful tool and like all powerful tools it
>should be used with some care.  One use I have made of FunctionExpand is
>simplifing UnitStep[***].  In doing so I have discovered one bug reported
>here a few months ago and now report a buglet, a result that is more or
>less correct but not in reasonable form.
>
>Try,
>
>   FunctionExpand[ UnitStep[x^2] ]
>
>and you will get  
>
>   UnitStep[-x]+UnitStep[x] 
>
>on a Mac or Unix system running ver 4.0.  The output fails to agree with
>the input at  x = 0.  The correct answer is, of course 
>
>   FunctionExpand[ UnitStep[x^2] ] -> 1  since x^2 >= 0 for all x.
>
>Similar incorrect answers occur when the argument of UnitStep is any
>even power of x+a. 
>
>Now some additional comments directed at those with a serious interest
>in
>Piecewise Continuous functions:
>
>My experience with identities involving UnitStep suggests that one must
>either give up some simplifications in order that the input and output
>agree for all real x.  Example,  if you want  UnitStep[-x] to simplify
>to
>1-UnitStep[x] then as above these two functions disagree only for x=0.
>Redefining  UnitStep[0] = 1/2 leads to the failure of UnitStep[x]^n =
>UnitStep[x] at x = 0 for every positive n.
>
>Mathematica provides an interesting partial solution which I came across
>quite accidentally:
>
>   FunctionExpand[ UnitStep[-x]UnitStep[x] ] -> DiscreteDelta[x]
>
>So, 
>
>   UnitStep[-x] -> 1-UnitStep[x]+DiscreteDelta[x] 
>
>saves this desired identity.  
>
>My suggestions to the gurus at Mathematica:  Clean up these peculiarities.
> Either
>except the fact that  FunctionExpand[ ... something involving UnitStep...]
>may lead to an expression differing from the argument of FunctionExpand
>at
>a finite number of points, or use DiscreteDelta systematically.  In any
>case, UnitStep[x^(2r)] is identically 1!
>


  • Prev by Date: Re: help create a unique solution system
  • Next by Date: Re: Re: NSolve problem
  • Previous by thread: A buglet in FunctionExpand
  • Next by thread: RE: pbms with Mathematica 4.1 under Windows (copy paste ? comments?)