Sounds like you want to understand how transcendental, trigonometric and similar functions work. These mathematical functions nearly always computed by iterative methods. This is how nearly all calculators, whether hand held or as software, work. The reason is because these functions' mathematical definition do not lend themselves to explicit solutions.
Take for example doing a square root. It is easy to express what a square root is: sqrt(x)*sqrt(x)=x
. But to actually find sqrt(x)
is difficult, because the equation can not be made explicit. One way to work out sqrt(x)
is using Newton's method which makes a guess as to the value of sqrt(x)
for each iterations. Each guess is more accurate than the last (under certain conditions, the guesses can get worst). After so many iterations, you have a fairly accurate value for sqrt(x)
, and by the law of diminishing returns, and it is not longer profitable to keep going. At this point you return the current guess for what value sqrt(x)
should be, and often it is Good Enough for mere mortals.
Similar methods are used to calculate exponential, logarithm, and trigonometric functions. For example the arcsin(x)
can be calculated using an infinite series. Of course you don't actually sum over infinity, you just go far enough to get the accuracy your data type can hold, and stop there.
There is a measure of how well a series approximate a function, and that is called convergence. If method A converges faster than method B, it means after x iterations, the value method A gives you is more accurate than the value method B gives you. In other words, method A's answer converges to the correct analytical answer faster than B.
That is then the mathematical considerations of methods. When you codify this programmatic considerations come into play - method A might be faster, but costs too much memory, and method B, while slower, is cheaper.
I can't recommend specific books on this, though I would recommend a good maths book (or google) to understand the maths, and a good algorithms book to understand things like complexity.
Cheers,
Steve