Introduction to Numerical Analysis (2018)

Kai-Feng Chen
National Taiwan University

Date: 2018/Feb to 2018/June
Location: classroom R112, New Physics Building, NTU


We will introduce commonly used numerical methods in scientific computing in this lecture. The base computing language will be Python.

Here are the outline for the course:


Part I: Introduction to Python (slides only)
The basis / Control flow / Types and data
 structure / Functions and modules / 
Input & Output /  Classes and others

Part II: Numerical analysis basis
Error analysis / Numerical differential and integration / Random numbers / Linear algebra / Root finding and minimum finding / Differential equations / Visualization

Part III: Advanced topics
Data modeling and fitting / Statistical analysis / Machine learning

Lecture 0-1: All you need to know about this course

Slides: lecture-001.pdf

Lecture 1-1: Introduction to Python

Slides: lecture-101.pdf

Lecture 1-2: Control flow  

Slides: lecture-102.pdf

Lecture 1-3: Functions and modules

Slides: lecture-103.pdf

Lecture 1-4: 
More on sequence types & data structures          

Slides: lecture-104.pdf

Lecture 1-5: 
I/O, exceptions and class          

Slides: lecture-105.pdf

Lecture 2-1: The Art of Numerical Analysis

Slides: lecture-201.pdf
Materials:
wav_ana.py / test2.wav / test1.wav / l201-example-01.py / l201-example-02.py / l201-example-02a.py

Lecture 2-2: Numerical Differential & Integration

Slides: lecture-202.pdf
Materials:
l202-example-01.py / l202-example-01a.py / l202-example-01b.py / l202-example-02.py /
l202-example-02a.py / l202-example-03.py / l202-example-04.py / l202-example-05.py / l202-example-06.py

Assignment 1

Slides: assignment-1.pdf
Templates:
assignment-101.py / assignment-102.py / assignment-103.py 

Lecture 2-3: NumPy array & linear algebra (I)

Slides: lecture-203.pdf
Materials:
l203-example-01.py / l203-example-02.py / l203-example-03.py / l203-example-04.py /
l203-example-05.py / l203-example-06.py / l203-example-07.py / l203-example-08.py /
l203-example-08a.py

Assignment 2

Slides: assignment-2.pdf
Templates:
assignment-201.py / assignment-202.py / assignment-203.py 

Lecture 2-4: NumPy array & linear algebra (II)

Slides: lecture-204.pdf
Materials:
l204-example-01.py / l204-example-02.py / l204-example-02a.py / l204-example-03.py /
l204-example-04.py / l204-example-04a.py / l204-example-05.py / l204-example-06.py /
l204-example-07.py / l204-example-08.py / l204-example-09.py / l204-example-09a.py /
l204-example-09b.py / testimage.jpg

Assignment 3

Slides: assignment-3.pdf
Templates:
assignment-301.py / assignment-302.py / assignment-303.py 

Lecture 2-5: Root finding & minimization

Slides: lecture-205.pdf
Materials:
l205-example-01.py / l205-example-02.py / l205-example-02a.py / l205-example-03.py /
l205-example-03a.py / l205-example-04.py / l205-example-05.py / l205-example-06.py /
l205-example-07.py / l205-example-08.py / l205-example-08a.py / l205-example-09.py /
l205-example-10.py / l205-example-10a.py / l205-example-10b.py / l205-practice-02.py

Lecture 2-6: Solving ordinary differential equations

Slides: lecture-206.pdf
Materials:
l206-example-01.py / l206-example-02.py / l206-example-03.py / l206-example-04.py /
l206-example-05.py / l206-example-06.py / l206-example-07.py / l206-example-07a.py /
l206-example-07b.py / l206-example-08.py / l206-example-08a.py / l206-example-08b.py /
l206-example-09.py / l206-example-09a.py / l206-example-09b.py / l206-example-10.py /
l206-example-10a.py / l206-practice-01-template.py / l206-practice-02-template.py

Assignment 4

Slides: assignment-4.pdf
Templates:
assignment-401.py / assignment-402.py / assignment-403.py 

Lecture 2-7: Random numbers

Slides: lecture-207.pdf
Materials:
l207-example-01.py / l207-example-01a.py / l207-example-01b.py / l207-example-02.py /
l207-example-03.py / l207-example-04.py / l207-example-05.py / l207-example-06.py /
l207-example-06a.py / l207-example-06b.py / l207-example-07.py / l207-example-07a.py /
l207-example-08.py / l207-example-08a.py

Lecture 3-1: Brief on machine learning

Slides: lecture-301.pdf
Materials:
mnist.npz / l301practice.npz /
l301-example-01.py / l301-example-01a.py / l301-example-01b.py / l301-example-02.py /
l301-example-02a.py / l301-example-02b.py / l301-example-02c.py / l301-example-03.py /
l301-example-03a.py / l301-example-03b.py / l301-example-04.py / l301-example-04a.py /
l301-example-04b.py / l301-example-05.py / l301-example-05a.py / l301-example-06.py /
l301-example-07.py / l301-example-07a.py / l301-example-07b.py

Assignment 5

Slides: assignment-5.pdf
Templates:
assignment-501.py / assignment-502.py / assignment-503.py 

Tournament

Slides: tournament.pdf
Materials:
tournament.py / player_template.py

Lecture 3-2: Incorporating Nonlinear Models

Slides: lecture-302.pdf
Materials:
neurons.py
l302-example-01.py / l302-example-02.py / l302-example-02a.py / l302-example-03.py /
l302-example-04.py / l302-example-04a.py / l302-example-05.py / l302-example-05a.py /
l302-example-05b.py / l302-example-06.py

Assignment 6

Slides: assignment-6.pdf
Templates:
assignment-601.py / assignment-602.py / assignment-603.py 

Lecture 3-3: Improving Neural Network

Slides: lecture-303.pdf
Materials:
l303-example-01.py / l303-example-02.py / l303-example-02a.py / l303-example-03.py /
l303-example-04.py / l303-example-04a.py / l303-example-04b.py / l303-example-04c.py /
l303-example-05.py / l303-example-06.py / l303-example-06a.py / l303-example-06b.py /
l303-example-06c.py / l303-example-06d.py / l303-example-07.py / l303-example-07a.py /
l303-example-08.py / l303-example-08a.py

Lecture 3-4: Modeling of Data – Probability & Probability Distributions

Slides: lecture-304.pdf
Materials:
l304-example-01.py / l304-example-02.py / l304-example-03.py

Lecture 3-5: Modeling of Data – Parameter Estimation

Slides: lecture-305.pdf
Materials:
l305-example-01.py / l305-example-02.py / l305-example-02a.py / l305-example-03.py /
l305-example-03a.py / l305-example-03b.py / l305-example-04.py / l305-example-04a.py /
l305-example-04b.py / l305-example-04c.py / l305-example-05.py / l305-example-05a.py /
l305-example-06.py / l305-example-06a.py /
dimuon.npy / clean_data.npy