Astronomical Python: An introduction to modern scientific programming » MIRLIB.RU - ТВОЯ БИБЛИОТЕКА
Категория: КНИГИ » ПРОГРАММИРОВАНИЕ
Astronomical Python: An introduction to modern scientific programming
/
Название: Astronomical Python: An introduction to modern scientific programming
Автор: Imad Pasha
Издательство: IOP Publishing
Год: 2024
Страниц: 333
Язык: английский
Формат: pdf (true), epub
Размер: 48.1 MB

Over the past two decades, Python has become the de facto standard language of Data Science both in industry and astronomy (with the exception of simulations and other extreme scale computing problems). This course text is a full introduction to programming in Python with an explicit focus on astrophysical applications. The book covers the fundamentals of Python, including the native data types and operations, and how the language, interpreter, and operating system work together. Leaning heavily on standard packages used in astronomy, the book covers the installation and basic structure of the language and libraries; script writing, conditional statements, loops, and other code structures that allow for complex outcome management; the creation and use of functions and classes within Python; the creation of packages and the methods for re-using, importing, and otherwise standardizing code; and plotting. Finally, the book contains several higher level chapters that carry students from the beginner stage of programming into the intermediate.

Between its release in 1995 and today, Python has become the de facto language for Data Science in astronomy. This rise has been mirrored outside of astronomy, as Python has become the world’s most popular language overall, and has become particularly dominant in the regime of data science. Python is a mature (now nearing version 3.12), dynamically-typed language that is both easy to read and easy to learn (compared to many other languages). It is not particularly fast computationally, a point we will return to throughout this text, but this drawback does not often impede the types of calculations we carry out as astronomers. Python’s broad popularity means that numerous packages (libraries of useful tools and functions) have been written to carry out a variety of common tasks. Very rarely must we program a significant mathematical “algorithm” from scratch. Its near universal adoption within astronomy specifically has also been fortuitous: astrophysics-specific packages such as Astropy have made many common tasks we must carry out as astronomers significantly more straightforward. Best of all, these libraries are “open source,” meaning a large community of astronomers are using, contributing to, double checking, and fixing bugs across these softwares. That said, there are several other languages worth learning (or considering) when beginning to pursue astronomy. Julia, for example, is an increasingly popular language for carrying out statistical modeling at high computational speed. Rust is also growing in popularity as a successor to C++ (and C++ and Fortran are still in use, particularly for the construction of large simulations).

This book will cover the native data types and operations, and how the language, interpreter, and operating system work together to carry out commands. The book will lean heavily on standard packages (libraries of functions and classes) used in our field, including Numpy, SciPy, Matplotlib, and Astropy. After discussing the installation and basic structure of the language and libraries, the text will move into a discussion of script writing, conditional statements, loops, and other code structures that allow for complex outcome management. The text will then discuss the creation and use of functions and classes within Python, which enables unit-testing and more robust and flexible code creation, and use these tools in a Data Science context on an astronomical survey. The text will then cover the creation of packages, and the methods for re-using, importing, and otherwise standardizing code. Our examples will focus on data from astronomical observations, but the core skillset in Python is equally applicable to working with simulation data; this choice was primarily made because simulation data files tend to be large in size and require a bit of extra handling to get into Python. Finally, this book will contain several higher-level chapters that carry students from the beginner stage of programming into the intermediate, providing research-level instruction on the use of algorithms such as Markov Chain Monte Carlo (MCMC).

Скачать Astronomical Python: An introduction to modern scientific programming







[related-news]
[/related-news]
Комментарии 0
Комментариев пока нет. Стань первым!