Undergrad CompPhys
Graduate CompPhys
Advanced Grad CompPhys
Many body physics
Quantum Mechanics
Advanced Solid State
Electricity\&Magnetism
|
|
(a) and (b): Zoom in of the Mandelbrot Set in two different
locations (c) double pendulum trajectory in chaotic regime (d)
projectile motion with and without accounting for air drag
Course description and overview: This course introduces
algorithmic concepts and familiarizes students with fundamental
computational tools that are essential for students in STEM and
related fields. The course emphasizes practical applications and
prepares students for both academic and industrial
pursuits. Modern computational approaches, including Python
numpy/scipy libraries and Jupyter notebooks, will be utilized to
develop a strong foundation in computational physics. The course
covers a range of algorithms, including numeric integration, solving
differential equations, Fourier analysis, large-scale minimization problems,
high-dimensional integration using Monte Carlo methods,
error propagation, controlling numerical errors,
linear and logistic regression, and provides an introduction to
deep learning and neural networks.
As the programming language, we will use Python and its
scientific library, scipy & numpy (numba, pybind11). Most of the
lectures will be in the form of Jupyter notebooks.
To speed up parts of the code, we will also utilize C++ and
pybind11 to demonstrate how Python could compete with speed of C++.
Requirements: To complete the homework and perform the
hands-on training, it is essential to have access to a computer
where Anaconda software can be installed. A modest
familiarity with programming is assumed. It is desired that students
use their laptops and bring them to class. Alternatively,
students can use their desktop computers at home or in the lab.
Physics & Astronomy Departmental Learning Goals:
Students who complete the course demonstrate knowledge of how to
use computation as a tool in physics and STEM research and education.
Students can solve the physics problem in the form of
differential equations, integral equation, or minimization
problem, and find the most appropriate
algorithm to numerically solve such problems and analyze
resulting data
with modern data visualization tools.
Students will also learn how to propagate errors in
measurements, and how to avoid errors in numerics. If time
allows, students will be familiarized with modern
data science tools of regression and deep learning.
Class Time: Tuesday and Thursday, 4:05 PM - 5:00 PM, SEC-204
Announcements and assignments can be found in Canvas.
Instructor: |
Kristjan Haule
Office: Serin E267
email: haule@physics.rutgers.edu
Phone: 445-3881
Office hours: after lecture
|
Survey running, please respond by using QR code
List of Topics with Lecture Notes in the form of Jupyter notebooks
- Installation, testing env with Mandelbrot set, introducing numba, and pybind11,
jupyter notebook
Python script for dynamic plot
- Interactive Mandelbrot Set and self-similarity,
jupyter notebook
- Logistic map and fractals, Lyapunov exponent and chaos,
jupyter notebook
- Introduction to Jupyter
jupyter notebook
- Basics of Python
jupyter notebook
- Numpy
jupyter notebook,
stockholm_td_adj.dat.txt
- Scipy
jupyter notebook
- Ordinary differential equations
jupyter notebook
- ODE, Driven Pendulum and chaos
jupyter notebook
- ODE and Hydrogen_atom
jupyter notebook
- Measurement error propagation and uncertainties package
jupyter notebook
- Numerical error accumulation and stable recursion with Miller's algorithm
jupyter notebook
- Random numbers, multidimensional integration, Metropolis
jupyter notebook
- Ising model,
jupyter notebook
for Alternative implementation of Ising: online Ising model simulation
- Simulated annealing and Traveling Salesman problem
jupyter notebook
- Linear regression ,
jupyter notebook, NucleousEnergy.dat
- Logistic regression ,
jupyter notebook
- Deep Learning,
jupyter notebook
Source code: https://github.com/haulek/CompPhysU
Browse source code with nbviewer
Useful literature:
Computational Physics by Mark Newman
Computational Physics by N.J. Giordano and H. Nakanishi
Computational Physics by J.M. Thijssen
An Introduction to Computational Physics by Tao Pang
Computational Physics by Rubin H. Landau and Manuel J. Paez
Software carpentry
How to Think Like a Computer Scientist: Learning with Python
Python for beginners
Python documentation
Python regular expressions
Numerical Recipes online
Some part of the lectures are adopted from https://github.com/jrjohansson/scientific-python-lectures
Assessment:
- There will be no exam. The grade will consist of completed homework (70%) and class participation (30%).
- Homeworks will be graded on the scale of 0 to 3, allowing half points.
- 3 : fully completed problem, perhaps with tiny deficiencies(Outstanding),
- 2 : most of the conceptual steps done correctly, but some errors made(Good),
- 1 : some essential steps made(Satisfactory),
- 0 : nothing of value was done(Unsatisfactory).
- Standard grading scheme will be used to
- 90-100: A,
- 85-90: B+,
- 80-85: B,
- 75-80: C+,
- 70-75: C,
- 60-70: D,
- <60: F
Policies:
- Changes: The course schedule and guidelines are subject to change. Any changes will be communicated promptly and clearly.
- Absences: Students are expected to attend all classes;
if you expect to miss one or two classes, please use the University absence reporting website to indicate the date and reason for your absence. An email is automatically sent to your instructors.
If you have been told to quarantine, or are experiencing symptoms of any transmissible disease, please do not attend in-person class meetings. Contact the Professor to make arrangements for handling such absences.
- Fostering an equitable and inclusive classroom. All
instructors, students, and staff associated with the Physics
and Astronomy Department are expected to follow the
Department’s Policy against Discrimination and Harassment.
As
stated in this policy, “The Rutgers Department of Physics &
Astronomy strives to foster an academic, work, and living
environment that is respectful and free from discrimination
and harassment. The Department recognizes the human dignity
of each member of the community and believes that each
member has a responsibility to promote respect and dignity
for others so that all community members are free to pursue
their educational and work goals in an open environment, to
participate in the free exchange of ideas, and to share
equally in opportunities.”
Resources for student success:
- The faculty and staff at Rutgers are committed to your
success. Students who are successful tend to seek out
resources that enable them to excel academically, maintain
their health and wellness, prepare for future careers,
navigate college life and finances, and connect with the RU
community. Helpful resources include the
Rutgers learning centers,
SAS advising,
SoE advising,
SEBS advising,
RBS advising.
Additional resources that can help you succeed and connect
with the Rutgers community can be found at
Resources for student success.
-
Please visit the Rutgers Student Tech Guide
for resources available to all
students.
If you do not have the appropriate technology for
financial reasons, please email the Dean of
Students for assistance.
If you are facing other financial hardships, please visit
the Office of Financial Aid.
Disability Accommodations:
Rutgers University welcomes
students with disabilities into all of the University's
educational programs. In order to receive consideration for
reasonable accommodations, a student with a disability must
contact the appropriate disability services office at the
campus where you are officially enrolled, participate in an
intake interview, and provide documentation:
(documentation-guidelines) . If
the documentation supports your request for reasonable
accommodations, your campus’s disability services office
will provide you with a Letter of Accommodations. Please
share this letter with your instructors and discuss the
accommodations with them as early in your courses as
possible. To begin this process, please complete the
Registration form on the ODS web site at:
getting-registered.
Academic integrity
Rutgers University takes academic dishonesty very seriously.
By enrolling in this course, you assume responsibility for
familiarizing yourself with the Academic
Integrity Policy and the possible penalties (including
suspension and expulsion) for violating the policy.
Student Wellness Services
|