Book Description
Nontheoretical explanations of practical numerical algorithms
Algorithms in action with animated, interactive graphical Java programs and applets
Computational errors and how to remove them from your code
Understand "computer math" and get the numbers you expect, reliably.
In Java Number Cruncher, author Ronald Mak explains how to spotand how to avoidthe subtle programming miscues that can cause vexing calculation errors in your applications. An authority on mapping pure math to computer math, he explains how to use the oftenoverlooked computational features of Java, and does so in a clear, nontheoretical style.
Without getting lost in mathematical detail, you'll learn practical numerical algorithms for safely summing numbers, finding roots of equations, interpolation and approximation, numerical integration, solving differential equations, matrix operations, and solving sets of simultaneous equations. You'll also enjoy intriguing topics such as searching for patterns in prime numbers, generating random numbers, computing thousands of digits of pi, and creating intricately beautiful fractal images.
Java Number Cruncher includes:
Practical information all Java programmers should know
Popular computational algorithms in Javawithout excessive mathematical theory
Interactive graphical programs that bring the algorithms to life on the computer screen
Rounding errors, the pitfalls of integer arithmetic, Java's implementation of the IEEE 754 floatingpoint standard, and more
This book is useful to all Java programmers, especially for those who want to learn about numerical computation, and for developers of scientific, financial, and data analysis applications.
Table of Contents
 Copyright
 Preface
 How to Download the Source Code

I. Why Good Computations Go Bad
 1. FloatingPoint Numbers Are Not Real!
 2. How Wholesome Are the Integers?

3. The FloatingPoint Standard
 3.1. The FloatingPoint Formats
 3.2. Denormalized Numbers
 3.3. Decomposing FloatingPoint Numbers
 3.4. The FloatingPoint Operations
 3.5. ±0, ±∞, and NaN
 3.6. No Exceptions!
 3.7. Another Look at Roundoff Errors
 3.8. Strict or Nonstrict FloatingPoint Arithmetic
 3.9. The Machine Epsilon ∊
 3.10. Error Analysis
 References

II. Iterative Computations
 4. Summing Lists of Numbers

5. Finding Roots
 5.1. Analytical versus Computer Solutions
 5.2. The Functions
 5.3. The Bisection Algorithm
 5.4. The Regula Falsi Algorithm
 5.5. The Improved Regula Falsi Algorithm
 5.6. The Secant Algorithm
 5.7. Newton's Algorithm
 5.8. FixedPoint Iteration
 5.9. Double Trouble with Multiple Roots
 5.10. Comparing the RootFinder Algorithms
 References
 6. Interpolation and Approximation
 7. Numerical Integration
 8. Solving Differential Equations Numerically

III. A Matrix Package
 9. Basic Matrix Operations

10. Solving Systems of Linear Equations
 10.1. The Gaussian Elimination Algorithm
 10.2. Problems with Gaussian Elimination
 10.3. Partial Pivoting
 10.4. Scaling
 10.5. LU Decomposition
 10.6. Iterative Improvement
 10.7. A Class for Solving Systems of Linear Equations
 10.8. A Program to Test LU Decomposition
 10.9. Polynomial Regression
 References
 11. Matrix Inversion, Determinants, and Condition Numbers
 IV. The Joys of Computation
Product Information
 Title: Java™ Number Cruncher: The Java Programmer's Guide to Numerical Computing
 Author(s):
 Release date: October 2002
 Publisher(s): Prentice Hall
 ISBN: 0130460419