Giter VIP home page Giter VIP logo

computationalphysics300's Introduction

Physics 300, University of Nevada Las Vegas

Introduction to Physics and Scientific Computing

Location: BPB-248

Schedule: Mon/Weds 2:30 - 3:45 pm

Instructor Prof. Qiang Zhu
Email [email protected]
Website http://www.physics.unlv.edu/~qzhu/
Office BPB 232
Office hours Mon/Weds 9 - 10 am

Course Outline

Weeks Subjects
1 Python basics I (installation, variables, list, loops)
2 Python basics II (function, advanced libraries)
3 Integrals/derivatives
4 Fitting/interpolation
5 Fourier transform
6 Random numbers
7 Monte carlo
8 Optmization I
9 Optmization II
10 Optmization III
11 Machine Learning I (Algorithms)
12 Machine Learning II (Applications)
13 Machine Learning III (Neural Networks)

Prerequisites: PHYS 152, PHYS 152L or PHYS 180

Credit Hours: 3

Textbook: Computational Physics, M. Newman (not required)

Grade Distribution:

Items Percentage
Attendance 10%
Homeworks 25%
Midterm Project 25%
Final Project 40%

Course Description

This course is open to all students who are interested in scientific programming and data analysis. It will teach students to write programs to solve simple physics programs on the computer and to manage their codes via github. There will be weekly assignments and two projects during the semester, plus an oral exam in the end of semester. Please bring your laptop to class. All the practices will be based on Python 3. Barring documentable emergencies or observance of a certifable regious holiday, all exams must be taken at the time and place specified.

Appendix

In addtion to the code page, we also have a wiki page which has extended discussions on some focused topics. Most of them were created by the students.

Notebook viewer

Sometimes the GitHub does not render the jupyter notebook properly. We recommend the use of nbviewer to view the notebook.

Instruction to submit your homework.

  • register an account in GitHub.
  • log into your github profile, and search for the github repo of qzhu2017/ComputationalPhysics300/, click the fork icon.
  • after your log into your github account, you will have the forked github repo.
  • complete homework by your own in the format of jupiter notebook. Upload the notebook to the homework directory by time.

computationalphysics300's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

computationalphysics300's Issues

Random number generation

The choice of m seems to generate very interesting phenomena.

%matplotlib inline
import matplotlib.pyplot as plt 
# We can only change [a , c , m]
N = 1000
a = 3125 #57
c = 19*17 #287
m = 10.99
x = 1
# This shows that a has to be in range 40<a<60 and c has to be in range of 200<c<300 for it to be somewhat random
results = []

for i in range(N):      
    x = (a*x+c)%m -5
    results.append(round(x))
plt.plot(results,"o")
plt.show()
plt.hist(results, bins=10)

Expand the neural network code

Currently, we have a single neuron code, but it would be good to expand it 2 neurons, 2 layers. This way, we will have a better understanding on the back-propagation mechanism used in the updates of the weights.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.