# [mg24362] Problem with antiderivtive of ArcSec

1 view

### Andrzej Kozlowski

Jul 12, 2000, 3:00:00 AM7/12/00
to
on 7/9/00 5:53 PM, hea...@in-tch.com at hea...@in-tch.com wrote:

> Hi,
> I am trying to integrate the following function:
> 1/(x*Sqrt[x^2-1])
> The solution should be simply:
> ArcSec[x]
> Mathmatica gives:
> -ArcTan[1/Sqrt[x^2-1]]
> Why won't Mathematica give me the 'textbook' answer?
> It seems that mathematica gives a solution in terms of ArcTan to any
> equation like the one I listed.
> Thanks,
> Heath
>
>

You can't expect Mathematica always to give you back as anti-derivative the
function you originally differentiated, since differentiation is only the
left inverse of anti-diferentiation on the space of differentiable
functions. Choices have to be made and someone among the designers of
Mathematica does not seem to like ArcSec and ArcCsc (however wait till the
end of this message!)

Your question inspired me to do a curious investigation. Consider the
follwing operator:

In[1]:=
ID[f_, x_] := Integrate[D[f, x], x]

For a great many classical functions ID is the Identity operator:

In[2]:=
testlist = {x^2, Sin[Log[x]], ArcSin[x], Log[ArcSin[x]], ArcSin[ArcTan[x]]};
In[3]:=
ID[#, x] == # & /@ testlist
Out[3]=
{True, True, True, True, True}

As expected this is not true for ArcCos[x] but instead we have:

In[4]:=
FixedPointList[ID[#, x] &, ArcCos[x]]

Out[4]=
{ArcCos[x], -ArcSin[x], -ArcSin[x]}

In general, although we would not expect ID to act as identity on all
classical functions it is reasonable to expect that it will either have a
fixed point or end with a cycle. The reason is that Integrate (unlike
DSolve) does not use "arbitrary constants", and there are only a few "named
functions", like ArcCos and -ArcSin which differ by a constant). So it would
be surprising and worrying if Mathematica failed to produce a fixed point or
a cycle in a nested sequence applications of ID.

Thus I was lead to try to see what happens for ArcSec and ArcCsc. The
results were a bit surprising. As I expected, in both cases we get cycles.
In the case of ArcSec the third term is a very complicated expresion but
the next one is just -ArcSin[1/x] seems to confirm that Mathematica does
not like ArcSec) at which poit we reach the cycle. The case ArCsc seems
slightly bizzare:
In[5]:=
NestList[ID[#1, x] & , ArcCsc[x], 3]
1
Power::infy: Infinite expression - encountered.
0
1
Power::infy: Infinite expression - encountered.
0
Out[5]=
{ArcCsc[x], (Sqrt[-1 + x^2]*ArcTan[1/Sqrt[-1 + x^2]])/(Sqrt[1 - x^(-2)]*x),
ArcSin[x^(-1)],
(Sqrt[-1 + x^2]*ArcTan[1/Sqrt[-1 + x^2]])/(Sqrt[1 - x^(-2)]*x)}

Things imporove if we include FullSimplify in the definition of ID:

ID[f_, x_] := Integrate[D[f, x], x]//FullSimplify

For ArcSec we now get a fixed point, though a somewhat complicated looking
one:

In[7]:=
FixedPointList[ID[#, x] &, ArcSec[x]]
Out[7]=
2
x ArcCot[Sqrt[-1 + x ]]
{ArcSec[x], -(-----------------------),
2
Sqrt[x ]

2
x ArcCot[Sqrt[-1 + x ]]
-(-----------------------)}
2
Sqrt[x ]

For ArcCsc we still get a cycle, but no more 1/0 messages:

In[8]:=
NestList[ID[#, x] &, ArcCsc[x], 3]
Out[8]=
2
x ArcCot[Sqrt[-1 + x ]] 1
{ArcCsc[x], -----------------------, ArcCot[Sqrt[1 - --] x],
2 2
Sqrt[x ] x

ArcCsc[x]}

What is interesting is that this time the cycle does begin with ArcCsc[x] !
This is was really a surprise! It seems that after all Mathematica does not
hate ArcCsc, for it gives:

In[9]:=
FullSimplify[Integrate[-((Sqrt[1 - 1/x^2] + 1/(Sqrt[1 - 1/x^2]*x^2))/(1 + (1
- 1/x^2)*x^2)), x]]

Out[9]=
ArcCsc[x]

What is even stranger:

In[10]:=
FullSimplify[
Integrate[
FullSimplify[-((Sqrt[1 - 1/x^2] +
1/(Sqrt[1 - 1/x^2]*x^2))/(1 + (1 - 1/x^2)*x^2))], x]]
Out[10]=
2
x ArcCot[Sqrt[-1 + x ]]
-----------------------
2
Sqrt[x ]

So the result of my investigation leaves me more puzzled than I was to
begin with!

Andrzej

--
Andrzej Kozlowski
Toyama International University, JAPAN

For Mathematica related links and resources try:
<http://www.sstreams.com/Mathematica/>