2021 年 20 巻 3 号 p. 112-115
In the present report, we introduce our new three approaches based on the mathematics / mathematical sciences to the classical molecular dynamics calculations; 1) the approach by the analytical mechanics instead of the classical mechanics; 2) the approach to the periodic boundary condition by the torus model; 3) the approach by the mathematics-based programming substituting for the procedural (imperative) programming. Then, we found that these approaches are very effective to make calculations simpler, more compact, steadier, and firmer. Thus, it was concluded that the mathematical / mathematical scientific approaches are the promising ones to overcome various problems that we confront in the computational chemistry.
In the present report, we introduce our new three approaches based on the mathematics / mathematical sciences to the classical molecular dynamics calculations; 1) the approach by the analytical mechanics instead of the classical mechanics; 2) the approach to the periodic boundary condition by the torus model; 3) the approach by the mathematics-based programming substituting for the procedural (imperative) programming. Then, we found that these approaches are very effective to make calculations simpler, more compact, steadier, and firmer. Thus, it was concluded that the mathematical / mathematical scientific approaches are the promising ones to overcome various problems that we confront in the computational chemistry.
現在,コンピュータ化学は,材料産業分野において広く実活用化されつつあるものの,その高精度ゆえの実活用限界の低さ,計算プログラムの膨大化・複雑化,実装技術の古さ,手続き(命令)型プログラミングの限界,他,様々な課題・問題も顕在化している [1,2,3].我々は,現状からのブレークスルーを探るべく,コンピュータ化学への数学・数理科学的なアプローチを試みている.本報告では,分子動力学(molecular dynamics: MD)計算 [4]を題材とした,新たな3つのアプローチについて紹介する.まず第1は,古典力学(classical mechanics: CM)に代わる解析力学(analytical mechanics: AM)によるアプローチ,第2は,周期的境界条件(periodic boundary condition: PBC)へのトーラスモデルによるアプローチ,そして第3は,手続き型プログラミングに代わり,数学・数理科学の知識と技術を積極的に関数型プログラミングに取り入れた数理ベースプログラミング [5]によるアプローチである.以下,それぞれについて説明する.
1.1 解析力学CMにおいては,加速度と力の関係を表す運動方程式を微分方程式で表現し,その微分方程式の解を求めることにより,運動をシミュレートする.また,運動を記述する変数は,空間での静止直交座標系による位置座標を表し,1次元,2次元,または3次元空間の方程式で運動をシミュレートする.一方,AMにおいては,使われる変数は静止直交座標系で直接表す必要はない.運動を記述する方程式として,例えば,運動エネルギーと位置エネルギーの差を表すラグランジュ(Lagrange: L)関数を構成し,運動方程式は,L関数の積分から定まる作用汎関数に対する最小作用の原理から導かれる.本報告では,AM的アプローチによりMD計算を行う新たな手法を提案する.
1.2 トーラスモデルコンピュータ化学において,PBCでは,複数の粒子間の運動の計算を格子状に分割した空間を想定して行う.そのとき,各格子内の粒子の状態は相対的に同じであると仮定して,格子内,および隣接する格子にある粒子間の運動をCMによる運動方程式で記述し,時間発展させることによりシミュレーションを行う.固体材料において,結晶は繰り返し構造になるので,格子状に分割された隣接する格子内の状態は相対的に同じであるという仮定は自然である.一方,シミュレーション計算は,操作的であり,一つの格子内の粒子を隣接する粒子と捉えてエネルギー計算を行うなど,計算上の便法を使っており,系全体の数学的な定式化は存在しない.シミュレーションアルゴリズムとして,様々な解は求められているが,その解法は,操作的,かつ恣意的である.
今回,我々は,一つの格子が繰り返す構造を表現する座標系で状態を表現し,その座標系内の粒子の運動を表すL関数を構成し,AMの考え方に従い運動方程式を求め,その方程式の解を微分方程式の数値解法により計算する手法を新たに提案する.繰り返し構造を表現する座標系としては,n次元トーラスを用いる.本手法の特徴は,繰り返し構造が完全に数学的に微分方程式で定式化されている点と,シミュレーション計算について,純粋に微分方程式の数値解法アルゴリズムを用いている点である.この手法,すなわち,問題の定式化とシミュレーション計算を分離することにより,プログラム実装時のミスを減らすことも検討している.
1.3 数理ベースプログラミング現在のコンピュータ化学分野における主流である手続き型プログラミングについては,それ自体が計算プログラムの膨大化・複雑化を招いている主要因でもあり,増大する一途のバグ・エラーの解決は困難を極める.我々は,上記の問題を克服し得るものとして,数学・数理科学を積極的に関数型プログラミングに取り入れた数理ベースプログラミングに着目し,これをMD計算のプログラム作成に適用した.そして,同プログラミング,およびAM的手法,トーラスモデルを用いることにより,計算のシンプル化,コンパクト化,安定化,強固化,そしてバグ・エラーの大幅な削減が図れることを見出した.
Figure 1はPBC付きの1次元空間
(1) |
The Schematic figure of the three particles (m1, m2, m3) on the one-dimensional periodic lattice model.
Figure 2は「PBC付きの1次元空間
The Schematic figure of the three particles (m1, m2, m3) on the one-dimensional torus model.
時刻
(2) |
ここで,時刻
(3) |
ここではポテンシャル関数をLennard-Jones ポテンシャル [4]から与えることにする.つまり,L関数を構成するポテンシャル関数と運動エネルギー関数が,各々,次の
(4) |
関数
The results of MD calculations for the three particles (m1, m2, m3) on the one-dimensional torus model. The horizontal and vertical axes give the time steps and positions of three particles, respectively.
Figure 3が示す様に,今回与えた新しいモデルによる計算結果が妥当な結果を与えていることを確認出来た.
本報告では,我々の,コンピュータ化学への数学・数理科学的なアプローチによる試みを紹介した.MD計算について,CMに代わるAMによるアプローチ,PBCへのトーラスモデルによるアプローチ,そして手続き型プログラミングに代わる数理ベースプログラミングによるアプローチの結果,同計算のシンプル化,コンパクト化,安定化,強固化,そしてバグ・エラーの大幅な削減を図ることに成功した.参考までに,Pythonで作成されたMD計算のプログラム [4] の書き換えでは,配列変数の統合と高階関数の使用によるごく軽いレベルの書き換えでも,バグ・エラーの原因となりやすい「forループ」の数の約89% の削減による安定化,強固化,プログラム行数で約9%のシンプル化,コンパクト化,そして,一般的なパーソナルコンピュータでの324分子のMD計算において,平均約12%の高速化を実現した.
本手法の特徴は,ユークリッド空間において周期解を求めるのではなく,トーラスモデルで解を求めるという発想の転換を行った点である.さらに,トーラスモデルでの運動方程式をAMの観点から具体的な方程式によって定めた点である.すなわち,シミュレーションプログラムの繰り返し計算が完全に数学的に微分方程式で定式化され,純粋に周期空間上の微分方程式の数値解法アルゴリズムに基づく計算のみである点である.その利点として,周期性判定のための条件判断等の例外計算が不要となり,プログラムが簡素化され, 理論的な計算量は落ちていることが期待される.トーラスモデルは厳密に数値解を計算しているが,運動方程式が複雑で従来法の様な具体的な高速計算技法が未成熟であるという点が課題である.しかし,モデル依存の繰り返し計算ではなく,微分方程式の数値解法に還元されているので,従来法に依存しない改善も期待される.また,数の計算のための関数だけでなく,数式処理のためのアルゴリズムを実現した関数(例えば,Mathematica言語の求解部分のNDSolve関数)も多々開発されている.さらには,単純な数式変換ではない,新たな等式や式変形の理論が,別の視点から,数学者らにより研究され証明されている.これらを活用した数だけの計算だけではなく,数式の計算も意識したプログラミング作法が,数理ベースプログラミングである.
今後の課題として,具体的なコンピュータ化学のライブラリを関数型プログラミングによるライブラリとして再構築し,数理ベースのプログラミングの事例を拡張することも検討している.
本研究成果は,AIMaP事業 [6]の一環によりコーディネートされた共同研究から得られたものである.