You are previewing Learning SciPy for Numerical and Scientific Computing - Second Edition.
O'Reilly logo
Learning SciPy for Numerical and Scientific Computing - Second Edition

Book Description

Quick solutions to complex numerical problems in physics, applied mathematics, and science with SciPy

In Detail

SciPy is an open source Python library used to perform scientific computing. The SciPy (Scientific Python) package extends the functionality of NumPy with a substantial collection of useful algorithms.

The book starts with a brief description of the SciPy libraries, followed by a chapter that is a fun and fast-paced primer on array creation, manipulation, and problem-solving. You will also learn how to use SciPy in linear algebra, which includes topics such as computation of eigenvalues and eigenvectors. Furthermore, the book is based on interesting subjects such as definition and manipulation of functions, computation of derivatives, integration, interpolation, and regression. You will also learn how to use SciPy in signal processing and how applications of SciPy can be used to collect, organize, analyze, and interpret data.

By the end of the book, you will have fast, accurate, and easy-to-code solutions for numerical and scientific computing applications.

What You Will Learn

  • Get to know the benefits of using the combination of Python, NumPy, SciPy, and matplotlib as a programming environment for scientific purposes

  • Create and manipulate an object array used by SciPy

  • Use SciPy with large matrices to compute eigenvalues and eigenvectors

  • Focus on construction, acquisition, quality improvement, compression, and feature extraction of signals

  • Make use of SciPy to collect, organize, analyze, and interpret data, with examples taken from statistics and clustering

  • Acquire the skill of constructing a triangulation of points, convex hulls, Voronoi diagrams, and many similar applications

  • Find out ways that SciPy can be used with other languages such as C/C++, Fortran, and MATLAB/Octave

  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at If you purchased this book elsewhere, you can visit and register to have the files e-mailed directly to you.

    Table of Contents

    1. Learning SciPy for Numerical and Scientific Computing Second Edition
      1. Table of Contents
      2. Learning SciPy for Numerical and Scientific Computing Second Edition
      3. Credits
      4. About the Authors
      5. About the Reviewers
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Downloading the color images of this book
          3. Errata
          4. Piracy
          5. Questions
      8. 1. Introduction to SciPy
        1. What is SciPy?
        2. Installing SciPy
          1. Installing SciPy on Mac OS X
          2. Installing SciPy on Unix/Linux
          3. Installing SciPy on Windows
          4. Testing the SciPy installation
        3. SciPy organization
        4. How to find documentation
        5. Scientific visualization
        6. How to open IPython Notebooks
        7. Summary
      9. 2. Working with the NumPy Array As a First Step to SciPy
        1. Object essentials
        2. Using datatypes
        3. Indexing and slicing arrays
        4. The array object
          1. Array conversions
          2. Shape selection/manipulations
          3. Object calculations
        5. Array routines
          1. Routines to create arrays
          2. Routines for the combination of two or more arrays
          3. Routines for array manipulation
          4. Routines to extract information from arrays
        6. Summary
      10. 3. SciPy for Linear Algebra
        1. Vector creation
        2. Vector operations
          1. Addition/subtraction
          2. Scalar/Dot product
          3. Cross/Vector product – on three-dimensional space vectors
        3. Creating a matrix
        4. Matrix methods
          1. Operations between matrices
          2. Functions on matrices
          3. Eigenvalue problems and matrix decompositions
          4. Image compression via the singular value decomposition
          5. Solvers
        5. Summary
      11. 4. SciPy for Numerical Analysis
        1. The evaluation of special functions
        2. Convenience and test functions
        3. Univariate polynomials
        4. The gamma function
        5. The Riemann zeta function
        6. Airy and Bairy functions
        7. The Bessel and Struve functions
        8. Other special functions
        9. Interpolation
        10. Regression
        11. Optimization
          1. Minimization
          2. Roots
        12. Integration
          1. Exponential/logarithm integrals
          2. Trigonometric and hyperbolic trigonometric integrals
          3. Elliptic integrals
          4. Gamma and beta integrals
          5. Numerical integration
        13. Ordinary differential equations
        14. Lorenz attractors
        15. Summary
      12. 5. SciPy for Signal Processing
        1. Discrete Fourier Transforms
        2. Signal construction
        3. Filters
          1. The LTI system theory
          2. Filter design
          3. Window functions
          4. Image interpolation
          5. Morphology
        4. Summary
      13. 6. SciPy for Data Mining
        1. Descriptive statistics
        2. Distributions
        3. Interval estimation, correlation measures, and statistical tests
        4. Distribution fitting
        5. Distances
        6. Clustering
          1. Vector quantization and k-means
          2. Hierarchical clustering
          3. Clustering mammals by their dentition
        7. Summary
      14. 7. SciPy for Computational Geometry
        1. The structural model of oxides
        2. A finite element solver for Laplace's equation
        3. Summary
      15. 8. Interaction with Other Languages
        1. Interaction with Fortran
        2. Interaction with C/C++
        3. Interaction with MATLAB/Octave
        4. Summary
      16. Index