Introduction to Numerical Analysis (2019)

Kai-Feng Chen
National Taiwan University

Date: 2019/Feb to 2019/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
Machine learning / Data modeling and fitting / Statistical analysis

Materials used in 2018 are available HERE.

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-05a.py / l202-example-06.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
/ l203-example-09.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

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-03a.py /
l206-example-04.py / l206-example-04a.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

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
/ l207-example-09.py

Tournament

Slides: tournament.pdf
Materials:
tournament.py / player_template.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

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

Lecture 3-3: Tricks for 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

Lecture 3-4: Deep Structured Learning

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

midi_phraser.py / rnn_files.zip / font_data.npy / l304practice.npz

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

Slides: lecture-305.pdf
Materials:
l305-example-01.py / l305-example-02.py / l305-example-03.py

Lecture 3-6: Modeling of Data – Parameter Estimation

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