Re: asumming and Exp orthogonality condition

*To*: mathgroup at smc.vnet.net*Subject*: [mg91952] Re: asumming and Exp orthogonality condition*From*: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>*Date*: Mon, 15 Sep 2008 03:39:02 -0400 (EDT)*Organization*: The Open University, Milton Keynes, UK*References*: <gag2p0$3ck$1@smc.vnet.net>

charllsnotieneningunputocorreo at gmail.com wrote: > Element[ 0 , Integers ] evaluates to true, however; > > Assuming[ Element[ n , Integers] , Integrate[ Exp [ 2 I Pi n x ] , > {x , 0 , 1 } ] ] evaluates to zero. Shouldn't evaluate to > KroneckerDelta[ 0 , n ] instead? The following might explain what is going on. Mathematica does not have any transformation rule for this specific case of this definite integral. So, I guess, what Mathematica computes first is the general formula for the definite integral (I shall call it int[n]) and then applies the assumption about n being an integer. (This is conceptually equivalent to In[1] and In[2].) As it stands, int[n] is defined and equal to 0 for all n in N, n !=0. (For n == 0 we have a division by zero.) So what Mathematica sees is that the function is defined for every non-zero integer and its value is therefore zero. Now, if we extend the domain of definition of int[n] to the whole set of integers and defined int[0] == 1, (having checked that the limit of int[n] as n approaches zero on the left and on the right is equal to one), only then this extended definition matches KroneckerDelta[0, n]. Thus, Mathematica's behavior seems reasonable since Mathematica is not going to attempt by itself to check the limits and/or extend the domain of definition. In[1]:= int[n_] = Integrate[Exp[2 I Pi n x], {x, 0, 1}] Out[1]= -((I (-1 + E^(2 I n \[Pi])))/(2 n \[Pi])) In[2]:= Assuming[Element[n, Integers], Simplify[int[n]]] Out[2]= 0 In[3]:= Table[int[n], {n, -2, 2}] During evaluation of In[3]:= Power::infy: Infinite expression 1/0 \ encountered. >> During evaluation of In[3]:= \[Infinity]::indet: Indeterminate \ expression (0 ComplexInfinity)/\[Pi] encountered. >> Out[3]= {0, 0, Indeterminate, 0, 0} In[4]:= Limit[int[n], n -> 0, Direction -> 1] Out[4]= 1 In[5]:= Limit[int[n], n -> 0, Direction -> -1] Out[5]= 1 Regards, -- Jean-Marc