fortran66のブログ

fortran について書きます。

【寝言】メイ首相 難局で辞意 

Sell in May and go away!

スーパーコップ橘芽衣に名前が似ているので応援してきたメイ首相が辞任です。

正直言って女学級委員みたいに柔軟性がなくてヤバかったですね。
f:id:fortran66:20190524232737j:plain
泣いてる子もいるんですよ!

f:id:fortran66:20190524232610j:plain
f:id:fortran66:20190524232216j:plain

難局メイ首相

f:id:fortran66:20190524232220j:plain

南極一号
ちょっと萌えますね。



f:id:fortran66:20190524232027j:plain
じゃあグッバイ

f:id:fortran66:20190524232104p:plain

芽衣
f:id:fortran66:20190524233457j:plain

f:id:fortran66:20190525000231j:plain

モディ首相勝利!

インド総選挙、与党圧勝へ モディ首相が勝利宣言
www.nikkei.com

安倍晋三首相は23日夜、インドのモディ首相と電話で協議し、総選挙の勝利に祝意を伝えた。「力強いリーダーシップによる実績が評価を得た」と評した。日印関係の強化や「自由で開かれたインド太平洋」を実現するため、緊密に協力したい考えを伝達した。モディ氏は謝意を述べ、6月に大阪で開く20カ国・地域(G20)首脳会議への出席に意欲を示した。

やたらと安倍首相にボディタッチの多いモディちゃんも無事勝利!打倒中共!ネパール守れ!

昔、ネパール人がチベット人の事をさして「山奥に住んでいる牛を食べる野蛮人!」と罵っていたので、それ以来ネパールとチベットの地理関係が分かりやすくなりました。

【ニュース】次世代スパコンは「富岳」

次世代スーパーコンピューターの名称を「富岳(ふがく)」に決定

令和に入ってから天気も素晴らしく、心温まるニュースが多いこの頃。

www.sankei.com

f:id:fortran66:20190523224501j:plain

富嶽

CPU は Arm。

Farewell to ARMs

英ARMがファーウェイと取引停止
business.nikkei.com

禿もスプリントと T-mobile を人質に取られているからなw しかし信用できないから早く下放さすべき。

それはそうと RISC-V は如何?

【メモ帳】Fortran90 に pointer と allocatable が重複してある理由

John K. Reid の講演より

19 分からの発言 https://youtu.be/Frz_AF46a04?t=1138

Allocatables
When we were working with fortran90, the proposer for pointers tried to convince us that once we've got pointers in the language, we did't need allocatable arrays. But the argument was made that all these old-fashioned people who are using old FORTRAN would never understand pointers, never be able to use them successfully. What was needed was memory that was just dynamic, so what we put in the language was simply, the simplest case of all, allocatable arrays that could be allocated anew????? 云々

ということで、昔気質のおじちゃん達にはポインタは難しくてちゃんと使えなかろうから、極言すれば欲しいのは実行時の動的メモリー確保なのだから、動的メモリー確保機能のみに特化してメモリーリークが起きにくいように制限をきつくした allocatable 型を用意したようです。

Fortran90 の時点では、allocatable 型はサブルーチンを出る時などに自動解放されなかったので、return 前に手動で解放しなければならないなど pointer と大して変わらない厄介さでしたが、Fortran95 以降では自動解放機能がついて安全性が高まってゆきました。move_alloc と合わせて、最近のスマート・ポインタを先取りしていたとほざいておきましょう。

f:id:fortran66:20190523020539p:plain
JKR

Modern Fortran, with emphasis on coarrays (John Reid, JKR Associates/Rutherford Appleton Laboratory)

講演の前後の司会のいい声は Damian Rouson ではないかと思われます。

なお JK Reid ですが、女子高生 Reid と妄想するとはかどります。

Modern Fortran Explained: Incorporating Fortran 2018 (Numerical Mathematics and Scientific Computation)

Modern Fortran Explained: Incorporating Fortran 2018 (Numerical Mathematics and Scientific Computation)

Introduction to Programming with Fortran

Introduction to Programming with Fortran

【メモ帳】NAG Fortran Modernisation Workshop 資料 その他

Fortran Modernisation Workshop

二年くらい前の資料ですが公開されております。

ざっと見たところ、不特定多数が利用する大規模並列ソフトウェアをターゲットとしているようです。

科学における特殊事情も含めたうえで、ソフトウェア工学の必要性にはじまり、新文法の解説も多少ありつつ、コーディング・ルールの提案、pFUnit によるユニット・テスト、Doxgen による文書化、git によるバージョン管理にいたるまで、様々なソフトウェア工学の手法を説明してくれています。

ソフトウェア工学の手法を厳格に適用するのは現実的でないとも言っていて、原理主義の否定は、はなはだもっともです。

github.com

