Introduction to Numerical Analysis 1
数値解析序論1
Norbert Pozar // 2021
Lecture notes (レクチャーノート)
Part a
- Lecture a1: Fortran review; programming and numerical computation
- Lecture a2: Loop control (
do
loops) - Lecture a3: The Euler method for ODEs
- Lecture a4: ODE system and other methods, Report 1
- Lecture a5: Second order ODE: pendulum
- Lecture a6: System of ODEs: Lotka–Volterra system
- Lecture a7: Newton’s method and the cubic equation
- Lecture a8: Newton’s method and backward Euler method, Report 2 (Final report)
Part b
- Lecture b1: Introduction to the heat equation
- Lecture b2: Heat equation: Explicit finite difference method
- Lecture b3: Heat equation: Instability and various boundary conditions, Report 1
- Lecture b4: Introduction to the wave equation
- Lecture b5: Wave equation: initial and boundary value problem
- Lecture b6: Wave equation: Various boundary conditions
- Lecture b7: Energy conservation for the wave equation. Report 2
- Lecture b8: Extra topics: allocatable arrays
Class information
Evaluation 評価方法: based on reports (probably 2 large reports each quarter and some small ones). You need at least 60% points to get C. Please submit the reports through LMS on the Acanthus portal.
Academic integrity: Submit only your own code or code that I provide. Do not share the solutions with other students! If I notice copying, I automatically give 0 points and might take other steps.
Self study: about 3 hours/week is expected
Contact:
- email npozar@se.kanazawa-u.ac.jp
- office #228 (自然科学5号館)
Goals
Programming is very important in modern science to perform computations, modeling, data analysis etc. Our goal is to develop basic programming skills for implementing important numerical methods for solving differential equations.
The best way to learn programming is to write programs yourself. To build larger programs, you need skills to implement simple algorithms. Please try to solve as many of the provided exercises as possible.
We will use the Fortran programming language. It is one of the oldest programming languages and it is still used to some extend in scientific computing. The skills that you learn should be applicable to other popular programming languages like C/C++ and Python.
Fortran reference (参考書)
Here are a few OK references for Fortran and programming in Fortran.
Fortran cheatsheet: my short Fortran reference
Fortran 入門: extensive online reference (in Japanese)
Fortranによるプログラミング超入門: In Japanese
Introduction to Programming with Fortran: textbook from Springer available for free download from Kanazawa University network
Fortran quirks: Surprising Fortran behavior I found.
Text editor
To write programs, you need a text editor.
Emacs: Most of you are probably using this. Be careful not to submit files whose name ends with
~
.Visual Studio Code: a simple free modern editor with sane key shortcuts. It is very popular these days for C/C++/Python/Javascript etc. programming. I recommend trying it out if you are not quite happy with Emacs.