O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning SciPy for Numerical and Scientific Computing

Book Description

For solving complex problems in mathematics, science, or engineering, SciPy is the solution. Building on your basic knowledge of Python, and using a wealth of examples from many scientific fields, this book is your expert tutor.

  • Perform complex operations with large matrices, including eigenvalue problems, matrix decompositions, or solution to large systems of equations
  • Step-by-step examples to easily implement statistical analysis and data mining that rivals in performance any of the costly specialized software suites
  • Plenty of examples of state-of-the-art research problems from all disciplines of science, that prove how simple, yet effective, is to provide solutions based on SciPy

In Detail

It's essential to incorporate workflow data and code from various sources in order to create fast and effective algorithms to solve complex problems in science and engineering. Data is coming at us faster, dirtier, and at an ever increasing rate. There is no need to employ difficult-to-maintain code, or expensive mathematical engines to solve your numerical computations anymore. SciPy guarantees fast, accurate, and easy-to-code solutions to your numerical and scientific computing applications.

"Learning SciPy for Numerical and Scientific Computing" unveils secrets to some of the most critical mathematical and scientific computing problems and will play an instrumental role in supporting your research. The book will teach you how to quickly and efficiently use different modules and routines from the SciPy library to cover the vast scope of numerical mathematics with its simplistic practical approach that's easy to follow.

The book starts with a brief description of the SciPy libraries, showing practical demonstrations for acquiring and installing them on your system. This is followed by the second chapter which is a fun and fast-paced primer to array creation, manipulation, and problem-solving based on these techniques.

The rest of the chapters describe the use of all different modules and routines from the SciPy libraries, through the scope of different branches of numerical mathematics. Each big field is represented: numerical analysis, linear algebra, statistics, signal processing, and computational geometry. And for each of these fields all possibilities are illustrated with clear syntax, and plenty of examples. The book then presents combinations of all these techniques to the solution of research problems in real-life scenarios for different sciences or engineering — from image compression, biological classification of species, control theory, design of wings, to structural analysis of oxides.

Table of Contents

  1. Learning SciPy for Numerical and Scientific Computing
    1. Table of Contents
    2. Learning SciPy for Numerical and Scientific Computing
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
      2. Why Subscribe?
      3. 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. Errata
        2. Piracy
        3. Questions
    8. 1. Introduction to SciPy
      1. What is SciPy?
      2. How to install SciPy
      3. SciPy organization
      4. How to find documentation
      5. Scientific visualization
      6. Summary
    9. 2. Top-level SciPy
      1. Object essentials
        1. Datatype
        2. Indexing
      2. The array object
      3. Array routines
        1. Routines for array creation
        2. Routines for the combination of two or more arrays
        3. Routines for array manipulation
        4. Routines to extract information from arrays
      4. Summary
    10. 3. SciPy for Linear Algebra
      1. Matrix creation
      2. 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
      3. Summary
    11. 4. SciPy for Numerical Analysis
      1. Evaluation of special functions
        1. Convenience and test functions
        2. Univariate polynomials
        3. The gamma function
        4. The Riemann zeta function
        5. Airy (and Bairy) functions
        6. Bessel and Struve functions
        7. Other special functions
      2. Interpolation and regression
      3. Optimization
        1. Minimization
        2. Roots
      4. Integration
        1. Exponential/logarithm integrals
        2. Trigonometric and hyperbolic trigonometric integrals
        3. Elliptic integrals
        4. Gamma and beta integrals
        5. Numerical integration
      5. Ordinary differential equations
      6. Lorenz Attractors
      7. Summary
    12. 5. SciPy for Signal Processing
      1. Discrete Fourier Transforms
      2. Signal construction
      3. Filters
        1. 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
        1. Distributions
        2. Interval estimation, correlation measures, and statistical tests
        3. Distribution fitting
      2. Distances
      3. Clustering
        1. Vector quantization and k-means
        2. Hierarchical clustering
      4. Summary
    14. 7. SciPy for Computational Geometry
      1. Structural model of oxides
      2. A finite element solver for Poisson's equation
      3. Summary
    15. 8. Interaction with Other Languages
      1. Fortran
      2. C/C++
      3. Matlab/Octave
      4. Summary
    16. Index