Scientific Computation:
Python Hacking for Math Junkies

Version3, With iPython

About Version 3

This is a book about hacking, but not just any kind of hacking. It is about mathematical hacking, or scientific computing. If you like math and want to use computers to do math or solve mathematical problems, then this book is for you. Over 70 pages have been added and the text has been considerably revised throughout. The focus is on hacking in iPython notebooks.

Part I: Getting Started

List of Tables (New in 3)

1. Programs and Programming
2. A Tour of Python
3. The Babylonian Algorithm
4. The Python Shell
5. The iPython Shell (New in 3)
6. iPython Notebooks
7. Numbers in Computers
8. When Numbers Fail
9. Big Oh

Part II Hacking in Python

10. Identifiers, Expressions & Types
11. Simple Statements
12. Conditional Statements
13. While Loops
14. Sequential Data Types
15. Lists and Tuples
16. Strings
17. Sets
18. For Loops
19. Python Functions
20. Sorting
21. List Comprehension
22. Numpy Arrays
23. Plotting with pyplot
24. Input and Output
25. Dictionaries
26. Recursion
27. Lambda Functions
28. Exceptions
29. Functional Programming
30. Classes (Expanded in 3)

Part III: Scientific Computing

31. Random Variables (New in 3)
32. Statistics (New in 3)
33. Linear Systems
34. Computational Geometry
35. Interpolation
36. Finding Zeros (Roots)
37. Least Squares
38. Nonlinear Regression (NEW IN 2.5)
39. Differential Equations
40. Discrete Systems
41. Fractals
42. Estimating pi
43. Sing. Value Decomp. (SVD)
44. Princ. Comp. Anal. (PCA)
45. Clustering (NEW IN 2.5)
46. Image Analysis
47. Satellite orbits
48. Maps with Basemap


A. Complex Numbers
B. Vectors and Matrices



Don't waste your money on expensive calculus books.
If you feel a compulsive need to throw your money away, give it to me instead.