スライド 274 頁で、乞食がただで読ませてもらって申し訳なく感じるほどの盛りだくさんの内容です。ところどころマンガが入っています。

似たような会
https://www.hlrs.de/events/training/detail-view/2018-06-12-NAG/

パワポ紙芝居を超えて、マンガかバーチャル・ユーチューバーで学びたいです。

scivision の Fortran2008 資料

NETCDF の利用や Cmake の書き方など、単なる新文法紹介にとどまらずこちらもやや広い視点で例を挙げてくれています。

github.com

Modern Fortran in Practice

Modern Fortran in Practice

Modern Fortran Explained: Incorporating Fortran 2018 (Numerical Mathematics and Scientific Computation)

Modern Fortran Explained: Incorporating Fortran 2018 (Numerical Mathematics and Scientific Computation)

FORTRAN FOR SCIENTISTS & ENGINEERS

FORTRAN FOR SCIENTISTS & ENGINEERS

【ニュース】天竺からの Fortran 本

西紀645年大化の改新の年、玄奘三蔵が天竺より仏典を請来し唯識の教えを支那人にもたらした。それより千年を過ぎ、今や末法の世。いま再び天竺より Fortran 書籍が請来さる!

Fortran 2018 with Parallel Programming

CRC 出版なのでまた消えるかもしれませんw 
値段が高いのでポンド暴落を祈りましょう。ポンドが切り下がれば EU 関税も相殺出来、移民も帰るので無問題です。

なお CRCpress coupon で検索すると 20% off クーポンが手に入ります。

www.crcpress.com

Fortran 2018 with Parallel Programming

Fortran 2018 with Parallel Programming

Numerical Methods of Mathematics Implemented in Fortran

電子版はもう買えるようです。Springer のケチが近頃安売りをしないので困る。とりあえずメルケルを火あぶりにして、祝祭の安売りを!

www.springer.com

Numerical Methods of Mathematics Implemented in Fortran (Forum for Interdisciplinary Mathematics)

Numerical Methods of Mathematics Implemented in Fortran (Forum for Interdisciplinary Mathematics)

モディ首相再選か?

www.bloomberg.co.jp
オーストラリアに続き、反中が勝利すべし!


www.afpbb.com

【ニュース】落合淳思『漢字の字形』書評が読売新聞に

讀賣新聞書評

先日、落合淳思先生の『漢字の字形』書評が読売新聞に出ていました。

自分でフォント開発しているところを激賞されていました。

www.yomiuri.co.jp

私的には、戦後の新字体にも殷周時代に遡る由緒正しい字形もあって、かならずしも戦後のどさくさでの無思慮な創作というわけでもないし、また康煕字典に代表される活字体が全面的に正字にふさわしいというわけでもないという指摘に啓蒙されました。
 

漢字の字形-甲骨文字から篆書、楷書へ (中公新書)

漢字の字形-甲骨文字から篆書、楷書へ (中公新書)

【メモ帳】断片

包絡代数

BCH 定理証明のための断片



一般化多項式:交換則を仮定しない。

テンソル演算子

\delta(x)\equiv x\otimes1+1\otimes x

\delta(1)\equiv 1\otimes1

\delta(xy)\equiv \delta(x)\delta(y)

\delta(\sum a_n x^n)=\sum a_n (\delta(x))^n

この時、

\begin{align}
\delta([x, y]) &=\delta(xy-yx)\\
&=\delta(x)\delta(y)-\delta(y)\delta(x)\\
&=(x\otimes1+1\otimes x)(y\otimes1+1\otimes y)-(y\otimes1+1\otimes y)(x\otimes1+1\otimes x)\\
&=(xy\otimes1+x\otimes y+y\otimes x+1\otimes xy)-(yx\otimes1+y\otimes x+x\otimes y+1\otimes yx)\\
&= (xy\otimes1 - yx\otimes1) + (1\otimes xy - 1\otimes yx)\\
&=(xy-yx)\otimes1 + 1\otimes(xy-yx)\\
&=[x,y]\otimes1+1\otimes[x,y]\\
\end{align}

つまり、

\delta([x, y]) =[x,y]\otimes1+1\otimes[x,y]
が成り立っている。

また、

\begin{align}
\delta(x_1^{k_1}x_2^{k_2}\cdots x_m^{k_m})&=(x_1\otimes1+1\otimes x_1)^{k_1}(x_2\otimes1+1\otimes x_2)^{k_2}\cdots(x_m\otimes1+1\otimes x_m)^{k_m}\\
&=x_1^{k_1}x_2^{k_2}\cdots x_m^{k_m}\otimes1+k_1x_1^{k_1-1}x_2^{k_2}\cdots x_m^{k_m}\otimes x_1+\cdots k_mx_1^{k_1}x_2^{k_2}+\cdots x_m^{k_m-1}\otimes x_1+\cdots \\
\end{align}
なので、
\delta(x_1^{k_1}x_2^{k_2}\cdots x_m^{k_m})=x_1^{k_1}x_2^{k_2}\cdots x_m^{k_m}\otimes1+1\otimes x_1^{k_1}x_2^{k_2}\cdots x_m^{k_m}
の形となるには、k_i=1, k_{j\neq i}=0 のように1次の1項だけしか許されない。

