Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Python for scientists (2nd ed.)
Stewart J., Cambridge University Press, New York, NY, 2017. 270 pp. Type: Book (978-1-316641-23-1)
Date Reviewed: Apr 24 2018

This volume provides an important update to the resources available to physicists and other scientists who manipulate quantitative data for one of their most common tasks: computation.

Historically, highly interactive resources like the slide rule and the desk calculator enable everybody, from the senior professor to undergraduates, to do limited computations quickly. More complex analyses used to be assigned to graduate students, but more recently they require engagement with computer programmers who can manage languages such as Fortran. The advent of packages like MATLAB (1984) and Mathematica (1988) blurred the line between these two categories. These systems combine the interactivity of the desk calculator with the sophisticated algorithmic power of a language like Fortran, allowing practicing scientists to perform extensive computation without programmers. But these proprietary packages command a premium price for those researchers who do not qualify for academic discounts.

The subtext of this volume, an expanded second edition of a 2014 publication, is that the open-source language Python is a capable alternative to these commercial packages. Now all scientists can enjoy an enhanced “slide rule” that will reduce the demand for programming specialists. The examples are in Python 2.

Both editions provide a tutorial introduction to the language, and special attention to packages of special interest to scientists, including NumPy for numerical computation, 2D and multidimensional graphics, the display of mathematical formulas, solution of ordinary and partial differential equations, and the f2py tool for including Fortran subroutines in Python programs for reasons of computational efficiency and compatibility with previous analyses. The capstone of both books is a case study on using Python to implement multigrid methods for manipulating large multidimensional grid-structured data. One appendix describes how to install Python, and another gives a collection of useful Fortran77 routines.

This edition expands the 2014 edition in two ways. First, it adds a chapter on the SymPy package for symbolic manipulation. Reduction of complex symbolic expressions is a recurring burden for scientists, physicists in particular, and Mathematica’s capabilities in this area are legendary. Now Python users have an open-source alternative. The second extension is a thoroughgoing revision of the text to accommodate the increasingly popular Jupyter Notebook interface, a deliberate imitation of the Mathematica notebook structure, in which blocks of executable code, graphics, and text alternate in a computational document that combines the benefits of a scientific paper, a computer program, and an interactive user interface. This interface is exceptionally intuitive and flexible, and it will make Python attractive for many scientists who previously had assigned all computation beyond the slide rule to their graduate students.

Since its initial release in 1991, Python has grown in popularity among computer scientists and data scientists. This volume, addressed to physicists and other quantitative scientists, helps these communities learn to use a new slide rule that will reduce their dependence on a separate programming staff. The author was a physicist, and his examples naturally cater to that community. For example, there are chapters on ordinary and partial differential equations and multigrid methods, but not on other popular topics such as machine learning. But mathematical sociologists, mathematical biologists, and others who must manipulate data will find the work accessible.

Other than Fortran (a long-time staple of the physics fraternity), the book does not discuss interfacing with other commonly used software (for example, R), even though the Jupyter Notebook environment does support R. The book assumes no programming experience and omits topics that would be desirable from a professional programmer’s perspective (such as workflow management). The focus is on providing the practicing scientist a clear, concise guide to an important resource, and the author has chosen his topics appropriately.

Both Python and this book deserve wide circulation.

More reviews about this item: Amazon, Goodreads

Reviewer:  H. Van Dyke Parunak Review #: CR145991 (1807-0358)
Bookmark and Share
  Featured Reviewer  
 
Python (D.3.2 ... )
 
 
Scripting Languages (I.7.2 ... )
 
 
Mathematical Software (G.4 )
 
 
Physical Sciences And Engineering (J.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