Re: Re: A Problem with Simplify

*To*: mathgroup at smc.vnet.net*Subject*: [mg87727] Re: [mg87696] Re: A Problem with Simplify*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Wed, 16 Apr 2008 05:03:44 -0400 (EDT)*References*: <ftkb7f$a9m$1@smc.vnet.net> <200804140943.FAA08090@smc.vnet.net> <200804151051.GAA27987@smc.vnet.net>

Alexey Popkov wrote: > On 15 =C1=D0=D2, 13:51, Daniel Lichtblau <d... at wolfram.com> wrote: > >>Alexey Popkov wrote: >> >>>On Apr 10, 10:14 am, "Kevin J. McCann" <Kevin.McC... at umbc.edu> wrote: >> >>>>I have the following rather simple integral of two sines, which should >>>>evaluate to zero if m is not equal to n and to L/2 if they are the same.= > > >>>Try the following: >>>Integrate[Exp[(a - 1)*x], x] /. a -> 1 >>>Integrate[Cos[(a - 1)*x], x] /. a -> 1 >>>Integrate[(a - 1)^x, {x, -1, 0}] /. a -> 1 >>>Integrate[Cos[a x]/Sin[x], x] /. a -> 1 >> >>>There is the ONE underlying BUG! In some complicated cases this bug >>>may result in random partial answers. >> >>>http://forum.ru-board.com/topic.cgi?forum=5&topic=10291&start=80#9 >> >>Removing the replacements, here are the Integrate results. >> >>In[17]:= InputForm[Integrate[Exp[(a - 1)*x], x]] >>Out[17]//InputForm= E^((-1 + a)*x)/(-1 + a) >> [...] >>As far as I am aware thse are correct. What is the bug? >> >>Daniel Lichtblau >>Wolfram Research > > > The above answers are correct only if "a" is not equal to 1. Answers > with a=1 are lost! > > And code: > > int1 = Integrate[Cos[a*x]/Sin[x], x]; > int1 /. a -> 1 > > MUST give us answer equal to > > int2 = Integrate[Cos[x]/Sin[x], x] Capitalization notwithstanding, it need not do any such thing. Integrate should give a generic result that behaves sensibly in the limit as a->1 from whatever path is specified to Limit. This is similar to the situation of In[18]:= InputForm[solns = x /. Solve[a*x^2 + x == 1, x]] Out[18]//InputForm= {(-1 - Sqrt[1 + 4*a])/(2*a), (-1 + Sqrt[1 + 4*a])/(2*a)} In[20]:= Limit[solns, a->0] Out[20]= {-Infinity, 1} Note that a blind substitution of a->0 will not give "nice" results. In[21]:= solns /. a->0 1 Power::infy: Infinite expression - encountered. 0 1 Power::infy: Infinite expression - encountered. 0 Infinity::indet: Indeterminate expression 0 ComplexInfinity encountered. Out[21]= {ComplexInfinity, Indeterminate} > But the first answer is invalid in this simple case... :( > > I should emphasize that in some complicated cases this BUG may result > in random partial answers! I'll emphasize that this is not a bug; it's the way Integrate is intended to work in Mathematica. An antiderivative of a function that depends on parameters can be invalid for some values of those parameters. Provided we are talking about analytic functions (things that can be said to have antiderivatives in the usual meaning of the term), the "bad set" will have measure zero. Daniel Lichtblau Wolfram Research

**References**:**Re: A Problem with Simplify***From:*Alexey Popkov <popkov@gmail.com>

**Re: A Problem with Simplify***From:*Alexey Popkov <popkov@gmail.com>