Implement state-of-the-art techniques to visualize solutions to challenging problems in scientific computing, with the use of the SciPy stack
About This Book
• Master the theory and algorithms behind numerical recipes and how they can be applied to real-world problems • Learn to combine the most appropriate built-in functions from the SciPy stack by understanding the connection between the sources of your problem, volume of data, or computer architecture • A comprehensive coverage of all the mathematical techniques needed to solve the presented topics, with a discussion of the relevant algorithms built in the SciPy stack
Who This Book Is For
If you are a mathematician, engineer, or computer scientist with a proficiency in Python and familiarity with IPython, this is the book for you. Some basic knowledge of numerical methods in scientific computing would be helpful.
What You Will Learn
• Master relevant algorithms used in symbolic or numerical mathematics to address approximation, interpolation, differentiation, integration, root-finding, and optimization of scalar or multi-variate functions • Develop different algorithms and strategies to efficiently store and manipulate large matrices of data, in particular to solve systems of linear equations, or compute their eigenvalues/eigenvectors • Understand how to model physical problems with systems of differential equations and distinguish the factors that dictate the strategies to solve them • Perform statistical analysis, hypothesis test design and resolution, or data mining at a higher level, and apply them to real-life problems in the field of data analysis • Gain insights on the power of distances, Delaunay triangulations and Voronoi diagrams for Computational Geometry, and apply them to various engineering problems • Familiarize yourself with different techniques in signal/image processing, including filtering audio, images, or video to extract information, features, or remove components
In Detail
The SciPy stack is a collection of open source libraries of the powerful scripting language Python, together with its interactive shells. This environment offers a cutting-edge platform for numerical computation, programming, visualization and publishing, and is used by some of the world's leading mathematicians, scientists, and engineers. It works on any operating system that supports Python and is very easy to install, and completely free of charge! It can effectively transform into a data-processing and system-prototyping environment, directly rivalling MATLAB and Octave. This book goes beyond a mere description of the different built-in functions coded in the libraries from the SciPy stack. It presents you with a solid mathematical and computational background to help you identify the right tools for each problem in scientific computing and visualization. You will gain an insight into the best practices with numerical methods depending on the amount or type of data, properties of the mathematical tools employed, or computer architecture, among other factors. The book kicks off with a concise exploration of the basics of numerical linear algebra and graph theory for the treatment of problems that handle large data sets or matrices. In the subsequent chapters, you will delve into the depths of algorithms in symbolic algebra and numerical analysis to address modeling/simulation of various real-world problems with functions (through interpolation, approximation, or creation of systems of differential equations), and extract their representing features (zeros, extrema, integration or differentiation). Lastly, you will move on to advanced concepts of data analysis, image/signal processing, and computational geometry.
Style and approach
Packed with real-world examples, this book explores the mathematical techniques needed to solve the presented topics, and focuses on the algorithms built in the SciPy stack.