Chapter 3: Problem 19
You are required by a computer manufacturer to write a library function for a given floating point system to find the cube root \(y^{1 / 3}\) of any given positive number \(y .\) Any such relevant floating point number can be represented as \(y=a \times 2^{e}\), where \(a\) is a normalized fraction \((0.5 \leq a<1)\) and \(e\) is an integer exponent. This library function must be very efficient and it should always work. For efficiency purposes it makes sense to store some useful constants ahead of computation time, e.g., the constants \(2^{1 / 3}, \frac{2}{3}\), and \(a / 3\), should these prove useful. (a) Show how \(y^{1 / 3}\) can be obtained, once \(a^{1 / 3}\) has been calculated for the corresponding fraction, in at most five additional flops. (b) Derive the corresponding Newton iteration. What is the flop count per iteration? (c) How would you choose an initial approximation? Roughly how many iterations are needed? (The machine rounding unit is \(2^{-52}\).) [You might find this exercise challenging.]
Short Answer
Step by step solution
Key Concepts
These are the key concepts you need to understand to accurately answer the question.