数学とか語学とか楽しいよね

フランス語、ドイツ語、ロシア語、アラビア語、オランダ語、英語、スペイン語、ラテン語とか数学とか数値計算(有限要素法、有限体積法、差分法、格子ボルツマン法、数理最適化、C++コード付き)とか勉強したことをまとめます。右のカテゴリーから興味のある記事を探してください。最近はクラシックの名演も紹介しています。noteにも書いています。https://note.mu/kumag_min

理工書を紹介します(数学、物理、数値計算などなど、漸次追加)

はじめに

今回は理工書を紹介します。

数値計算

河村哲也 著『数値計算入門』
数値解析の全体を概観する本です。ニュートン法、直接法、反復法、固有値問題、補間、数値積分、常・偏微分方程式と基礎的な内容を網羅しています。『英語で学ぶ数値解析』よりとっきやすいと思います。例が充実しており自分のコードを確認できます。アルゴリズのまとめかたがわかりやすく、実装も十分に可能です。数値解析が必要な学生に何か読ませる場合、私なら入門書としてこの本を渡します。理論に深入りしすぎずちょうどよい塩梅です。ただ河村哲也氏の著作で気をつけなければならないのは、ほぼ同じ内容の別名の著作が存在している、ということです。これはかなり複雑なのでまた今度説明しますが、ほぼコピペという箇所、ちょっとだけ違う箇所などあります。ご注意ください。これだけ理解していれば、結構なものが自作できると思います。しかし、偏微分方程式の離散化に関しては他の本を読む必要があります。

数値計算入門 (Computer Science Library 17)

数値計算入門 (Computer Science Library 17)


『英語で学ぶ数値解析』
全体像が分かる本です。これだけわかれば組み合わせて自分でコードが書けます。内容は、連立一次方程式、非線型方程式、固有値問題、補間、数値積分常微分方程式、差分法による偏微分方程式と盛りだくさんです。表紙は日本語ですが中身は英語です。しかし、簡単な英語で書かれておりおすすめです。

英語で学ぶ数値解析

英語で学ぶ数値解析


『計算力学 有限要素法の基礎』
有限要素法の本で一番読みやすい本だと思います。固体、流体ともに書いてある点が珍しいです。例が充実しており、離散化した際の行列の値が示されているので自分で離散化した結果と比べることができます。また、定常、非定常ともに載っているのもうれしいです。もっと早くこの本を読みたかったです。本当に至れり尽くせりです。あと紙がよいです。質の悪い紙を使っている本だと線を引くのすら億劫ですが、この本の紙は質がよいです。

計算力学(第2版)-有限要素法の基礎

計算力学(第2版)-有限要素法の基礎


『流れ解析のための有限要素法入門』
題名の通り有限要素法でNavier-Stokes方程式を離散化することを目的としています。最後まで読むと自分で有限要素法でNavier-Stokes方程式を解けるようになります。2部構成で第1部で離散化の基礎を、第2部でNavier-Stokes方程式をいかに扱うかを説明してくれます。第1部では、有限要素法の紹介、1次元のポワソン方程式に対する離散化、2次元のラプラス方程式に対する離散化、プログラミングの方法、面積座標、非定常問題をやります。第2部では、Navier-Stokes方程式の定式化、様々な解法(直接法、分離解法)、風上有限要素法(SUPG法)、熱流体をやります。1次元のポワソン方程式に対する離散化は、有限要素法の入門として非常に優れています。私が有限要素法のはじめて理解したのはこの本です。実際のプログラミングの方法が書かれている点も便利です。実装につなげやすいです。また、非定常問題に対する記述があるのもうれしいところです。第2部は盛りだくさんです。まさにNavier-Stokes天国です。Navier-Stokes方程式を有限要素法で解く際に重要になるのが速度と圧力に対する補間関数で、この組み合わせが悪いと上手く解けなくなります。それに関しても詳しく説明されています。各要素に対する行列の要素も明記されていてとても便利です。この本の白眉はNavier-Stokes方程式をいかに離散化するかを説明している第8章です。直接法、ペナルティ関数法、疑似圧縮性法、MAC法、SMAC法、SIMPLER法、流速圧力同次緩和法、移流拡散分離解法が載っています。こんなにたくさんNavier-Stokes方程式に対する解法が載っている本は和書では貴重です。MAC法、SMAC法、SIMPLER法の導出も整理されて私のお気に入りです。章末には数値計算例が載っており、かなり詳細な情報が書いてあります。計算例を再現するときに役に立ちます。

