Introduction to Computation in Physical Sciences: Interactive Computing and Visualization with Python

Автор: literator от 28-01-2023, 02:10, Коментариев: 0


Introduction to Computation in Physical Sciences: Interactive Computing and Visualization with PythonНазвание: Introduction to Computation in Physical Sciences: Interactive Computing and Visualization with Python
Автор: Jay Wang, Adam Wang
Издательство: Springer
Год: 2023
Страниц: 264
Язык: английский
Формат: pdf (true), epub
Размер: 51.0 MB

This book provides a practical and comprehensive introduction to computational problem solving from the viewpoints of practitioners in both academic and industrial worlds. The authors present scientific problem-solving using computation and aim to increase computational thinking, which is the mindset and skillset required to solve scientific problems with computational methodologies via model building, simulation, data analysis, and visualization using the Python programming language. Topics and examples span fundamental areas of physical science as well as contemporary topics including quantum computing, neural networks, Machine Learning, global warming, and energy balance. The book features unique and innovative techniques and practices including: intentional scaffolding to help beginners learn computational problem solving; multimodal computing environments including cloud-based platforms and just-in-time computing; emphasis and connection between both numerical and symbolic computations; and extensive exercise sets carefully designed for further exploration as project assignments or self-paced study. The book is suitable for introductory level readers in physical sciences, engineering, and related STEM disciplines. Specifically, the book is appropriate for use in either a standalone course on computation and modeling and as a resource for readers interested in learning about proven techniques in interactive computing.

The book is broadly organized into two parts. Part one consists of Chaps. 1 to 4 and describes basic programming and tools, including programming environments, Python tutorial, interactive computing, and elementary algorithms. Part two includes Chaps. 5 to 9 and focuses on application of computational modeling of select problems in fundamental areas of physical and data science including classical mechanics, modern physics, thermal and complex systems, as well as from contemporary topics including quantum computing, neural networks and machine learning, and global warming and energy balance.

The materials are arranged as follows. In Chap. 1, we introduce programming and development environments including Jupyter notebook—the recommended environment, its cloud-based counterpart Binder, a close variant Colab, the native Python IDLE—integrated development and learning environment, Spyder, and sharing-friendly GlowScript and Trinket. We also describe the online program repository, how to access and run programs in the cloud, and optional software installation to run programs locally. An interactive Python tutorial is given in Chap. 2 on basic programming elements, including the important aspect of error handling, debugging, and troubleshooting. Next, Chap. 3 focuses on interactive computing and visualization methods with Python widgets and VPython animation libraries. Key scientific computing libraries are also described with interactive examples including symbolic and numeric computation with Sympy, Numpy, Scipy, as well as Numba for optimization. Rounding out part one, we introduce in Chap. 4 common elementary algorithms such as finite difference, numerical integration including that of differential equations, finding of roots and minima or maxima, and curve fitting.

We begin part two with Chap. 5 on force and motion where we pedagogically introduce kinematic concepts, and discuss projectile motion with and without air resistance, harmonic oscillation, planetary motion, and motion in electromagnetic fields. In Chap. 6 we discuss classical coupled oscillations and wave propagation and introduce linear systems and fundamental modes, leading up to simulations of matter waves in modern and quantum physics next in Chap. 7 where we consider relativity of space and time, diffraction and double-slit interference, formation of discrete quantum states and its visualization. We also introduce quantum information processing and quantum computing with an interactive quantum simulator and a step-by-step walkthrough of a nontrivial real-world example: quantum search—the Grover algorithm.

We consider random processes and thermal physics in Chap. 8 such as nuclear decay, Brownian motion, Monte Carlo simulations of thermal energy distribution and spin systems. We close the chapter with a discussion of greenhouse effect, energy balance, and global warming. Lastly, we discuss complex systems in Chap. 9 including cellular automata, traffic modeling, and nonlinear dynamics and chaos. We conclude with an introduction to neutral network and Machine Learning, and describe a worked example with details in the training and prediction of game of life.

The power of visualization cannot be understated in scientific computing. Simulations and data come alive when accompanied with animation because it visually engages the participant and helps with understanding the underlying physical processes, and even the algorithms sometimes. Interactive visualization deepens the engagement and understanding. We briefly introduce two methods of visualization that are used throughout, Matplotlib animation and VPython. As described earlier, Matplotlib is an easy-to-use yet powerful plotting package in Python. It is equally capable of animation. The basic process is to either change the data of a plot incrementally or generate all data sets at once to be shown sequentially.

Скачать Introduction to Computation in Physical Sciences: Interactive Computing and Visualization with Python

Нашел ошибку? Есть жалоба? Жми!
Пожаловаться администрации
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.