Getting Started, Resource Onboarding Projects

Interested in dabbling with research tools from a specific subfield, but looking for guidance on where to start? Joing a lab and need some relevant independent, hands-on experience? Below is a list of existing or homebrew examples, tutorials, and "worksheets" available for beginners or scientists looking to learn about other fields using resources listed on PHYSDepots main directories. Many homebrew examples/activites are imply downloadable Python Notebooks with clear instructions and physical explainations for producing science-quality results from corresponding packages, datasets, etc.

Notebooks

Astrophysics

This notebook, part of PyIU's collection (and introductory Python crash course organization at Indiana University), is designed to teach the user the basics of the Python programming language, all while they create a HR diagram from scratch. See the rest of the PyIU GitHub for more resources.

A notebook part of PyIU's collection that introduces the user to the functionalities of the packages AstroPy, Specutils, and Astroquery.

Quantum Information

This repository by GitHub user IvanIsCoding introduces basic quantum computing and quantum algorithums using popular package Qiskit. It also offers activities involving quantum communication.

QuTiP's official collection of JuPyter notebooks covering topics of quantum compting and quantum algorithums. Featured is a lecture series on fundmentals in QC in QuTiP.

Condensed Matter and AMO Physics

A repository of notebooks by user fiscioluzzi that construct, simulate, and analyze multiple 2D Ising models, including the square ice model and lattice guage theory.

Particle and Nuclear Physics

This notebook is designed to be a starting place for those looking to begin with basic plots of simulated particle physics proton-proton collision data.

Mathematical Physics

The usage of the code is very straightforward. Hit run, and you will be guided through a short menu system where you choose whether you want to compute and plot either a basic Mandelbrot set, a basic Julia set, a Multibrot set, a Multibrot Julia set, or a seeded Mandelbrot set. For each type, you will need to enter in a couple of numbers, ranging from the initial condition z0, a specific constant c, the value of the exponent, as well as the number of iterations you want, and hence the precision of the plots. The code is very well-commented and should be easy to read. Mandelbrot and Julia sets appear in mathematics and are a very popular type of set that is often used to represent the beauty inherent in mathematics, as they are fractal patterns that are very beautiful to look at and relate to niche topics in complex analysis. The basic idea is that you are plotting real and imaginary pairs of points of a bunch of constants c that are fed into a recursive relation. The constants that result in divergences of the recursion are thrown out, and the constants that stay bounded are plotted. The resulting set of points is the Mandelbrot set, which follows the relation:
z_next = z^n + c
where the standard Mandelbrot set chooses specifically z0 = 0 and n = 2, where z0 is the initial condition of the complex number z that is first fed into the recursion relation. Other types of sets are constructed by basically changing z0, the exponent n, or iterating over different parameters.
Contributor: Nick Adkins - Indiana University

Biophysics and Geophysics

Physics Education

Experimental Techniques & Statistics

A demonstration of advanced plotting, including colorbars, from PyIU at Indiana University.

Another demonstration of advanced plotting from PyIU at Indiana University, while producing a Type Ia supernova light cruve.

Another advanced topic notebook from PyIU at Indiana University, this notebook introduces and utilizes a Monte Carlo process to determine whether Earth-mass or Jupiter-mass exoplants are more frequently water-like. It utilizes data from the NASA Exoplanet Archive.

In this code tutorial the user learns the basics of machine learning (ML) using the Python module Pytorch. To do this, we will train a convolutional neutral network to identify hand written numbers. This example uses the MNIST dataset of hand written numbers which is considered the "Hello World" of machine learning.