流れ解析のための有限要素法入門

流れ解析のための有限要素法入門

  • 作者:中山 司
  • 発売日: 2008/04/01
  • メディア: 単行本


『はじめてのCFD』
「はじめての」とありますが初心者向けの本ではなく、中級以上です。移流拡散方程式の離散化をひたすら説明してくれます。様々なスキームを統一的な視点から整理してくれるので、非常に勉強になります。時間進行、移流方程式、拡散方程式、定常・非定常移流方程式と進みます。特性曲線、システム方程式、Riemann不変量、エントロピー解、Rankine-Hugoniot条件、Riemann問題、単調性、単調性保存、衝撃波、膨張波、TVD、Osherスキーム、Roeスキームなど、双曲型方程式を扱う際に必須となる概念が説明されている貴重な和書です。類書は『流体力学数値計算法』でしょうか。ただし、部分的に読みづらいと感じる箇所があります。私は、あまり圧縮性流体の知識がないのでそう感じるのだと思います。なので、圧縮性流体力学を学んでから読むと理解が深まるのではないでしょうか。この本以上の知識は洋書をあたるしかないです。

はじめてのCFD―移流拡散方程式

はじめてのCFD―移流拡散方程式


微分方程式による計算科学入門』
常微分方程式数値計算について解説した本です。Cのプログラム例がついています。全体は4章構成で、オイラー法やルンゲクッタ法などの基礎事項、ハミルトン系に対するシンプレティック数値解法、遅れのある微分方程式の数値解法、そして確率微分方程式の数値解法となっています。シンプレティック、遅延、確率微分方程式の数値解法のいずれをとっても類書はなかなかないので重宝します。アルゴリズムだけでなく、収束性や誤差、安定性など理論的な部分がかなり丁寧に説明されています。最初の章だけでもよくまとまっており読む価値があると思います。常微分方程式数値計算を扱う方は是非読むことをおすすめします。ちなみに、偏微分方程式は出てこないので注意しましょう。

数学

『最適化法 数理ファイナンスへの確率解析入門』
ページ数は120でとても薄いですが密度の濃い本です。最適化と数理ファイナンスを概観するのにおすすめです。本書で流れを確認し、分からない箇所を他の本で補いつつ読むと効果的かもしれません。前半は最適化法で川崎英文氏の執筆、後半は数理ファイナンスへの確率解析入門で谷口説男氏執筆という、二大巨頭による本となっています。前半は非線型計画法、凸計画法、線型計画法、離散最適化法を概観します。後半は確率論の基礎、ブラウン運動マルチンゲール、確率解析、ブラックショールズ方程式を概観します。最適化法の順番は独特です。まず、最も一般的な非線型最適化を解説してから凸計画法、線型計画法と狭めていきます。これは非常におもしろい試みですね。確かにいきなり線型計画法をやると挫折しやすい気がします。数式や定理の意味がたくさん書いてありとてもよいです。参考文献もとても詳しいです。数理ファイナンスのほうはブラックショールズ方程式がゴールで関連する事柄だけ解説されています。確率空間からスタートしてかなり深く書いてありますし(これだけでわかる人がいるのだろうか…)、式変形も丁寧です。最適化法より読むのが難しいですね。


