Details for this torrent 

Pasha I. Astronomical Python. An introduction...2024
Type:
Other > E-books
Files:
1
Size:
49.32 MiB (51714727 Bytes)
Uploaded:
2024-08-18 12:30 GMT
By:
andryold1
Seeders:
34
Leechers:
6

Info Hash:
692E7EF3C30F822A0F4FAE5B35C2F41DF10943CC




Textbook in PDF format

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 signi?cant mathematical “algorithm” from scratch. Its near universal adoption within astronomy speci?cally has also been fortuitous: astrophysics-speci?c packages such as Astropy have made many common tasks we must carry out as astronomers signi?cantly more straightforward. Best of all, these libraries are “open source,” meaning a large community of astronomers are using, contributing to, double checking, and ?xing 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 ?exible 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 ?les 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)