Mastering SciPy
eBook - ePub

Mastering SciPy

  1. 404 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub
Book details
Book preview
Table of contents
Citations

About This Book

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.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Mastering SciPy by Francisco J. Blanco-Silva in PDF and/or ePUB format, as well as other popular books in Informatica & Programmazione in Python. We have over one million books available in our catalogue for you to explore.

Information

Year
2015
ISBN
9781783984749

Mastering SciPy


Table of Contents

Mastering SciPy
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. Numerical Linear Algebra
Motivation
Creation of matrices and linear operators
Constructing matrices in the ndarray class
Constructing matrices in the matrix class
Constructing sparse matrices
Linear operators
Basic matrix manipulation
Scalar multiplication, matrix addition, and matrix multiplication
Traces and determinants
Transposes and inverses
Norms and condition numbers
Matrix functions
Matrix factorizations related to solving matrix equations
Relevant factorizations
Pivoted LU decomposition
Cholesky decomposition
QR decomposition
Singular value decomposition
Matrix equations
Back and forward substitution
Basic systems: banded matrices
Basic systems: generic square matrices
Least squares
Normal equations
QR factorization
Singular value decomposition
Regularized least squares
Other matrix equation solvers
Matrix factorizations based on eigenvalues
Spectral decomposition
Schur decomposition
Summary
2. Interpolation and Approximation
Motivation
Interpolation
Implementation details
Univariate interpolation
Nearest-neighbors interpolation
Lagrange interpolation
Hermite interpolation
Piecewise polynomial interpolation
Spline interpolation
Multivariate interpolation
Least squares approximation
Linear least squares approximation
Nonlinear least squares approximation
Summary
3. Differentiation and Integration
Motivation
Differentiation
Numerical differentiation
Symbolic differentiation
Automatic differentiation
Integration
Symbolic integration
Numerical integration
Functions without singularities on finite intervals
Functions with singularities on bounded domains
Weighted functions
General functions with singularities
Integration on unbounded domains
Numerical multivariate integration
Summary
4. Nonlinear Equations and Optimization
Motivation
Non-linear equations and systems
Iterative methods for univariate functions
Bracketing methods
Secant methods
Brent method
Systems of nonlinear equations
Simple iterative solvers
The Broyden method
Powell's hybrid solver
Large-scale solvers
Optimization
Unconstrained optimization for univariate functions
Constrained optimization for univariate functions
Unconstrained optimization for multivariate functions
The stochastic methods
Deterministic algorithms that exclusively employ function evaluations
The Broyden-Fletcher-Goldfarb-Shanno quasi-Newton method
The conjugate gradient method
Constrained optimization for multivariate functions
Summary
5. Initial Value Problems for Ordinary Differential Equations
Symbolic solution of differential equations
Analytic approximation methods
Discrete-variable methods
One-step methods
Two-step methods
Summary
6. Computational Geometry
Plane geometry
Combinatorial computational geometry
Static problems
Convex hulls
Voronoi diagrams
Triangulations
Shortest paths
Geometric query problems
Point location
Nearest neighbors
Range searching
Dynamic problems
Numerical computational geometry
BĂ©zier curves
Summary
7. Descriptive Statistics
Motivation
Probability
Symbolic setting
Numerical setting
Data exploration
Picturing distributions with graphs
Bar plots and pie charts
Histograms
Time plots
Describing distributions with numbers and boxplots
Relationship between quantitative variables
Scatterplots and correlation
Regression
Ordinary linear regression for moderate-sized datasets
Ordinary least-squares regression for large datasets
Linear regression beyond ordinary least-squares
Support vector machines
Ensemble methods
Analysis of the time series
Summary
8. Inference and Data Analysis
Statistical inference
Estimation of parameters
Frequentist approach
Bayesian approach
Likelihood approach
Interval estimation
Frequentist approach
Bayesian approach
Likelihood approach
Data mining and machine learning
Classification
Support vector classification
Trees
Naive Bayes
Nearest neighbors
Dimensionality reduction
Principal component analysis
Isometric mappings
Spec...

Table of contents

  1. Mastering SciPy