MathGroup Archive 2008

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

Search the Archive

Re: Re: If Integrate returns no result, can we conclude that no closed-form

On 17 Apr 2008, at 13:25, David W. Cantrell wrote:
> Andrzej Kozlowski wrote:
>> On 17 Apr 2008, at 11:33, David W.Cantrell wrote:
>>>> Szabolcs_Horv=E1t <szhorvat at> wrote:
>>>> The documentation says:
>>>> "In the most convenient cases, integrals can be done purely in
>>>> terms of elementary functions such as exponentials, logarithms and
>>>> trigonometric functions. In fact, if you give an integrand that
>>>> involves only such elementary functions, then one of the important
>>>> capabilities of Integrate is that if the corresponding integral
>>>> can be expressed in terms of elementary functions, then Integrate
>>>> will essentially always succeed in finding it."
>>>> =
>>>> How precise is this?  Can one rely on this information?
>>> I suppose that depends on the definition of "essentially".  ;-)
>>>> Is it really
>>>> true that if Mathematica cannot integrate an expression made up of
>>>> elementary functions, then no closed-form result exists?
>>> No. Consider, for example,
>>> In[9]:= Integrate[D[x Sin[x^ArcSin[x]], x], x]
>>> Out[9]= Integrate[x^(1 + ArcSin[x])*Cos[x^ArcSin[x]]*(ArcSin[x]/x =
>>>         Log[x]/Sqrt[1 - x^2]) + Sin[x^ArcSin[x]], x]
>>> which was done in Versionn 6.0.2 under Windows XP.
>> This is not an "elementary function" (as far as the Risch algorithm
>> is concerned).
>> The class of elementary functions consists of rational functions,
>> exponentials, logarithms, trigonometric, inverse trigonometric,
>> hyperbolic, and inverse hyperbolic functions, the solutions of a
>> polynomial equation whose coefficients are elementary functions) and
>> any finite nesting (composition) of elementary functions. It does
>> not include the power of an elementary function to another
>> elementary function so your example actually shows the opposite of
>> what you seem to claim, namely that Mathematica has correctly
>> concluded (by using the Risch algorithm) that the integral cannot be
>> expressed in terms of elementary functions.
> Are you claiming that, for the purpose of the Risch algorithm,
> Exp[Log[x] ArcSin[x]]  is not considered to be an elementary function?
> I find that hard to believe!
> David

I think both of us are (partly) right.

Well, you are right that this is an "elementary" function in the sense 
that I stated earlier (composites of elementary functions are 
elementary) but it is certainly not an "elementary transcendental 
function" as in the "easy case" of the Risch algorithm (e.g. see p. 
529 of Geddes, Czapor, Labahn "Algorithms for computer algebra"). 
Elementary transcendental functions are just functions generated over 
the ground field by exponential and logs.
However your function is an object that lives in a mixed tower of 
algebraic and transcendental extensions. Algebraic extensions are 
needed to convert ArcSin to Log, which is required by the Risch 
algorithm, and you obviously need to consider two transcendental 
extensions because of the composition of transcendental functions in 
your formula. So we have a so called "mixed tower of extensions".   
However, the original Risch algorithm did not apply to such cases. 
This case was solved only in 1987 in a PhD thesis of Bronstein 
(Risch's paper appeared in 1968) and as far as I know it has never 
been implemented. Its certainly not implemented in Mathematica and 
moreover it seems it is not even considered as an "unimplemented part 
of the Risch algorithm" (see Bhuvanesh's post in the same thread, 
which only mentions the purely algebraic case as "unimplemented").
So, if this is correct (and I am only an amateur in this area) then, 
although your function is indeed elementary in the wide sense of 
Bronstein's algorithm it is not elementary in the sense of the 
original Risch algorithm.

Andrzej Kozlowski

Andrzej Kozlowski

  • Prev by Date: Re: List concatenation - two more methods, one truly fast
  • Next by Date: Abs[x] function
  • Previous by thread: Re: Re: If Integrate returns no result, can we conclude that no closed-form
  • Next by thread: Re: If Integrate returns no result, can we conclude that no