The use of computation and simulation has become an essential part of the scientific process. Being able to transform a theory into an algorithm requires significant theoretical insight, detailed physical and mathematical understanding, and a working level of competency in programming. This upper-division text provides an unusually broad survey of the topics of modern computational physics from a multidisciplinary, computational science point of view. Its philosophy is rooted in learning by doing (assisted by many model programs), with new scientific materials as well as with the Python programming language. Python has become very popular, particularly for physics education and large scientific projects. It is probably the easiest programming language to learn for beginners, yet is also used for mainstream scientific computing, and has packages for excellent graphics and even symbolic manipulations. The text is designed for an upper-level undergraduate or beginning graduate course and provides the reader with the essential knowledge to understand computational tools and mathematical methods well enough to be successful. As part of the teaching of using computers to solve scientific problems, the reader is encouraged to work through a sample problem stated at the beginning of each chapter or unit, which involves studying the text, writing, debugging and running programs, visualizing the results, and the expressing in words what has been done and what can be concluded. Then there are exercises and problems at the end of each chapter for the reader to work on their own (with model programs given for that purpose). The text could be used for a one-semester course on scientific computing. The relevant topics for that are covered in the first third of the book. The latter two-thirds of the text includes more physics and can be used for a two-semester course in computational physics, covering nonlinear ODEs, Chaotic Scattering, Fourier Analysis, Wavelet Analysis, Nonlinear Maps, Chaotic systems, Fractals and Parallel Computing. The e-book extends the paper version by including many codes, visualizations and applets, as well as links to video lectures. * A table at the beginning of each chapter indicates video lectures, slides, applets and animations. * Applets illustrate the results to be expected for projects in the book, and to help understand some abstract concepts (e.g. Chaotic Scattering) * The eBook's figures, equations, sections, chapters, index, table of contents, code listings, glossary, animations and executable codes (both Applets and Python programs) are linked, much like in a Web document. * Some equations are linked to their xml forms (which can be imported into Maple or Mathematica for manipulation). * The e-book will link to video-based lecture modules, held by principal author Professor Rubin Landau, that cover most every topic in the book.



Autorentext
Rubin H. Landau is Professor Emeritus in the Department of Physics at Oregon State University in Corvallis. He has been teaching courses in computational physics for over 25 years, was a founder of the Computational Physics Degree Program and the Northwest Alliance for Computational Science and Engineering, and has been using computers in theoretical physics research ever since graduate school. He is author of more than 90 refereed publications and has also authored books on Quantum Mechanics, Workstations and Supercomputers, the first two editions of Computational Physics, and a First Course in Scientific Computing.

Manuel J. Paez is a professor in the Department of Physics at the University of Antioquia in Medellin, Colombia. He has been teaching courses in Modern Physics, Nuclear Physics, Computational Physics, Mathematical Physics as well as programming in Fortran, Pascal and C languages. He and Professor Landau have conducted pioneering computational investigations in the interactions of mesons and nucleons with nuclei.

Cristian C. Bordeianu teaches Physics and Computer Science at the Military College "?tefan cel Mare" in Campulung Moldovenesc, Romania. He has over twenty years of experience in developing educational software for high school and university curricula. He is winner of the 2008 Undergraduate Computational Engineering and Science Award by the US Department of Energy and the Krell Institute. His current research interests include chaotic dynamics in nuclear multifragmentation and plasma of quarks and gluons.


Klappentext

The important aspects of computational modelling is the combination of science, mathematics and computation. Programming is part of that, and in this book the authors employ Python, which is considered as one of the easiest and most accessible language for beginning programming, and commonly used for interactive and exploratory computations in scientific research.

From the contents:

Computing software basics and Python libraries

Errors and uncertainties in computations

Monte Carlo: Randomness, walks, decays, thermodynamics

Differentiation, integration, matrix computing

Trial-and-error searching and data fitting

Solving ordinary differential equations with applications

High-performance hardware and programming

Fourier, wavelet and principal component analyses

Nonlinear dynamics

Fractals and Statistical growth models

Molecular dynamics

Partial Differential Equations: heat, waves, E-M, quantum wavepackets

Electrostatics via finite elements

Shock waves, solitons and fluid dynamics

Feynman path integrals and integral equations of quantum mecha



Inhalt

Dedication V

Preface XIX

1 Introduction 1

1.1 Computational Physics and Computational Science 1

1.2 This Book's Subjects 3

1.3 This Book's Problems 4

1.4 This Book's Language: The Python Ecosystem 8

1.5 Python's Visualization Tools 13

1.6 Plotting Exercises 30

1.7 Python's Algebraic Tools 31

2 Computing Software Basics 33

2.1 Making Computers Obey 33

2.2 ProgrammingWarmup 35

2.3 Python I/O 39

2.4 Computer Number Representations (Theory) 40

2.5 Problem: Summing Series 51

3 Errors and Uncertainties in Computations 53

3.1 Types of Errors (Theory) 53

3.2 Error in Bessel Functions (Problem) 58

3.3 Experimental Error Investigation 62

3.3.1 Error Assessment 65

4 Monte Carlo: Randomness, Walks, and Decays 69

4.1 Deterministic Randomness 69

4.2 Random Sequences (Theory) 69

4.3 RandomWalks (Problem) 75

4.4 Extension: Protein Folding and Self-Avoiding RandomWalks 79

4.5 Spontaneous Decay (Problem) 80

4.6 Decay Implementation and Visualization 84

5 Differentiation and Integration 85

5.1 Differentiation 85

5.2 Forward Difference (Algorithm) 86

5.3 Central Difference (Algorithm) 87

5.4 Extrapolated Difference (Algorithm) 87

5.5 Error Assessment 88

5.6 Second Derivatives (Problem) 90

5.7 Integration 91

5.8 Quadrature as Box Counting (Math) 91

5.9 Algorithm: Trapezoid Rule 93

5.10 Algorithm: Simpson's Rule 94

5.11 Integration Error (Assessment) 96

5.12 Algorithm: Gaussian Quadrature 97

5.13 Higher Order Rules (Algorithm) 103

5.14 Monte Carlo Integration by Stone Throwing (Problem) 104

5.15 Mean Value Integration (Theory and Math) 105

5.16 Integration Exercises 106

5.17 Multidimensional Monte Carlo Integration (Problem) 108

5.18 Integrating Rapidly Varying Functions (Problem) 110

5.19 Variance Reduction (Method) 110

5.20 Importance Sampling (Method) 111

5.21 von Neumann Rejection (Method) 111

Titel
Computational Physics
Untertitel
Problem Solving with Python
EAN
9783527684663
ISBN
978-3-527-68466-3
Format
E-Book (pdf)
Hersteller
Herausgeber
Veröffentlichung
11.06.2015
Digitaler Kopierschutz
Adobe-DRM
Dateigrösse
16.05 MB
Anzahl Seiten
644
Jahr
2015
Untertitel
Englisch
Auflage
3. Aufl.