Re: Re: Constant function Integrate Assumption
- To: mathgroup at smc.vnet.net
- Subject: [mg47250] Re: [mg47218] Re: Constant function Integrate Assumption
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Thu, 1 Apr 2004 00:03:36 -0500 (EST)
- References: <c4bdnf$6tr$1@smc.vnet.net> <200403310757.CAA20968@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 31 Mar 2004, at 16:57, David W. Cantrell wrote: > dsr14 at Cornell.edu (Daryl Reece) wrote: >> I am trying to use units within an Integration and would like >> Mathematica to understand that the units (Month) are not a function of >> the integration variable, but I have not had any luck with my >> attempts. >> >> Specifically >> >> Integrate[UnitStep[t Months], t] >> >> should yield >> >> t UnitStep[t] > > Not exactly. I'll explain in a moment. > >> but I get the unevaluated form, because Mathematica does not know how >> to >> assume that Month is not a function of t. > > Yes, you get an unevaluated form, but that's not due to Mathematica > thinking that Month (or Months, whichever) might be a function of t. > Consider, for example, > > In[1]:= Integrate[t Month, t] > > Out[1]= (Month t^2)/2 > > showing that Mathematica assumes, just as you wish, that Month is > independent of t. > >> I've tried Assumptions, SetAttribute, Replace...to no avail. I've >> also hunted extensively online (Wolfram, this group and MathGroup) >> without any results, so any help would be greatly appreciated. > > The problem with something like Integrate[UnitStep[t Month], t] seems > to > be that we cannot convince Mathematica that Month is positive unless we > actually specify a numerical value for it. Note first that > > In[2]:= Integrate[UnitStep[Pi t], t] > > Out[2]= t UnitStep[t] > > works as desired because Mathematica knows that Pi>0. We also see that > > In[3]:= a=-3; Integrate[UnitStep[a t], t] > > Out[3]= t-t UnitStep[t] > > is correct because Mathematica knows that a<0. > > Prior to your posting, I would have thought that the following would > work: > > In[4]:= Clear[a]; Assuming[a>0,Integrate[UnitStep[a t], t]] > > Out[4]= Integrate[UnitStep[a t], t] > > but we see, alas, that it doesn't work. So can someone suggest a way to > get Integrate[UnitStep[t Month], t] to evaluate to t UnitStep[t] > without > having to assign a specific positive value to Month? > > David Cantrell > > The closest I can get to it is: Integrate[UnitStep[s Month],{s,-Infinity,t},Assumptions->Month>0] t UnitStep[Month t] (Note that since D[Integrate[UnitStep[s*Month], {s, -Infinity, t}], t] UnitStep[Month*t] it is reasonable to view Integrate[UnitStep[s Month],{s,-Infinity,t}] as the same as Integrate[UnitStep[t Month], t].) Andrzej Kozlowski Chiba, Japan http://www.mimuw.edu.pl/~akoz/