teaching


Teaching materials are mostly moved to Canvas after 2019.

Fall 2019: Scientific Computing

Canvas website
Class Information:
Office Hour: by appointment
Office Location: 329 Science Building
email: lzhang2012 AT sjtu

TA Office Hour:
TA Office Location: Graduate office, 5th floor Pao Yue-Kong Library
email: hlwang216 AT sjtu.edu.cn

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

Homework:20%
Quiz: 20%, Quiz 1 (Oct 29), Quiz 2 (Dec 10)
Final: 60%, Jan 2

Homework: (available before the separator ||)
Homework 1 (due Oct 12), Homework 2, Homework 3, Homework 4, Homework 5, Homework 6, Homework 7 ||

Exams:

Example Code in Julia:
Examples for Chapter 2 [View] [Download]
Examples for Chapter 3 [View] [Download]
Examples for Chapter 4 [View] [Download]
Examples for Chapter 5 [View] [Download]
Examples for Chapter 6 [View] [Download]
Examples for Chapter 7 [View] [Download]

References:
Textbook:
Numerical Mathematics by A. Quarteroni, R. Sacco, and F. Saleri

Other References:
数值分析, 张平文,李铁军编著,北京大学出版社
数值分析基础, 关治,陆金甫编著,高等教育出版社。
数值分析(第七版 影印版),Burden, Faires, 高等教育出版社。
Iterative methods for sparse linear systems, Saad, SIAM, 2003.
Numerical Optimization, Nocedal, Wright, Springer, 2006
A First Course in the Numerical Analysis of Differential Equations, Iserles, Cambridge, 2008

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