Introduction to Numerical Simulation Methods

0. Introduction in Introduction
What is the common base of knowledge for our graduate school?
共通科目の難しさ
事前アンケート結果
受講生数の推移
この授業の方法
Numerical Experiments
Data Analysis
1. The importance of computer simulation (from 1) (in physics and related areas of natural science)
2. Numerical modeling methods
(i) First-principle calculation
(ii) Phenomenological models
(1) Traffic flow model
(2) Chemical Reaction-Diffusion phenomena
(3) Numerical simulations for social phenomena
(iii) Data analysis (anothor crutial role of computer in science)
(iv) Simulation for artificial (engineering) systems
Other usage of computers
3. python and development tools
Python
A goal of the data analysis in this lecture
python and its libraries for scientific use
official documents of python
Development tools
console: ipython console
jupyter (ipython notebook)

0. Introduction in Introduction

What is the common base of knowledge for our graduate school?

That's the problem.

この授業を組み立てるに当たっての悩みであり解決はしていない。

共通科目の難しさ

Numerical experiment (computer simulation) methods or data sciences (data analysis methods)

現時点ならば、後者を選択したいが、4年前はそうではなかった。前者を選択した。

豊木は今年度末で定年(つまり、今年度が最後の授業)なので、data scienceの教材をつくる気力がちょっと前まで湧いていなかったが、実行することとした。

事前アンケート結果

https://moodle.yamanashi.ac.jp/2020/mod/feedback/analysis.php?id=26477

受講生数の推移

この授業の方法

多様なスキル、履修履歴の学生がいるので、

Numerical Experiments

In natural sciences and engineering as the use of scientific principles,

Data Analysis

1. The importance of computer simulation (from 1) (in physics and related areas of natural science)

自然科学、工学におけるコンピュータ利用は多岐にわたるが、まずは、物理系の自然科学とそれに近い工学分野での「コンピュータシミュレーション」の位置づけを概観する。

"physics and related sciences" :

However,

Computer simulations, like laboratory experiments, are not substitutes for thinking, but are tools that we can use to understand natural phenomena (including manufactured instruments).

コンピュータシミュレーションは、実験室での実験と同様、思考の代替物ではなく、現象を理解するための道具である。

2. Numerical modeling methods

(i) First-principle calculation

For systems described by a few fundamental principle such as Newton's law and quantum mechanics but including too many variables for our computers , we develop effective approximation schemes.

Objects Methods
Chemical Structure and Reactions Computational Chemistry 1st-principle Molecular Dynamics(FPMD)
condensed matter physics Computational Physics
Electrical circuits
Electromagnetic field (dynamics) Finite Element Methods (FEM) for Maxwell's eq. and some other approx. methods
mechanical structures in civil engineering and Mechanical eng. FEM
fluid dynamics

In the class, we will try to enrich the above table by discussions.

(ii) Phenomenological models

There have been investigated some simulation models whose scheme itself is created as a model (equations). Some examples are shown in the following.

(1) Traffic flow model

See this page of "Introductory E. E. experiments" of dept. EE.

cf.

An example and a trial for data analysis in My Lab.

(2) Chemical Reaction-Diffusion phenomena

Growing spatio-temporal macroscopic pattern is a remarkable phenomenon in non-equilibrium processes. The Belousov-Zhabotinsky reaction is a well-known example which yields temporal rhythms and dynamical spiral patterns.

We will try to make a simulation program of the two-dimensional Oregonator. The goal is to visualize the spatiotemporal evolution.

movie

(3) Numerical simulations for social phenomena

Mathematical model for social network such as SNS, ecomomical phenomena have been extensively researched.

(iii) Data analysis (anothor crutial role of computer in science)

In phenomena we want to analyse, there are a lot of things which is not the result of a simple principle but one caused by many factors. While the important thing in the above computer simulation is to find relatively simple principles in objective phenomena, the data analysis is used for such as stock price prediction which is intrinsically affected by many factors.

Deep lerarning is a most remarkable developing method.

e.g.

(iv) Simulation for artificial (engineering) systems

Other usage of computers

Extension of human abilities: Senses, Thinking and Working

3. python and development tools

Python

In 2018 and later, the lecture is given based on other materials.

A goal of the data analysis in this lecture

We will learn how to analyze some data such as the following. 次のようなデータがあったとします。xとyの関係をどのように推定すればよいでしょうか。

source ipynb for the above figure

それよりも、各自の経験にこれまでに身に着けたスキルに応じて、python及びそのモジュールの利用やデータの扱いの方法について何らかの進歩があれば良いと思っている。 I recommend that you set your own goal on the usage of python and modules of python, and data analysis methods based on your own previous experiences and skills.

Return the homepage and see the next items.

(The following part is obsolete.)


We use a interpreter-type language Python which have many libraries for scientific calculation and data analysis. The libraries are rapidly expanded and improved. Those are mostly witten by C and Fortran language, so Python can be regarded as the front-end for users.

(At the first course, we learn python by the following tutorial page in the classroom.)

python and its libraries for scientific use

A useful tutorial for scientific use is available at http://www.scipy-lectures.org/,

and the Japanese translation is http://www.turbare.net/transl/scipy-lecture-notes/index.html

official documents of python

Development tools

Anaconda, one of major packages including python development tools and libraries, is installed in the classroom computers.

There are three styles of developement environment:

There are many IDEs. Please try to search them on Web and use some IDEs. (e.g. see http://noeticforce.com/best-python-ide-for-programmers-windows-and-mac )

console: ipython console

At the compter room, we can run "ipython console" from the windows menu "Anaconda3" or "Anaconda2".

jupyter (ipython notebook)

The certain part of the text of this lecture is created by "jupyter notebook" formally called "Ipython notebook" and some instructions and examples are provided as "ipython notebook" file whose name has the extension ".ipynb".

"jupyter" also is in the Anaconda menu.

You can find many tutorial pages, e.g. https://ai-inter1.com/jupyter-notebook/