teaching


Spring 2019: Numerical Methods for Differential Equations

The class on ??? is moved to ???.

Class Information:
Canvas site
Office Hour: by appointment
Office Location:
email: lzhang2012 AT sjtu

TA Office Hour:
TA Office Location:
email: AT sjtu.edu.cn

Homework online: Thursday in even weeks
Homework due: Next Thursday in even weeks in class

Homework: 10%
Project:20%
Quiz: 10%
Final: 60%

Homework: (available before the separator ||)
||
Homework 1, Homework 2, Homework 3, Homework 4, Homework 5, Homework 6, Homework 7 Homework 8, Homework 9

Project Topics:
1. The (unfinished) PDE Coffee Table Book by Lloyd N. Trefethen and Kristine Embree
2. MIT Open Course, Mathematical Methods for Engineers II by Gilbert Strang
3. Your research topic

Exams:

Example Code in Julia:
Examples for ODE [View] [Download]
The following two notebooks are adapted from Christoph Ortner's Julia page, updated a little bit in order to run under Julia 0.6.
Finite difference for Laplacian equation [View] [Download]
P1 finite element method [View] [Download]
Finite difference methods for advection equation[View] [Download]


References:
Textbook:
A First Course in the Numerical Analysis of Differential Equations by Arieh Iserles
Finite Difference Methods for Ordinary and Partial Differential Equations by Randy LeVeque

Other References:
Endre Süli's notes by Endre Süli

Hairer's lectures on geometric integration: http://www.unige.ch/~hairer/poly_geoint/week1.pdf, http://www.unige.ch/~hairer/poly_geoint/week2.pdf
Vilmart's animation for symplectic integrator: http://www.unige.ch/~vilmart/java.html

Spring 2019: Numerical Methods for PDEs (math graduates)

Class Information:
Canvas site
Office Hour: by appointment
Office Location:
email: lzhang2012 AT sjtu

TA Office Hour:
TA Office Location:
email: @sjtu.edu.cn


Homework out: Monday
Homework due: Following Monday

Homework:%10
Quiz: %10
Project: %20
Final: %60

Lecture Notes:

Homework: (available before the separator ||)
Homework 1, Homework 2, Homework 3, Homework 4, Homework 5, Homework 6, Homework 7, Homework 8,
Homework Solution:
Solution 1, Solution 2, Solution 3, Solution 4,
Quiz:
Quiz, Solution of Quiz,

Exams:

Example Code:
5-point finite difference: Laplacian.ipynb (run in Jupyter Notebook).

Syllabus:

References:
Finite Elements: Theory, Fast Solvers, and Applications in Solid Mechanics 3rd Edition by Dietrich Braess
有限元方法的数学基础, 王烈衡, 许学军, 科学出版社
The Mathematical Theory of Finite Element Methods (Texts in Applied Mathematics) by Susanne Brenner and Ridgway Scott

Using Julia:
Julia official website: docs, examples, downloads, ...
Install Julia: Look at the part "Installing Julia and IJulia"
Juno: the interactive development environment for Julia
Numeric matrix manipulation: The cheat sheet for MATLAB, Python NumPy, R, and Julia
Noteworthy differences from MATLAB


Using FreeFEM++
FreeFEM++: A blazingly fast PDE solver
Using GSL Library
GNU Scientific Library:
GSL is written for Linux, 5 Ways to Run Linux Software on Windows, ortherwise, maybe you can figure out how to use GSL for Windows
 How to compile & execute C programs under Linux (Absolute basics)
How to Debug C Program using gdb in 6 Simple Steps
Debugging Memory Problems with Valgrind (Advanced)
Unix tutorial for beginners