Preface

Scientists, engineers, and quantitative data analysts face many challenges nowadays. Data scientists want to be able to do numerical analysis of large datasets with minimal programming effort. They want to write readable, efficient, and fast code, which is as close as possible to the mathematical language package they are used to. A number of accepted solutions are available in the scientific computing world.

The C, C++, and Fortran programming languages have their benefits, but they are not interactive and considered too complex by many. The common commercial alternatives are amongst others, Matlab, Maple and Mathematica. These products provide powerful scripting languages, which are still more limited than any general purpose programming language. Other open source tools similar to Matlab exist such as R, GNU Octave, and Scilab. Obviously, they also lack the power of a language such as Python.

Python is a popular general-purpose programming language, widely used in the scientific community. You can access legacy C, Fortran, or R code easily from Python. It is object-oriented and considered more high level than C or Fortran. Python allows you to write readable and clean code with minimal fuss. However, it lacks a Matlab equivalent out of the box. That's where NumPy comes in. This book is about NumPy and related Python libraries such as SciPy and Matplotlib.

What is NumPy?

NumPy (from Numerical Python) is an open-source Python library for scientific computing. NumPy let's you work with arrays and matrices in a natural way. The library contains a long list of useful mathematical functions including some for linear algebra, Fourier transformation, and random number generation routines. LAPACK, a linear algebra library, is used by the NumPy linear algebra module (that is, if you have LAPACK installed on your system), otherwise, NumPy provides its own implementation. LAPACK is a well-known library originally written in Fortran on which Matlab relies as well. In a sense, NumPy replaces some of the functionality of Matlab and Mathematica, allowing rapid interactive prototyping.

We will not be discussing NumPy from a developing contributor perspective, but more from a user's perspective. NumPy is a very active project and has a lot of contributors. Maybe, one day you will be one of them!

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.142.40.43