Dewey Decimal530.0113
SynopsisThe 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., 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, 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).