# Manually calculate Arccosine and Arctangent

Philosophaie
How do you calculate Arccosine and Arctangent if you do not have a scientific calculator.
$$\theta = atan(\frac{y}{x})$$
$$\theta2 = acos(\frac{z}{\sqrt{x^2+y^2+z^2}})$$

Homework Helper
Gold Member
Dearly Missed
Make a finite Taylor series expansion, for example.

Homework Helper
Gold Member
Dearly Missed
Or, if you recognize the value inside the acos, for example, as the cosine value to some specific angle, then that specific angle is your desired answer.

Gold Member
The series expansions (Taylor series) can be used though most computational methods first transform this into a Chebyshev expansion. You will study these if you take a course in numerical analysis.

For an introduction see: http://en.wikipedia.org/wiki/Chebyshev_polynomials It takes a while to get to the application of the polynomials to approximation theory.

Homework Helper
Gold Member
Dearly Missed
Essentially, what you want is a finite algorithm of a) minimal length and retaining b) optimal accuracy for your answer.
These two competing issues generate in general, a tricky balancing act, although much research has uncovered a lot of techniques that justifiably have become "favoured".

Last edited:
Zeda
Though it is nearly 8 weeks late, if you need only about 4 digits of accuracy, you could use $tan^{-1}\approx \frac{x(240+115x^{2})}{240+195x^{2}+17x^{4}}, x\in [-1,1]$ and for x outside that range, use the identity $tan^{-1}(x)=\frac{\pi}{2}-tan^{-1}(\frac{1}{x})$. It might be a pain by hand, but it is doable.

Using Chebyshev polynomials or Taylor Series will take you a looong time :P

So, as an example, take x=.1
$tan^{-1}(.1)\approx \frac{.1(240+115*.01)}{240+195*.01+17*.0001}$
$= \frac{.1(241.15)}{241.9517}$
$= \frac{24.115}{241.9517}$
$\approx .0996686529$

Compare to my calculator which returns .0996686525 ;)

See this post for the derivation of that formula.

For arccos, you can use the identity:
$cos^{-1}(x)=2tan^{-1}\left(\sqrt{\frac{1-x}{1+x}}\right), x\in (-1,1]$

To compute square roots by hand, there are a number of methods, but the method I am most familiar with is in binary, so I don't know how useful that will be :/ (Note that the square root will be squared in two places plugging it into the arctangent approximation, so you don't technically need to compute the square root, there.)