"I would recommend the textbook to those interested in learning the Python ecosystem for numerical and scientific work. I enjoyed reading the style of examples where a few lines of code are explained at a time. This style feels like I'm getting a personalized lecture from Johansson while reading the book. It will be a very nice resource on the desk of any graduate student working with Python." (Charles Jekel, SIAM Review, Vol. 62 (2), 2020)
Numerical Python
1. Introduction to Computing with Python
2. Vectors, Matrices and Multidimensional Arrays
3. Symbolic Computing
4. Plotting and Visualization
5. Equation Solving
6. Optimization
7. Interpolation
8. Integration
9. Ordinary Differential Equations
10. Sparse Matrices and Graphs
11. Partial Differential Equations
12. Data Processing and Analysis
13. Statistics
14. Statistical Modeling
15. Machine Learning
16. Bayesian Statistics
17. Signal and Image Processing
18. Data Input and Output
19. Code Optimization
Robert Johansson is a numerical Python expert and computational scientist who has worked with SciPy, NumPy and QuTiP, an open-source Python framework for simulating the dynamics of quantum systems.
Leverage the numerical and mathematical modules in Python and its standard library as well as popular open source numerical Python packages like NumPy, SciPy, FiPy, matplotlib and more. This fully revised edition, updated with the latest details of each package and changes to Jupyter projects, demonstrates how to numerically compute solutions and mathematically model applications in big data, cloud computing, financial engineering, business management and more.
Numerical Python, Second Edition, presents many brand-new case study examples of applications in data science and statistics using Python, along with extensions to many previous examples. Each of these demonstrates the power of Python for rapid development and exploratory computing due to its simple and high-level syntax and multiple options for data analysis.
After reading this book, readers will be familiar with many computing techniques including array-based and symbolic computing, visualization and numerical file I/O, equation solving, optimization, interpolation and integration, and domain-specific computational problems, such as differential equation solving, data analysis, statistical modeling and machine learning.