これらの事から、テンソル化した一般化多項式\delta(X)\equiv X\otimes1+1\otimes X の形になるのならば Lie 代数の演算と同型なので、これを用いることで非可換・非結合代数を非可換・結合代数に置き換えて、楽に考えられるようになる。

log(exp(x)exp(y))

log, exp はべき級数展開が定義。
Log, Exp は引数がテンソル積であることを表す。


\begin{align}
\delta(\exp(x)\exp(y))&=\delta( (1+x+x^2/2!+\cdots)(1+y+y^2/2!+\cdots) )\\
&=(\delta(1)+\delta(x)+\delta(x)^2/2!+\cdots)(\delta(1)+\delta(y)+\delta(y)^2/2!+\cdots)\\
&=\mathrm{Exp}(\delta(x) )\mathrm{Exp}(\delta(y) )\\
&=\mathrm{Exp}(x\otimes1+1\otimes x
 )\mathrm{Exp}(y\otimes1+1\otimes y
 )\\
&=\mathrm{Exp}(x\otimes1)\mathrm{Exp}(1\otimes x)\mathrm{Exp}(y\otimes1)\mathrm{Exp}(1\otimes y)\\
&=(\exp(x)\otimes1)(1\otimes\exp(x) )(\exp(y)\otimes1)(1\otimes\exp(y) )\\
&=(\exp(x)\otimes1)(\exp(y)\otimes1)(1\otimes\exp(x) )(1\otimes\exp(y) )\\
&=(\exp(x)\exp(y)\otimes1)(1\otimes\exp(x)\exp(y) )
\end{align}

ただし、

\begin{align}
\mathrm{Exp}(x\otimes1)&=1\otimes1+x\otimes1+(x\otimes1)^2/2!+\cdots\\
&=1\otimes1+x\otimes1+x^2\otimes1/2!+\cdots\\&=(1+x+x^2/2!+\cdots)\otimes1\\
&=\exp(x)\otimes1
\end{align}
などが成り立つ。

ここで、
(x\otimes1)(1\otimes x) = x\otimes x =(1\otimes x)(x\otimes1)
のような交換関係を使っている。また交換関係が成り立つならべき展開の定義に
帰らなくても普通の関数のように扱える。


また、

\begin{align}
\delta\log(x)&=\delta\log(1+z)\\
&=\delta(z-z^2/2+z^3/3+\cdots)\\
&=(\delta(z)-\delta(z)^2/2+\delta(3)^3/3+\cdots)\\
&=(z\otimes1+1\otimes z)-(z\otimes1+1\otimes z)^2/2+(z\otimes1+1\otimes z)^3/3+\cdots\\
&=\mathrm{Log}(1\otimes1+z\otimes1+1\otimes z)\\
&=\mathrm{Log}(\delta(1+z) )\\
&=\mathrm{Log}(\delta(x) )\\
\end{align}

よって、

\begin{align}
\delta\log(\exp(x)\exp(y) )&=\mathrm{Log}(\delta(\exp(x)\exp(y) ) )\\
&=\mathrm{Log}(\exp(x)\exp(y)\otimes1)(1\otimes\exp(x)\exp(y) )\\
&=\mathrm{Log}(\exp(x)\exp(y)\otimes1)+\mathrm{Log}(1\otimes\exp(x)\exp(y) )\\
&=\log(\exp(x)\exp(y) )\otimes1+1\otimes\log(\exp(x)\exp(y) )
\end{align}

つまり、

\delta\log(\exp(x)\exp(y) )
=\log(\exp(x)\exp(y) )\otimes1+1\otimes\log(\exp(x)\exp(y) )
が成り立っている。

ので、あと2,3個前提が証明してあればw \log(\exp(x)\exp(y) )x, y とそれらの  [ ,] の交換子積で表わせることが分かる。(ただし係数は出てこない。表わせるはずということだけ。)

すなわち Baker-Campbell-Hausdorff の定理が証明される。



 \exp(X)\exp(Y) = \exp(X+Y+[X,Y]/2+([X,[X,Y]]+[Y,[Y,X]])/12+\cdots)

係数については、以下参照。
fortran66.hatenablog.com
fortran66.hatenablog.com


リー代数と素粒子論

リー代数と素粒子論

リー群の構造 (数学叢書)

リー群の構造 (数学叢書)

The Structure of Lie Groups

The Structure of Lie Groups