シミュレーションと可視化の講習会
日程:2019年12月25日ー26日(26日は昼までの予定)
場所:明治大学中野キャンパス 高層棟515教室
主催:明治大学先端数理科学インスティテュート
アクセス方法:https://www.meiji.ac.jp/koho/campus_guide/nakano/access.html
概要:
数理モデルから,現象解明のために様々な情報を得るためには,数理的な解析は欠かせません.数理解析では手で解析的に解くことができるケースは稀で,大抵の場合は数値的に計算して大まかな特徴を捉えることになります.捉えた特徴から,思わぬ証明のアイデアを得ることもあります.さらに,これと同じくらい重要なことは,このような数値をわかりやすい絵に変換すること(可視化)です.通常,可視化は汎用のツールを使って行うことが多いのですが,「ここにこんな棒グラフをつけたい」「ここにパラメタを印字したい」「ここの3Dアニメーションを別の角度からも見たい」など「こうしたいという欲望」と「できないという現実」の歯痒さを経験します.そこで,本講習会では,数値計算と可視化の方法を手と頭を動かし,実践的にレクチャーしながら数値計算と可視化の方法を学びます.講習はC言語(C++言語も一部使用)を中心として解説します.PCは各自で持ってきてください.秋山が作成したいくつかの教材(資料およびソースファイル)を当日までにメールもしくはHPから配布します.教材は常微分方程式の数値計算法,反応拡散方程式の数値計算法,パラメータサーチプログラム,可視化ソフトGLSC3Dを用います.これらの教材はそのまま,もしくは一部改変することで自身の勉強・研究等に活かすことができます.
申し込み(締切12月15日):ページ下部にありますのでご登録をお願い致します.大学休業日の26日は関係者しか,大学に入ることができません.そのため,申し込みは必須となっておりますので,どうぞ宜しくお願いします.
受講料:無料
講師:秋山正和
対象者:誰でも参加できます.ただし,以下のことを自力で行うことができるようにしておいてください.
1:C言語でHello Worldプログラムを作成し,コンパイル&実行できる.
2:C言語のif, for, while などの関数がわかっていて,使えている.
3:Gnuplotなどの可視化ソフトで数値をグラフにできる.
講習を受けるにあたって:
0:講習は皆さんのPCで行います.(講師はMacを用いますのでMacの方は少し有利です.)
1:MacやLinuxのようなコマンドラインベースによるUnixの開発環境が入っているPCを対象としています.Windowsの方は原則講習できませんが,Visual Basic,Bash on ubuntu, 仮想化技術によるPC環境構築等により環境を自身で整えることができれば参加することができます.不明な点があれば,ご気軽におたずねください.
2:講習ではインターネットへの接続が必須です.講習会場では無線ネットワークを構築する予定ですが,稀に無線の規格が合わず接続できないトラブルが起こる可能性がありますので,優先LANケーブルおよびPCへの接続機器も持参してください.Wimax等のモバイル通信機器を使っても構いませんが,比較的大容量の通信を行う必要がありますのでご注意ください.
3:講習会場は各テーブルに電源とLANの穴があります.PCはバッテリーを持ってきてください.
4:講習ではたくさんのタイピングを行いますので,外付けのキーボードとマウスの持参を強くおすすめします.
5:MacはCatalinaもしくはHigh Sierraにアップグレードしてください.Xcodeは単体で数GBの容量がありますので,当日会場でのインストールを行うと回線がパンクします.https://fukatsu.tech/install-xcode を参考に必ずXcodeを事前にインストールしてください.
6:LinuxはUbuntu18.04, Centos 7, Debian 等であれば,秋山が方法を把握しています.Macをお持ちで無い方はUbuntuをオススメしますので,https://qiita.com/yo_kanyukari/items/2a944a300db22482c696を参考に各自のPCに入れてください.その他のディストリビューションの場合はフォローできないかもしれません.
その他注意点:
1:初日のお昼休憩時間ですが,明治大学周辺の飲食店は混み合う可能性がありますので,お弁当等を持参されると良いかもしれません.
2:一部の参加も構いません.ただし,それまでのレクチャー内容は各自でフォローしてください.
プログラム:
25日
09:30-10:00 受付
10:00-10:05 趣旨説明
10:05-10:30 Unix系入門
内容:::Unixのコマンドライン操作,便利な機能,簡単なシェルスクリプトも教えます.
10:30 -12:00 C言語におけるプログラムの動作原理,計算ライブラリ作成,高速化の方法
内容:::stdio.hって何?a.outでどうゆうこと?Makeって何?libxxxx.aとかライブラリって何?ちょっとの工夫で高速化できる方法論などを教えます.
12:00-13:00 お昼休憩
13:00-14:45 秋山謹製 常微分方程式計算ライブラリの紹介
内容:::常微分方程式の計算方法を教えます.時間があれば,それを更に高速化した埋込み型ルンゲクッタ法を教えます.
14:45-15:00 休憩
15:00-16:45 反応拡散方程式の数値計算法入門(予定)
内容:::明治大において開催された,反応拡散夏の学校の教材を一部利用して,1Dと2Dの反応拡散方程式の数値計算法入門を行います.
16:45-17:00 休憩
17:00-18:00 秋山謹製 パラメタサーチプログラムの使い方(予定)
内容:::効率的にパラメタ探索を行うためのツールを紹介します.
26日
10:00-11:00 秋山謹製 可視化ソフトGLSC3Dの紹介およびインストール
内容:::GLSC3Dがあれば,どんな可視化もできます.簡易な例を用いて解説します.
11:00-12:00 GLSC3Dを用いた,数値計算例の紹介
12:00-13:00 質問コーナー&解散
GLSC3Dとは:
http://www.isc.meiji.ac.jp/~akiyama_masakazu/の公開ソフトウェアを見てください.
https://github.com/GLSC3DProject/GLSC3D でも公開しています.