Effective Computation in Physics


Book Description

More physicists today are taking on the role of software developer as part of their research, but software development isnâ??t always easy or obvious, even for physicists. This practical book teaches essential software development skills to help you automate and accomplish nearly any aspect of research in a physics-based field. Written by two PhDs in nuclear engineering, this book includes practical examples drawn from a working knowledge of physics concepts. Youâ??ll learn how to use the Python programming language to perform everything from collecting and analyzing data to building software and publishing your results. In four parts, this book includes: Getting Started: Jump into Python, the command line, data containers, functions, flow control and logic, and classes and objects Getting It Done: Learn about regular expressions, analysis and visualization, NumPy, storing data in files and HDF5, important data structures in physics, computing in parallel, and deploying software Getting It Right: Build pipelines and software, learn to use local and remote version control, and debug and test your code Getting It Out There: Document your code, process and publish your findings, and collaborate efficiently; dive into software licenses, ownership, and copyright procedures




Effective Computation in Physics


Book Description

More physicists today are taking on the role of software developer as part of their research, but software development isnâ??t always easy or obvious, even for physicists. This practical book teaches essential software development skills to help you automate and accomplish nearly any aspect of research in a physics-based field. Written by two PhDs in nuclear engineering, this book includes practical examples drawn from a working knowledge of physics concepts. Youâ??ll learn how to use the Python programming language to perform everything from collecting and analyzing data to building software and publishing your results. In four parts, this book includes: Getting Started: Jump into Python, the command line, data containers, functions, flow control and logic, and classes and objects Getting It Done: Learn about regular expressions, analysis and visualization, NumPy, storing data in files and HDF5, important data structures in physics, computing in parallel, and deploying software Getting It Right: Build pipelines and software, learn to use local and remote version control, and debug and test your code Getting It Out There: Document your code, process and publish your findings, and collaborate efficiently; dive into software licenses, ownership, and copyright procedures




An Advanced Course in Computational Nuclear Physics


Book Description

This graduate-level text collects and synthesizes a series of ten lectures on the nuclear quantum many-body problem. Starting from our current understanding of the underlying forces, it presents recent advances within the field of lattice quantum chromodynamics before going on to discuss effective field theories, central many-body methods like Monte Carlo methods, coupled cluster theories, the similarity renormalization group approach, Green’s function methods and large-scale diagonalization approaches. Algorithmic and computational advances show particular promise for breakthroughs in predictive power, including proper error estimates, a better understanding of the underlying effective degrees of freedom and of the respective forces at play. Enabled by recent improvements in theoretical, experimental and numerical techniques, the state-of-the art applications considered in this volume span the entire range, from our smallest components – quarks and gluons as the mediators of the strong force – to the computation of the equation of state for neutron star matter. The lectures presented provide an in-depth exposition of the underlying theoretical and algorithmic approaches as well details of the numerical implementation of the methods discussed. Several also include links to numerical software and benchmark calculations, which readers can use to develop their own programs for tackling challenging nuclear many-body problems.




Information, Physics, and Computation


Book Description

A very active field of research is emerging at the frontier of statistical physics, theoretical computer science/discrete mathematics, and coding/information theory. This book sets up a common language and pool of concepts, accessible to students and researchers from each of these fields.




Computational Physics


Book Description

Computational Physics. Selected Methods, Simple Exercises, Serious Applications is an overview written by leading researchers of a variety of fields and developments. Selected Methods introduce the reader to current fields, including molecular dynamics, hybrid Monte-Carlo algorithms, and neural networks. Simple Exercises give hands-on advice for effective program solutions from a small number of lines to demonstration programs with elaborate graphics. Serious Applications show how questions concerning, for example, aging, many-minima optimisation, or phase transitions can be treated by appropriate tools. The source code and demonstration graphics are included on a 3.5" MS-DOS diskette.




Python for Scientists


Book Description

Scientific Python is taught from scratch in this book via copious, downloadable, useful and adaptable code snippets. Everything the working scientist needs to know is covered, quickly providing researchers and research students with the skills to start using Python effectively.




Computational Physics


Book Description

This book explains the fundamentals of computational physics and describes the techniques that every physicist should know, such as finite difference methods, numerical quadrature, and the fast Fourier transform. The book offers a complete introduction to the topic at the undergraduate level, and is also suitable for the advanced student or researcher. The book begins with an introduction to Python, then moves on to a step-by-step description of the techniques of computational physics, with examples ranging from simple mechanics problems to complex calculations in quantum mechanics, electromagnetism, statistical mechanics, and more.




A Primer on Scientific Programming with Python


Book Description

The book serves as a first introduction to computer programming of scientific applications, using the high-level Python language. The exposition is example and problem-oriented, where the applications are taken from mathematics, numerical calculus, statistics, physics, biology and finance. The book teaches "Matlab-style" and procedural programming as well as object-oriented programming. High school mathematics is a required background and it is advantageous to study classical and numerical one-variable calculus in parallel with reading this book. Besides learning how to program computers, the reader will also learn how to solve mathematical problems, arising in various branches of science and engineering, with the aid of numerical methods and programming. By blending programming, mathematics and scientific applications, the book lays a solid foundation for practicing computational science. From the reviews: Langtangen ... does an excellent job of introducing programming as a set of skills in problem solving. He guides the reader into thinking properly about producing program logic and data structures for modeling real-world problems using objects and functions and embracing the object-oriented paradigm. ... Summing Up: Highly recommended. F. H. Wild III, Choice, Vol. 47 (8), April 2010 Those of us who have learned scientific programming in Python ‘on the streets’ could be a little jealous of students who have the opportunity to take a course out of Langtangen’s Primer.” John D. Cook, The Mathematical Association of America, September 2011 This book goes through Python in particular, and programming in general, via tasks that scientists will likely perform. It contains valuable information for students new to scientific computing and would be the perfect bridge between an introduction to programming and an advanced course on numerical methods or computational science. Alex Small, IEEE, CiSE Vol. 14 (2), March /April 2012 “This fourth edition is a wonderful, inclusive textbook that covers pretty much everything one needs to know to go from zero to fairly sophisticated scientific programming in Python...” Joan Horvath, Computing Reviews, March 2015







A Survey of Computational Physics


Book Description

Computational physics is a rapidly growing subfield of computational science, in large part because computers can solve previously intractable problems or simulate natural processes that do not have analytic solutions. The next step beyond Landau's First Course in Scientific Computing and a follow-up to Landau and Páez's Computational Physics, this text presents a broad survey of key topics in computational physics for advanced undergraduates and beginning graduate students, including new discussions of visualization tools, wavelet analysis, molecular dynamics, and computational fluid dynamics. By treating science, applied mathematics, and computer science together, the book reveals how this knowledge base can be applied to a wider range of real-world problems than computational physics texts normally address. Designed for a one- or two-semester course, A Survey of Computational Physics will also interest anyone who wants a reference on or practical experience in the basics of computational physics. Accessible to advanced undergraduates Real-world problem-solving approach Java codes and applets integrated with text Companion Web site includes videos of lectures