『これなら分かる最適化数学―基礎原理から計算手法まで』
最適化を勉強したいけれど何から読んだらわからない方におすすめです。著者の金谷氏はわかりやすい本を書くことで定評があり(私の中で)、最適化手法の原理をわかりやすく学ぶことができます。原理(どうしてそのやり方でよいのか)が説明されているのがとてもよいです。この本の内容を理解しておけば、他の専門書へとスムーズに移行できるでしょう。内容は以下の通りです。まず数学準備として、ベクトルや行列の微分極値ラグランジュの未定乗数法あたりを詳しく説明してくれます。最適化の数学で詰まる方はこのへんが苦手なことが多いのではないでしょうか。3章では先程学んだ知識を使って、直線探索、ニュートン法共役勾配法を説明します。4章は最小二乗法です。どのような原理に従っているか理解せずにエクセルで使っている方も多いと思います。そんな方はこの章に従って一度自らの手で最小二乗法を導出してみるとよいと思います。また、特異値分解と一般逆行列非線型最小二乗法も載っていて盛りだくさんです。5章は統計的最適化です。最尤推定EMアルゴリズムなどです。最小二乗法が最尤推定になっていることも説明されます。6章は線型計画法です。1章分しかありませんが幾何的な解釈や双対などかなり踏み込んだ説明がなされています。7章は非線型計画法です。分量の関係で非線型計画法はほんの少ししか記述がありません。他の専門書を読む必要があります。8章は動的計画法です。これも主に使い方や応用例を示すだけです。ハミルトン・ヤコビ方程式などについて学ぶには他の専門書を読む必要があります。また、注が充実しており読んでいてハッとすることが多々あります。中・上級者の方でも何らかの発見があると思います。

物理

『地形現象のモデリング
地形の共通原理(地形形成のダイナミクス)の探求を目指して、河川、砂丘、雪崩、断層、柱状節理、クレーターなどの地形現象をモデリングしシミュレーションや実験で解析します。第I部では流れによる地形現象を、第II部では破壊による地形現象を扱っています。モデルを使うことによって、時空間のスケールの大きさや時間スケールの大きく異なる複数の現象が同時進行する点を乗り越えようとしています。特に河川のモデリングでは、浅水流方程式とExner方程式を持ちいた河床波の線型安定性解析や蛇行流路の解析が紹介されています。見た目が異なる現象でも数理モデルとして書いてみると似た式になったりするのでとてもおもしろいです。


『ゼロから学ぶ熱力学』
熱力学発展の歴史を交えつつ、基礎的な事項を網羅的に学べる良い本でした。まったく何も知らない状態から、熱力学第一、第二、第三法則、エントロピー、ギブスとヘルムホルツの自由エネルギー、相変化、化学反応、一通り概観することができます。最初に読む熱力学本として優れていると思います。第5章にブラウン運動BZ反応が載っているのがおもしろいです。BZ反応はあまり解説がないですが、ブラウン運動に関してはアインシュタインの関係式を導出するなどなかなかエキサイティングな流れになっています。ただ、サイクルの扱い方はもう少し説明してほしいところですね(サイクルをうまくつなげてクラウジウスの原理やトムソンの原理をの同値性を示すあたり)。そこは、他の本を見たほうがよいかもしれません。

ゼロから学ぶ熱力学

ゼロから学ぶ熱力学


『単位が取れる熱力学ノート』
非常によく整理されたわかりやすい熱力学本です。高校物理程度の知識から一気に第一、第二法則、エントロピー、ギブスとヘルムホルツの自由エネルギーまで連れていってくれます。合間に挟まれる演習問題が良問でさらに丁寧な解答が本文中にあるのがとてもよいです。カルノーサイクルの扱いが丁寧で、トムソンの原理とクラウジウスの原理の同値性や絶対温度を定義する方法などわかりやすく説明されている点が良いです。エントロピーの導入も違和感なく、実際に手を動かしてエントロピーの変化を計算する問題がたくさんあってためになります。ギブスとヘルムホルツの自由エネルギーの物理的な意味も書いてあります。

単位が取れる熱力学ノート (KS単位が取れるシリーズ)

単位が取れる熱力学ノート (KS単位が取れるシリーズ)

  • 作者:橋元 淳一郎
  • 発売日: 2005/06/22
  • メディア: 単行本(ソフトカバー)

【ドイツ語】映画『風立ちぬ』のあらすじを読もう

はじめに

今回はドイツ語版Wikipediaの"Wie der Wind sich hebt"(映画『風立ちぬ』)のあらすじを読んでいきます。

Handlungの所です。Twitter上で読んだものを以下に並べていく形式にします(手抜きでごめんなさい)。おおまかな訳(必ずしも訳ではない)と申し訳程度の語釈がついています。

あらすじを読む

【有限体積法】Keller-Segel方程式を有限体積法で解く C++コード付き

はじめに

今回はKeller-Segel方程式を有限体積法で解いていきます。半年前ぐらいに作ってどうも動かなくてしばらく放置していましたが、やっと動きました!!!Keller-Segel方程式とは粘菌の凝集をモデル化した非線型連立方程式です。走化性モデルとして有名です。

Keller-Segel方程式

Keller-Segel方程式とは粘菌の凝集をモデル化したもので、

 \displaystyle
\begin{eqnarray}
&u_t=-[F(u,v)]_x\\
&0=v_{xx}-\gamma v + \alpha u\\
&F(u,v)=-u_x+(\lambda v)_x u\\
\end{eqnarray}

のような非線型連立方程式です。ここで、u=u(t,x) が粘菌の密度、v=v(t,x) が粘菌の放出する化学物質の濃度、 F(u,v) はフラックス、\gamma \alpha \lambda は係数です。粘菌はランダムに広がりつつ、化学物質の濃度が高い方向に進もうとします。それぞれフラックスの1項目と2項目にあたります。特に、2項目を走化性(chemotaxis)と言います。考える領域を  (0,1) として、境界条件ノイマン条件(反射壁)

 \displaystyle
\begin{eqnarray}
&\left.F(u,v)\right|_{x=0,1}=0\\
&\left.v_x\right|_{x=0,1}=0
\end{eqnarray}

とします。初期条件は  u v に適当な分布を与えます。

離散化

離散化は、以下の斉藤氏のものを採用しました。下記文献では詳細にスキームの数学解析がなされており非常にためになります。式で言うと(6)、(7)、(8)です。
https://www.jstage.jst.go.jp/article/bjsiam/19/4/19_KJ00005931649/_pdf

簡単にまとめますと、 u の時間発展には  v^{n-1} を用いることによって線型化します。また、フラックスの項は、 (\lambda v)_x を移流流速と考えて風上化をかけます。

また、『エンジニアのための有限要素法入門』のpp.173-191に、有限要素法によるKeller-Segel方程式の離散化が載っています。

計算結果

ケース1

これは、初期時刻に粘菌の集団が2つある場合です。以下が計算結果です。青が粘菌の密度 u です。

f:id:mutsumunemitsutan:20200428232046g:plain:w500

2つあった粘菌の集団が1つに合体し、左へと移動し、最終的に境界で爆発的に凝集していく様が観察できます。

ケース2

これも、初期時刻に粘菌の集団が2つある場合です。ただしケース1より少しだけ離して配置してあります。以下が計算結果です。

f:id:mutsumunemitsutan:20200428233114g:plain:w500

2つあった粘菌の集団がそれぞれ左右へと移動し、最終的に境界でそれぞれ爆発的に凝集していく様が観察できます。

C++コード

#include <iostream>
#include <cmath>
#include <fstream>
#include <iomanip>
#include <string>
#include <sstream>
#include <algorithm>

using namespace std;

//TDMA//a:diagonal,c:left,b:right,
inline void tdma(double a[], double c[], double b[], double d[], double x[], int size)
{
	int i;
	double *P=new double[size];
	double *Q=new double[size];
	
	//first step//
	P[0]=-b[0]/a[0];
	Q[0]=d[0]/a[0];
	
	//second step//
	for(i=1;i<size;i++)
	{
		P[i]=-b[i]/(a[i]+c[i]*P[i-1]);
		Q[i]=(d[i]-c[i]*Q[i-1])/(a[i]+c[i]*P[i-1]);
	}
	
	//third step, backward//
	x[size-1]=Q[size-1];

	for(i=size-2;i>-1;i=i-1)
	{
		x[i]=P[i]*x[i+1]+Q[i];
	}
	
	delete [] P,Q;
}

inline void output(double u[], int Node, double dx, double v[])
{
	stringstream ss;
	string name1,name2;
	ofstream f1,f2;
	static int count=0;
	
	ss<<count;
	name1=ss.str();
	name1="u_" + name1 + ".txt";
	name2=ss.str();
	name2="v_" + name2 + ".txt";
	f1.open(name1.c_str ());
	f2.open(name2.c_str ());
	
	for(int i=0;i<Node;i++)
	{
		f1<<dx*double(i)<<" "<<u[i]<<endl;
		f2<<dx*double(i)<<" "<<v[i]<<endl;
	}
	f1<<endl;
	f2<<endl;
	
	count+=1;
}

int main()
{
	int i,j,k;
	int Cell=100;
	int Node=Cell+1;
	double LL=1.0;
	double dx=LL/Cell;
	double dt=0.000025;
	double NT=2000;
	double alpha=10.0;
	double lam=100.0;
	double gamma=5;
	double u[Node];
	double un[Node];
	double v[Node];
	double vn[Node];
	double b[Node];
	double AD[Node];
	double AL[Node];
	double AR[Node];
	double FR,FL;
	int div=5;
	double uhat;
	double bb;
	
	//initial condition//
	for(i=0;i<Node;i++)
	{
		double a=3*sin(4.0*atan(1.0)/LL*double(i)*dx);
		u[i]=0.01;
		v[i]=a;
	}

	for(i=20;i<25;i++)
	{
		u[i]=1.2;
	}

	for(i=50;i<55;i++)
	{
		u[i]=1.5;
	}

	output(u,Node,dx,v);
	
	for(k=1;k<=NT;k++)
	{
		//v//
		for(i=1;i<Node-1;i++)
		{
			uhat=(u[i]+u[i+1])/2.0;

			//diffusion//
			AL[i]=1.0/dx/dx;
			AD[i]=-2.0/dx/dx;
			AR[i]=1.0/dx/dx;

			//decomposition//
			AD[i]+=-gamma;

			//secretion//
			b[i]=-alpha*uhat;
		}
	
		//BC//
		//i=0//
		uhat=u[0];

		//diffusion//
		AD[0]=-2.0/dx/dx;
		AR[0]=2.0/dx/dx;

		//decomposition//
		AD[0]+=-gamma;

		//secretion//
		b[0]=-alpha*uhat;


		//i=Node-1//
		uhat=u[Node-1];

		//diffusion//
		AL[Node-1]=2.0/dx/dx;
		AD[Node-1]=-2.0/dx/dx;

		//decomposition//
		AD[Node-1]+=-gamma;

		//secretion//
		b[Node-1]=-alpha*uhat;

		//solve for v//
		tdma(AD,AL,AR,b,vn,Node);

		
		//u//
		for(i=1;i<Node-1;i++)
		{
			FR=-(u[i+1]-u[i])/dx;

			bb=lam*(vn[i+1]-vn[i])/dx;
			if(bb>=0) FR+=bb*u[i];
			else FR+=bb*u[i+1];

			FL=-(u[i]-u[i-1])/dx;
			bb=lam*(vn[i]-vn[i-1])/dx;
			if(bb>=0) FL+=bb*u[i-1];
			else FL+=bb*u[i];

			un[i]=u[i]-dt/dx*(FR-FL);
		}

		//BC//
		//i=0//
		FR=-(u[1]-u[0])/dx;
		bb=lam*(vn[1]-vn[0])/dx;
		if(bb>=0) FR+=bb*u[0];
		else FR+=bb*u[1];
		FL=0;
		un[0]=u[0]-dt/dx*(FR-FL);

		//i=Node-1//
		FR=0;
		FL=-(u[Node-1]-u[Node-2])/dx;
		bb=lam*(vn[Node-1]-vn[Node-2])/dx;
		if(bb>=0) FL+=bb*u[Node-2];
		else FL+=bb*u[Node-1];
		un[Node-1]=u[Node-1]-dt/dx*(FR-FL);

		//update//
		for(i=0;i<Node;i++)
		{
			v[i]=vn[i];
			u[i]=un[i];
		}
		
		if(k%div==0)
		{
			cout<<k<<endl;
			output(u,Node,dx,v);
		}
	}
	
	return 0;
}

おわりに

制御入れたらおもしろいのでは?

【関数解析】『工学のための関数解析』を読もう!(目次)

はじめに

山田功 著『工学のための関数解析 』を読んでいきたいと思います!どれぐらいかかるかはわかりませんが…取りあえず今回は本を紹介して目次を読みます。

工学のための関数解析 (工学のための数学)

工学のための関数解析 (工学のための数学)

  • 作者:山田 功
  • 発売日: 2009/05/01
  • メディア: 単行本

どんな本か?誰におすすめか?

この本は、「微積分と線型代数」と「数学者が書いた関数解析の本」の間のギャップを埋めるための本です。議論の動機や定理の意味、その恩恵が説明されていて関数解析ユーザーにも有益です。スタート地点は実数列の極限やベクトル空間の定義レベルであり、ルベーグ積分は表には出てきません。頑張ればきっと読めます!また、凸最適化に関する記述があるのもこの本の特色です。

目次

第1章 実数列の極限とベクトル空間
1.1 実数列の極限
1.2 ベクトル空間
1章の問題

第2章 距離空間
2.1 距離空間
2.2 完備距離空間
2.3 開集合と閉集合
2.4 写像の連続性
2.5 コンパクト性と最大値・最小値の定理
2.6 縮小写像不動点定理
2.7 ベールの定理
2.8 可分性
2章の問題

第3章 ノルム空間と内積空間
3.1 ノルム空間
3.2 内積空間
3.3 ノルム空間の有界線形作用素
3.4 行列とベクトルのノルム
3章の問題

第4章 バナッハ空間とヒルベルト空間
4.1 バナッハ空間とヒルベルト空間の舞台設定
4.2 一様有界性の定理,開写像定理,閉グラフ定理
4.3 バナッハ空間とヒルベルト空間の基底
4.4 ヒルベルト空間における2つの収束
4章の問題

第5章 射影定理とノルム空間上の微分
5.1 ヒルベルト空間における2つの射影定理
5.2 線形多様体への直交射影と正規方程式
5.3 ノルム空間上の写像微分
5章の問題

第6章 線形汎関数の表現と共役空間
6.1 線形汎関数と共役空間
6.2 内積空間上の線形汎関数の表現
6.3 ハーン・バナッハの定理
6.4 有界線形作用素の共役作用素
6章の問題

第7章 凸最適化の理論とアルゴリズム
7.1 弱点列コンパクト性と凸集合
7.2 凸関数の意味と基本性質
7.3 凸関数と最小値の存在性
7.4 凸関数と微分の単調性
7.5 凸最適化問題と変分不等式問題
7.6 展望:凸最適化理論と不動点理論の広がり

付録
付録1 集合と写像
付録2 実数
付録3 多変数実関数の微分
付録4 行列論に関する補足

【C++】2次元vectorいろいろ

はじめに

今回は2次元vectorのいろいろをまとめたC++コードを置いておきます。いつも配列を使っておりvectorの使い方を忘れてしまうので備忘録です。

C++コード

#include <iostream>
#include <cmath>
#include <fstream>
#include <iomanip>
#include <string>
#include <sstream>
#include <vector>

using namespace std;

//2次元vectorを関数に渡す//
inline void input(vector<vector<double> > &points)
{
	for(int i=0; i<points.size(); i++)
	{
		for(int j=0; j<points[i].size(); j++)
		{
			points[i][j]*=points[i][j];
			cout<<points[i][j]<<endl;
		}
	}
}

int main()
{
	int Node=3;

	//2次元vector宣言//
	vector<vector<double> > points;

	//サイズの変更//
	points.resize(Node, vector<double>(Node));

	//2次元vectorのまわし方//
	double box=0.;
	for(int i=0; i<points.size(); i++)
	{
		for(int j=0; j<points[i].size(); j++)
		{
			points[i][j]=box;
			cout<<points[i][j]<<endl;
			box+=1.;
		}
	}

	//2次元vectorを関数に渡す//
	input(points);

	return 0;
}

【ナヴィエ・ストークス方程式】岡本久『巨大渦の安定性―2次元非圧縮高レイノルズ数の流れの中で』抜書

はじめに

今回は岡本久『巨大渦の安定性―2次元非圧縮高レイノルズ数の流れの中で』から抜き書きしていこうとおもいます。「抜書」の部分は下段や文中のカッコの中以外全て抜き書きになっています。ご注意ください。「アイデア」は自分の言葉で内容を書き直しています。
https://www.jstage.jst.go.jp/article/butsuri/71/8/71_526/_pdf/-char/ja

抜書

2 次元には 3 次元とは異なる特有の現象(例えば乱流の逆カスケードなど)があり,独自のおもしろさがある.


中でも 2 次元における大規模渦の存在が厄介な問題である.それは非常にしばしば発生し,しかも長時間にわたって維持されるけれども,普遍的な現象と言えるほどの法則性が見つかっていない(ようだ).


ここでいう大規模渦とは,一言で言えば,流線のトポロジーが単純である解である.


逆カスケード:1967年にロバート・クライクナンが 2 次元乱流について理論的に予想したもので,これが正しいとすると,大きな渦が自発的に表れてくることが自然に納得される.


統計力学の理論を乱流現象にあてはめるとき,大規模渦は厄介者である.性質の似通ったものが大量にあることが統計力学の前提であるから,典型的な大きさと同程度の渦が 1 個だけ存在しているというのは好ましくない.


筆者らの研究は,(相当に多くの場合に)どんなにレイノルズ数を大きくしても大規模渦が不可避であることを強く示唆する.しかも,それが,定常な流れという,一番単純なものの中に見つかるのである.


R(レイノルズ数)を大きくしていくとより複雑なパターンがみられるようになる. これいわゆる分岐である.分岐(bifurcation)とは,多分 ポアンカレが最初に使った言葉ではないかと思われるが, それまで一つしかなかった平衡状態が二つ(以上)になることからこういう言葉が選ばれたのであろう.


乱流もこうした分岐で記述し得るであろう.著名な物理学者ランダウはこういうふうに述べた.力学系理論を流体力学に当てはめた説明としては古い部類に属するこの予想は「ランダウのシナリオ」として流体力学では有名である.


定常解は,レイノルズ数が何であっても少なくとも1 個は存在する.3) これはルレイ(J. Leray)が 1934 年に証明した定理であり,ある意味で驚くべき定理である.なぜならば,レイノルズ数が大きいときには流れは乱流となり,定常状態が発現することは普通はないからである.


ラジゼンスカヤ(O. Ladyzhenskaya)さんから直接聞いた話によると,彼女がこの定理を説明したとき,すでに数学的な証明があるにもかかわらず,ランダウもコルモゴロフもアーノルドも信用しなかったということなので,こうした鋭敏な頭脳にとっても直観に反するものだったのだろう.

もちろん,存在するといっても,多くの場合にそれは不安定であり,実験で見ることは難しい.しかし,ある場合 にはレイノルズ数をいくら大きくしても安定性を失わない定常解というのもあるのである(上述).以下に述べる大 きな渦も,レイノルズ数が大きいにもかかわらずしばしば安定である.


2 次元乱流と 3 次元乱流の大きな違いは,2 次元では乱流状態になっても大きな構造の渦が存在することである.それはレイノルズ数をいくら大きくしてみてもつぶれることはない.一方,3 次元乱流では,大きな構造が見られることもあるが,一様で等方的な乱流があるとすれば渦は次第に壊れていってどんどん小さな渦に変遷していくものと思われている.こうした現象はカスケード現象と呼ばれている.3 次元乱流ではカスケードは 1 方向のみである:大きなスケールから小さなスケールへ向かっていく.2 次元乱流ではカスケードは 2 方向に存在する.小さいスケールへとカスケードし,かつ大きなスケールへもカスケードする.これは1967 年にクライクナン(R. Kraichnan)が理論的に予想したことで,現在では現象論的な正しさが確認されている.


レイノルズ数が大きいとき,定常解もまた数多く存在し得るという事実である.


《外力が何であっても,レイノルズ数が十分大きければ,(時間変数については複雑かもしれないが)空間変数について単純に見える(流線のトポロジーが単純であるという意味で)解が少なくとも一つはある》という予想が一番無難であろう.


2 次元乱流では普遍的な法則が成り立ちにくいと言われている.3 次元のように小さなスケールでの普遍的な性質というのが期待できず,代わりに,大きな渦が小さな渦と相互作用するために,どこでも成り立つような簡単な法則が期待できないというのである.

イデア

・渦度方程式を数値計算している

【ナヴィエ・ストークス方程式】小薗英雄『ナヴィエーストークス方程式 クレイ懸賞問題のいま』抜書

はじめに

今回は小薗英雄『ナヴィエーストークス方程式 クレイ懸賞問題のいま』から抜き書きしていこうとおもいます。「抜書」の部分は下段や文中のカッコの中以外全て抜き書きになっています。ご注意ください。「アイデア」は自分の言葉で内容を書き直しています。
http://www.fluid.sci.waseda.ac.jp/crest/KozonoSeminar.pdf

抜書

弱解を構成して,その正則性を証明しようとする試みは,今のところ成功はしていない.


一般に非線形偏微分方程式が与えられたとき,その方程式に固有のスケール不変な関数空間で解を考察することの重要性が経験的に知られている.これを藤田・加藤の原理という.


これらの空間(斉次ベゾフ空間と斉次トリーベル–リゾルキン空間)は,関数空間それ自身の考察に加えて補間空間論と共に 1960 年代に盛んに研究されていたが,当初は偏微分方程式への応用はそれほど期待されていなかった.しかし,1990 年代になって非線形偏微分方程式の適切性の解明に積極的に導入され,今日その有用性は広く認識されている.


弱解は時間大域的存在を示すには有利である反面,一意性や正則性を別途証明することを余儀なくされることを見た.これに対して,強解は最初から一意正則な解を求めることを目標とする.どのような初期値に対して強解を求めることが可能か?という問いに関しては,スケール不変性が重要な鍵となる.


定理 5 (時間局所的強解の延長可能性)の証明については,垣田–柴田 [12, 第 5 章]に初学者向けの詳しい解説がある.


強解の時間局所存在定理が得られる初期値の関数空間をどこまで広くとれるか?といった問題意識は 1990 年代から台頭した非線形シュレディンガー方程式や KdV 方程式の研究の影響といってよかろう.実際,ブルガン,タオ,高岡等はフーリエ制限法や I-method に代表される調和解析学の手法を駆使して,非線形分散型方程式の初期値問題の局所適切性を最適な関数空間でつぎつぎと精力的に証明している.


日本では藤田宏先生を始祖としてこれまで世界を牽引する形で研究が進展したと評価してよいように思う.21 世紀になってすでに 10 年が過ぎようとしているが,若手数学者の台頭も著しい.しかし残念ながら,第 2 節で述べらていることと,ミレニアム問題には未だ隔絶の感がある.


確かに,偏微分方程式の見地からは,まずはフーリエ変換などが自由に使えるR^3において適切性を研究することが常道であろう.一方,流体力学の最大の目的は「揚力最大・抵抗最少」である.従って,工学などの現場の要求に応えるためには,境界のある領域の内部または外部でナヴィエーストークス方程式を考察することを余儀なくされる.たとえば,多重連結領域における非斉次境界値条件下の定常ナヴィエーストークス方程式の可解性は未解決問題である.領域の位相幾何的な条件と方程式の可解性の問題は,非線形偏微分方程式の主要な研究テーマであるが,この方面においても課題が山積していると思われる.

イデア

・ルレイの弱解(定理1)

・セリンのクラス(式(2.3))

・NS方程式はスケール不変である(スケール変換則を満たす)。

・斉次ベゾフ空間と斉次トリーベル・リゾルキン空間

リトルウッド–ペイリー分解

・ハーディ空間と平均振動有界の関数空間

・斉次ベゾフ空間と斉次トリーベル–リゾルキン空間は,従来のルベーグ空間やソボレフ空間に第 3 の指数を導入してよ細かく見たもの。

・弱解の正則性として,これまでのところ最も一般的な主張が定理3

・現時点で延長可能性についてもっとも一般的な定理が定理6

・現時点での,局所適切性に関するもっとも一般的な結果が定理7

・セクション2を読むのがしんどい