Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Python and Matplotlib essentials for scientists and engineers
Wood M., Morgan and Claypool Publishers, San Rafael, CA, 2015. Type: Book (9781627056199)
Date Reviewed: Jul 14 2017

The ever-growing number of mathematics, science, and graphics libraries available to Python makes it an attractive environment for interactive data analysis and visualization. As a result, the number of scientists and engineers who have enthusiastically adopted Python for their work is also growing. For those who might be interested in joining that group, Python and Matplotlib essentials for scientists and engineers is a guide to get started.

This small book (120 pages) is useful for two reasons: first, it provides enough basic material to begin the learning process of programming and plotting, and second, and perhaps more importantly, it contains those essential hints, links, and references that can be incredibly useful to a novice to get started in the right direction without spending great amounts of time searching for and trying things that may or may not be relevant to his or her needs.

Wood recommends using the Anaconda suite to install Python, SciPy, NumPy, Matplotlib, and many other libraries together. Wood also mentions the Enthought Canopy Express suite, but he prefers Anaconda. For code development, Wood recommends setting up three different options, trying them out, and selecting the one you like the best. This is an unusual but great recommendation. He recommends: (1) the Anaconda Spyder IDLE; (2) two screens, one for running the editor of your choice and another for running IPython; or (3) the IPython Notebook.

The basics of working with numbers, lists, arrays (Python arrays and NumPy arrays), input and output, flow control, functions, modules, and classes are introduced by means of descriptions, code, and sample outputs. Coverage is neither complete nor comprehensive, but it is not intended to be. With a little extra work looking up material in print or online, the reader can quickly learn quite a bit before getting to the interesting part: plotting, visualization, and animation.

For plotting, Tkinter makes a brief appearance; most plots are done using Matplotlib. Wood shows code and printouts for line plots, error bars, histograms, image plots, and 3D plots.Here, introductions are minimalist and code is mostly unexplained. Some applications are covered in greater detail: linear and nonlinear least squares, linear systems of equations, numerical integration, integrating ordinary differential equations, and Fourier transforms.

The chapter on visualization and animation is very short--too short. VPython is used to show 3D visualizations of a ball bouncing between walls and a binary star simulation. Mayavi is used to show a figure of points on a 3D mesh and a figure of spherical harmonics. (Mayavi is part of the Enthought Canopy Express suite, but can be used separately.) Animation using Matplotlib is barely touched, with a single example showing the final figure of an animation from data generated earlier in the book. The references given, though, are excellent.

The book ends with a short example of using f2py for inter-language communication with Fortran. A Python program calls a Fortran 77 subroutine. The same subroutine is also coded in Python to show that execution time is 150 times slower than calling Fortran.

Although Wood points out that Python 3 is available and hints that you might as well use it, he also believes that most scientific packages still use Python 2.7, and, without mention, that is the version he uses in the book.

The book’s major shortcoming is the lack of an index. Some sloppy editing is noticeable in several places; for example, on page 8-10 (pages are numbered by chapter) a web address is shown as this link, which obviously was a Hypertext Markup Language (HTML) reference in the original notes.

Once done with it, the reader may want to keep this book readily available, since at some point in the future, he or she may want to look up some of the references Wood recommends.

More reviews about this item: Amazon, Goodreads

Reviewer:  Edgar R. Chavez Review #: CR145427 (1709-0580)
Bookmark and Share
  Featured Reviewer  
 
Python (D.3.2 ... )
 
 
Mathematical Software (G.4 )
 
 
Physical Sciences And Engineering (J.2 )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Python": Date
Practical Python
Hetland M., APress, LP, 2002.  648, Type: Book (9781590590065)
Mar 28 2003
Python programming: an introduction to computer science
Zelle J., Franklin B, 2003. Type: Book (9781887902991)
Dec 2 2004
Foundations of Python network programming
Goerzen J., APress, LP, Berkeley, CA, 2004.  512, Type: Book (9781590593714)
Dec 26 2004
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy