Does there exist a simple, cheatsheet-like document which compiles the best practices for mathematical computing? If not, could someone respond with a list of the top best practices? E.g., it would include items like:

  1. For large numerical vectors x, instead of computing x^2, compute x*x. This speeds up calculations for reasons...(?)
  2. To solve a system $Ax = b$, never solve $A^{-1}$ and left-multiply $b$. Lower order algorithms exist (e.g., Gaussian elimination)

BACKGROUND: I'm finding papers where programmatic implementations are quite different from what derived analytic expressions would suggest. Different factorings, expansions, and approximations are used all over the place. I don't think it's simply arbitrary. But the problem is that I have no sense of WHY they're doing what they're doing. I think a cheatsheet-like document would help with this.

UDPATE: I did find a nice numerical analysis cheatsheet here. But I'm looking for something quicker and dirtier


closed as not a real question by Igor Rivin, Suvrit, Gerald Edgar, Bruce Westbury, Will Jagy Sep 21 '11 at 20:41

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    $\begingroup$ This question is much too broad (every software system is different, and there are a LOT of these...), so I am voting to close until this is big-list/community-wiki $\endgroup$ – Igor Rivin Sep 21 '11 at 16:27
  • 1
    $\begingroup$ Yes, this is actually too broad as Igor points out. Even though rules of thumb encode a compressed version of wisdom and experience acquired over the years, they are no substitute for system (architecture, hardware, etc.) and algorithm specific tuning. $\endgroup$ – Suvrit Sep 21 '11 at 16:33
  • 3
    $\begingroup$ I am afraid the answer is "No, you really have to take at least that basic course in numerical analysis, or at least browse a book on the subject". $\endgroup$ – Federico Poloni Sep 21 '11 at 17:14
  • 3
    $\begingroup$ "...old Prince Lasgere of Tsort asked me how he could become learned, especially since he hadn't got any time for this reading business. I said to him There is no royal road to learning, sire' and he said to me Bloody well build one or I shall have your legs chopped off. Use as many slaves as you like.' A refreshingly direct approach, I always thought. Not a man to mince words. People, yes. But not words." $\endgroup$ – Will Jagy Sep 21 '11 at 20:45
  • 1
    $\begingroup$ @Will. Fair. I see in the first line of the FAQ that this is for "research level math questions". I wouldn't have asked my question here if I'd read that first. Thank you for the pointer. $\endgroup$ – lowndrul Sep 22 '11 at 3:59