MathGroup Archive 2008

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

Search the Archive

Re: Re: Re: "Assuming"

On 27 Feb 2008, at 00:19, Daniel Lichtblau wrote:

> Andrzej Kozlowski wrote:
>> On 26 Feb 2008, at 13:43, Daniel Lichtblau wrote:
>>> [...]
>>> I've seen cases where the FullSimplify[something] result differs  
>>> from
>>> something on a finite set of integers. This motivated me several   
>>> months
>>> ago to alter assumptions of integrality, to reality (realness?
>>> realhood?), in processing of Integrate.
>>> Daniel Lichtblau
>>> Wolfram Research
>> Formally speaking, reasonable measures (e.g. Radon measures) are   
>> either diffuse or  Dirac measures (or linear combinations of  
>> these).  However, for the former,  the entire set of integers has  
>> measure zero,  and for the latter certain finite sets will have a  
>> non-zero measure.  So none of these seems to fit the intended  
>> meaning of "measure zero".
>> More seriously; I think the intended meaning is that in   
>> Simplify[thing1] -> thing2 thing1 and thing2 should both be  
>> functions  of some variable that is defined on an uncountable set,  
>> then they may  be are allowed to differ for a finite number of  
>> values. But, if the  functions are defined only on countable sets  
>> (e.g. the set of all  integers, as is the case with many number  
>> theoretic functions) then  the failure of thing2 to be equal to  
>> thing1 on a finite set could be  very serious. I think in such  
>> situations  the "set of measure zero"  should really be the empty  
>> set, or perhaps in really exceptional cases  a set that contains no  
>> more than a single point.
>> Andrzej Kozlowski
> Here is an example of the behavior in question. I do not pass  
> judgement on whether it should be regarded as a bug or a feature. I  
> simply wanted to give a concrete example where the behavior arises  
> and is difficult to supress.
> In[2]:= i1 = Integrate[Sin[m*x]*Sin[n*x], {x,0,2*Pi}, Assumptions- 
> >Element[{m,n},Reals]];
> Check what happens when we assign n->1 and then take limit as m->1.
> In[3]:= l1 = Limit[i1 /. n->1, m->1]
> Out[3]= Pi
> That was fine. Now see what happens if we assign n->1 and simplify  
> under assumption that m is an arbitrary integer.
> In[4]:= l2 = Simplify[i1 /. n->1, Element[m,Integers]]
> Out[4]= 0
> Daniel Lichtblau
> Wolfram Research

Unless I am missing something obvious (which is possible as I have not  
yet fully woken up) the problem amounts simply to this:

x = (1/2)*(Sin[2*(m - 1)*Pi]/(m - 1) -
           Sin[2*(m + 1)*Pi]/(m + 1));

In[2]:= Limit[x, m -> 1]
Out[2]= Pi

In[3]:= Limit[x, m -> 1, Assumptions ->
      Element[m, Integers]]
Out[3]= 0

The last answer maybe slightly dubious because it is not perfectly  
clear in what sense the limit is taken here. But it seems to me a very  
minor point and no cause for concern ?

Andrzej Kozlowski

  • Prev by Date: Re: Maximize Command - Problem
  • Next by Date: Re: Re: Re: "Assuming"
  • Previous by thread: Re: Re: "Assuming"
  • Next by thread: Re: Re: Re: "Assuming"