6.53 arcsin integral (18.3.97)

6.53.1 Bernard Marcheterre
6.53.2 Robert Mc Dougall (27.3.97)
6.53.3 David Holmgren (4.4.97)
6.53.4 Giorgio Taricco (11.4.97)

6.53.1 Bernard Marcheterre

This question refers to the integration of the square of arcsin(x). If you give Maple these commands:

>assume(x>0,x<1): 
>int(arcsin(x),x);
 

It will respond with the correct result, at least according to Schaum’s Mathematical Handbook of Formulas and Tables, equation 14.471. If, instead you go with:

>assume(x>0,x<1): 
>int((arcsin(x))^2,x);
                                                                                    
                                                                                    
 

The unevalueted integral is returned. I found a way to reach the result (equation 14.476, Schaum) trough intparts from the student package but I wonder, is there a special command that I need to know? Have I reached the limit of the integration kernel with this special case?

6.53.2 Robert Mc Dougall (27.3.97)

We both reached the same limit :o) A package written with the all the asumptions made for all trigonometric functions would be awesome .

6.53.3 David Holmgren (4.4.97)

When I saw this posting, I thought I might try MuPAD 1.3 on the problem (I realise that this is rather naughty, but not to worry). In the following, asin(x) is the same as arcsin(x):

 >> int(asin(x)^2,x)
 

which after only a short time ( 30 sec) produces:

 
                2               2    1/2 
 -2x + x asin(x) + 2 asin(x) (-x + 1)
 

I have no idea of what assumptions MuPAD makes with this problem.

6.53.4 Giorgio Taricco (11.4.97)

There is a simple way to tell Maple how to calculate

int(arcsin(x)^n,x).

The following code does the job:

> restart:with(student):        # Restart and load student package 
 
> assume(cos(u)>0):             # used later on 
 
> Int(arcsin(x)^2,x):           # arcsin integral (inert form) 
 
> changevar(arcsin(x)=u,%,u):   # change variables x->u 
 
> value(simplify(%)):           # calculate integral 
 
> subs(u=arcsin(x),%):          # change u back to x 
 
> simplify(%);                  # final simplification
 

and works for any positive integer power of arcsin(x).