0
$\begingroup$

I've learnt the hard way that you should avoid:

  • computing small numbers as the difference of two large numbers
  • evaluating chaotic functions with imprecise inputs.

Are there any other red flags a novice should look out for?

Edit

The comments made me realize I have stumbled onto a studied field. I'd like to know:

  1. What are the names given to this field and its key topics
  2. What references are recommended.
$\endgroup$
  • 1
    $\begingroup$ Your first problem is called catastrophic cancellation, it is one of the first things I teach to my students. The second one is related to either condition of the problem or the stability of the algorithm. maths.manchester.ac.uk/~higham/asna/index.php is a great book on the topic. $\endgroup$ – Abdullah Ali Sivas Jun 20 at 16:49
  • 2
    $\begingroup$ Maybe you should add the tag reference-request and ask for literature. There are whole books on problems due to numeric artifacts and I guess many useful online ressources. Collecting them in the answers could be useful for many other people as well. $\endgroup$ – allo Jun 20 at 20:39
  • $\begingroup$ @AbdullahAliSivas Thanks! I've edited the question, to make your comment suitable as an answer. By "condition of the problem" did you mean the conditioning of the problem and is this related to the condition number? $\endgroup$ – Tom Huntington Jun 21 at 20:58
  • $\begingroup$ @TomHuntington I meant conditioning, thanks for noticing that. A measure of the conditioning of a problem, then, would be the condition number of the said problem. However, since -either theoretically or practically- computing the condition number is a herculean quest, we end up finding upper bounds -and whenever possible lower bounds- and use them as a surrogate while still calling these bounds "condition number"s. $\endgroup$ – Abdullah Ali Sivas Jun 22 at 5:52
3
$\begingroup$

This particular question is related to the fields theory of computation and computational mathematics(or scientific computing), but some of aspects of it fall under computer science. Nick Higham's "Accuracy and Stability of Numerical Algorithms" is a must-read. Though while the first few chapters are fairly general, the most of the book focuses on algorithms in numerical linear algebra.

You can usually pick up an introductory book in scientific computing and the first chapter will be on pitfalls of floating point arithmetic. However, I do not know any book as comprehensive as "Accuracy and Stability of Numerical Algorithms".

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.