Introduction to Numerical Analysis (2020)

Kai-Feng Chen
National Taiwan University

Date: 2020/Mar to 2020/June
Location: classroom R112, New Physics Building, NTU
; already switch to Webex; alternatively on vidyo if needed.

Link to Webex room: https://ntucc.webex.com/ntucc/j.php?MTID=m77b2708b09e088b52d16e7216e0fb9e8


Link to vidyo room:
 http://vidyoportal.cern.ch/flex.html?roomdirect.html&key=cbKbegqMZ7Mt

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 2019 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-01c.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-07a.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-example-11.py / l205-example-11a.py / l205-example-11b.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