量子力学に基づくシミュレーション(量子シミュレーション)は、化学や材料化学で実験を理解、予測、主導するのにますます重要な役割を果たしている。実際量子化学は、計算機センターのCPU時間を相当使っている。化学の問題に対して量子力学が相当な予測能を持つ事は分かっているし、計算機能力が過去相当向上したため、量子化学は将来有望である。しかし計算能力が依然限られている事は、量子化学を様々な重要な問題、例えばもっと有効な医薬品や、環境問題を解決する新触媒の開発、に応用する際、依然深刻な問題である。そこでこのボトルネックを、新しい優れたアルゴリズムやコンピューターアーキテクチャの開発で、何とか解消したいというのが、この研究の目的である。
現在量子系のシミュレーションに最もよく使われているのは、密度汎関数法である。価電子ドブロイ波長よりはるかに大きい分子では、離れた部分の相関は無視できるので、近似的な独立性を使った効率良い解法(linear-scaling法)が確立されている。他方、近い部分の量子相関は、Gauss型基底関数を使い、波動関数を展開する方法が、不均一系でも効率の良い方法である。密度汎関数法を解く際必要になる、電子間反発積分や交換相関項の計算法もほぼ確立されている。つまり密度汎関数法では、理論やアルゴリズムが成熟し、これらの改良の余地は少ないため、計算機自体を工夫して高速化する強い動機がある。逆に、明らかに改良の余地ある理論を、効率良く実行するアルゴリズムや実装を考えるのは、時期尚早である。
そこで私は当時業界標準だったGaussian03プログラムを改造し、Gauss基底を使ったlinear-scaling 密度汎関数法を加速する事にした。Gaussianの密度汎関数法の計算速度や、分子の安定構造探索手法などは、改造に良く使われるGAMESSより優れている。元々遅いプログラムやアルゴリズムをGPUで加速する事には意味が無いので、我々は最良と思われる、高速多重極子法とdirect J engineを使う事にした。
利点
市場が大きいため、価格性能比が良い。GPUは全てのゲーム機やパソコンに搭載されるため、大量生産される。半導体価格は出荷個数の対数に反比例し、沢山作ると安くなる。高性能だが少数しか作られない専用計算機と大きく違う点である。
単純な並列処理に特化するため、汎用CPUより回路が単純で、同じダイ面積で高い理論演算性能を持つ。他方複雑な逐次処理では性能は低い
欠点
単精度計算は高速だが、倍精度計算は遅い。つまりかなりの計算を単精度で行える場合は高速化できる。倍精度演算器は単精度の5倍の規模が必要な事、科学技術計算の市場の狭さを考えると、倍精度で価格性能比が悪くなるのはやむを得まい。
汎用CPUとは異なり、メモリーアクセスは遅く、threadに割り当てられるリソースも僅かである。Pipeline stallを隠すため、細粒度で多数の並列処理が必要である。ハードウェアが汎用CPUとかなり異なり、別のアルゴリズムやプログラムが必要である。またGPUの計算速度(数百GLOPS)に比べて、CPU-GPU間の通信速度はとても遅い。
ホストで行う逐次処理は遅いので、アムダールの法則から、全計算の殆どをGPUで行わないと速くならない。つまり計算の核心部分は、GPU用に再度書き直す必要がある。
現在の汎用CPUでは、チップ上素子の多くがキャッシュ(高速メモリー)や制御回路に使われている。その理由は (1) CPU動作速度より主メモリー(DRAM)読み書き速度が格段に遅く、近い将来にも改善されない。命令/データの局所性を生かすためキャッシュが必要である。(2) パイプライン/並列処理で、サイクルあたりの命令発行数を増やすため、複雑な制御回路が必要であるためだ。汎用CPUでは、どの様なプログラム、例えば命令/データの局所性や並列性が少ない場合でも、高速処理できる事が期待されている(アムダールの法則)ため、現在の汎用CPUの姿は進化の宿命である。それに対してデータの局所性が極めて高く、キャッシュが殆ど不要で、並列度も極めて高い問題がある。画像処理やある種のシミュレーションがその例である。これらの問題に対しては汎用CPUは最適設計とは言い難い。
このような問題を特殊計算機で高速化した成功例として、天体運動や古典シミュレーションのためのGRAPEシリーズが有名である。これは汎用性を犠牲にして古典2体力のみ高速に計算する特殊回路である。また画像処理専用のgraphics processing unit (GPU)も、今後有望と思われる。GPUとは、全てのパソコンやゲーム機が持っている描画装置で、 CPUの3次元データをディスプレー平面に投影表示する。3次元の頂点座標に投影行列をかけ2次元座標を計算するので、多数の独立な行列積計算を高速にできるハードウエアを内蔵している。回路が単純で、またゲーム機に使われ出荷量が多いため、GPUの理論演算性能や価格性能比は汎用CPUより1桁高い。
GPUを他の用途に使う、general-purpose GPUの試みは昔から有ったが、プログラムが難しく、低精度(単精度未満)の数値計算しかできない欠点があった。しかしGPUの状況はこの10年で急速に変化した。GPUベンダーがunified shader modelという、ソフトウエアで制御する回路でGPUを構成し始めたからである。現在のGPUは全て、プログラム可能で、単精度浮動小数点数 (float, Real(4)) の計算ができる。並列度が高い問題に特化した、streaming processor (SP)と呼ばれる製品が、各社で開発/販売されている。
その先駆けとなった、2006年に発表されたGeForce 8800 GTX(図1)は、1.35 GHzで動作する、16個の独立な stream multi-processor (SM) から成る。各 SM では、8個の scalar processor が Single Instruction Multiple Data (SIMD) 動作する。つまり各クロックで、SMの命令ユニットは同じ命令を8個のscalar processorに送り、それらは違うデータに対して同じ処理を行う。SM上では複数のthreadが同時実行され、それらは同期したり、shared memoryを使いデータ交換ができる。 このアーキテクチャで高速実行できる、細粒度高並列で、通信量が少ないアルゴリズムを考える事は、プログラマーの責任である。
各種の分子や固体の違いは、結局どの原子核をどこに置くかの差しかない。 そこで、最安定状態の波動関数の代わりに電子密度を使っても、情報は全く失われない。1変数関数である電子密度は、多変数の関数の波動関数より単純である。この電子密度を直接求めるのが密度汎関数理論である。電子密度は各粒子が独立に共通の有効場中を運動する簡単な問題を解いて得られる。この理論により、金属や半導体の性質が計算機シミュレーションで予想できるようになった。現在では計算機シミュレーションの専用プログラムが販売され、大学や企業で使われている。また密度汎関数理論の開発者 Kohn はノーベル化学賞を受賞した。
密度汎関数理論の弱点
この密度汎関数理論では、電子密度を求めるために、有効場が必要である。波動関数の複雑さを、有効場の複雑さに置き換えているが、その正確な形はまだ不明である。そこで一様な電子ガスのエネルギーを使うが、分子や固体の電子密度は一様とは程遠い。そのため、分子間に働く弱い力が表現できない。また最安定以外の状態も扱えない。
密度行列汎関数理論
電子間にはクーロン反発力しか働かないため、基底状態の1次密度行列を使っても、情報は全く失われない。 従って最安定状態のエネルギーEは、その状態の1次密度行列の汎関数e[γ]である。密度行列汎関数法で必要になる有効場は、エネルギー汎関数のγに関する汎関数微分である。 この密度行列汎関数法では、密度汎関数法より、必要な有効場は単純であり、密度汎関数法の弱点を克服できる。
私達は密度行列から核配置を決める理論を発見し、これに基づいてエネルギー汎関数を構築した。この結果を幾つかの原子、分子で検証した。原子や分子の厳密な1次密度行列γを求め、近似エネルギーと真の値を比較したところ、相関エネルギーの98%近くが得られ、この方法が有効だと分かった。
量子力学の授業で習うように、基底(つまり 最安定 )状態の波動関数は、エネルギー期待値を最小化して得られる。そして エネルギー期待値は、たった4変数の2次密度行列から計算できる。だから基底状態の波動関数は、実は求めなくても良いのではないか、という研究が1960年代からされてきた。
しかしここには落とし穴がある。電子の波動関数には、2個の粒子の交換で符号が変わる、反対称的なものだけ許される。 そこで許される密度行列もある条件を満たすはずである。
密度行列は波動関数Ψの変数を次式のように幾つか積分するが、 なくなった変数間の反対称性をどう課すのか? 数学者の長年の努力にもかかわらず、この表現性問題は未解決である。 そのため波動関数の代わりに密度行列を使うことは出来なかった。
前世紀末(まだ青年だった)私と、私の先生(中辻博教授)は、物理学で使われている多体摂動論を使って 近似的な表現性条件を課す事により、始めて波動関数を使わずに密度行列を求めた。 密度行列は多粒子グリーン関数の特殊な場合であり、ファインマン図形を使い解析できる。この方法により表現性問題を完全に解決しなくても、密度行列に基づく量子力学が作れることが分かった。 またこの理論を有限温度に一般化できた。
またMazziotti博士や中田真秀博士は、 今世紀初頭までに知られていた表現性条件を課して、2次密度行列を変数として、分子などの変分計算を行った。その結果は他の多体理論と同程度に良く、工夫次第で使えるかも、という希望が感じられた。その後も彼らを含む熱心な信奉者により、研究が続けられている。
全ての物質は量子力学に従うため、全ての情報は波動関数に含まれる。しかもこの世界には2体力しか存在しないため、波動関数より簡単な密度行列を使っても、情報は全く失われない。そこで波動関数を密度行列で置き換えた、量子力学の理論を構築する事が目的である。要するに、シュレーディンガー方程式と等価、かつ使い易い理論を作りたい、という野心的テーマである。
しかしそれは可能なのだろうか。電子は量子力学という法則に従って運動し、全ての情報は波動関数Ψに含まれる。それは次の2つの条件を満たす。
粒子が互いに力を及ぼしながら運動する場合、上の方程式から、全ての情報を担う波動関数Ψを求めるのは難しい(簡単だったらかなりの物理学者が失業するだろう)。 量子力学の特殊な場合である古典力学でさえも、この力はカオス等の複雑な現象を生み出す。これまで変分法、摂動法を始め、多くの方法が開発されたが、決定的なものは無い。
ところで、この世界は、3体力が存在しない特殊な世界である。原子核や電子の間にはクーロン力という特殊な2体力が働いている。2体力では、 粒子1が粒子2と3から受ける力が、1が2から受ける力と、1が3から受ける力の和 となる。3個の粒子があって始めて生じる3体力は存在しない。 これはどんな簡単化をもたらすだろうか? 波動関数を決める波動方程式は3体力があっても同じ形で、この特殊性を使っていない事は明らかである。
電子は全て同じ質量と電荷を持ち、区別できない事、また2体力しか存在しない事から、 知り得る全ての情報は、波動関数より簡単な、密度行列Γ(ガンマ)という関数で表現できる。 これを使っても、情報は全く失われない。
それは次の2つの条件を満たす。
密度行列を決めるこの条件は、波動関数を決める条件と全く等価である。2体力しか存在しないこの世界では、波動関数より簡単な密度行列を使っても、情報は全く失われない。ここにつけ込む余地がありそうだ。
新しい情報処理システム
現代の情報社会と情報処理システムの進歩は、半導体の微細加工技術の進歩に支えられています。加工技術の進歩により、半導体中の基本素子が小さくなり、 素子数も多くなり、 動作が速く、性能も良くなります。例えばスマートフォン用の半導体は、10億分の7mつまり水分子50個分の長さの単位で、ケイ素板が加工されています。しかし加工技術の進歩による高性能化は、二十一世紀中に限界に達すると言われています。素子が小さくなると、量子力学に由来する電子の波動性による雑音で、誤動作するためです。そこでこの量子力学を積極的に使った、新しい原理の情報処理システムを作る必要があります。
新しい動作原理の基本素子として、単電子トランジスタ(図c)が研究されています。今迄の素子は数万個の電子を使って一動作しますが、これは一個の電子でも動作します。配線と点状電極はつながっていないので、電子にとってはこの間に障壁が有り、直観では二つの配線の間に電気は流れないと思われます。しかし配線から電極に飛び移るだけのエネルギーを持たない電子でも、量子力学による波動性の効果で、障壁を時々すり抜ける事が出来ます。これは裏口入学のように珍しい現象ではなく、どの電子もできる普遍的な能力です。電子は負の電気を帯び反発し合うので、電極に負の電気が少ない時だけ移る事ができ、多くなるともう一つの電極へ逃げたがります。そこでゲートにかかる電圧を変えると、それに応じて電極に正や負の電気が生じ、電子を一個ずつ左から右へ移すことができます。これを使い今迄のトランジスタと同じ働きをさせたり、電極中の電子の数を使って、記憶をさせる事もできます。
トンネル接合による単電子移動は、生物が光合成の反応中心等で既に利用しています。そこでは電極は一つの分子でできています。人間の作る情報処理素子も、最終的に個々の分子で作られるかもしれません。例えば図dの分子は入力に電子が入ると、図eの分子は光があたると構造が変わり、配線間に電気が流れなくなると言われています。分子素子と呼ばれるこれら基本素子は、現在の半導体素子の百分の一の大きさで、同じ体積に百万倍も多く入ります。難しい点は色々ありますが、我々の操作できる最小単位は原子なので、これらがもし実現できれば、究極の集積技術と呼べるでしょう。
理論化学、物性物理学は、全ての物を支配する根本的な法則(量子力学)に基づいて、物の性質を理解しようという基礎学問として始まりましたが、現在では多方面へ応用されつつあります。科学者の仕事は第一に真理の追究であり、その結果は学問だけでなく応用も進展させる、という科学者の信念が実証されるのを見るのは嬉しい事です。1998年と2013年のノーベル化学賞は著名な理論化学者に与えられましたが、この分野の重要性が増しつつある証でしょう。理論化学は多くの可能性を秘めています。
図c: 単電子トランジスタの構造。電子は配線-点状電極-配線間で流れるが、これはゲートの電圧で制御できる。電子は量子力学効果により、本当なら通れないトンネル接合をすり抜ける。
図d: 提案された分子素子の 構造。電子は=-=-の結合に沿って配線間を流れるが、これは入力に注入した電子で制御できる。素子は現在の百分の一程度の大きさになる。
図e: 分子素子(光スイッチ)の 構造。電子は=-=-の結合に沿って配線間を流れるが、光があたると中央部の構造が変わり、電子は流れなくなる。
知的な材料設計
人と技術以外に資源を持たない日本は、高付加価値の製品を効率よく、環境に負担をかけずに作ることを望まれています。今迄は望みの機能を持つ物を、莫大なエネルギーと時間を使い、試行錯誤で開発してきました。しかし私達は現在物の性質を支配する法則を知っており、試行錯誤することなく的確な設計が出来るようになりつつあります。医農薬と合金の開発例を見てみましょう。
一つの医農薬の開発には、十年の年月と百億円の研究費が必要で、二万個の化合物の薬効を調べる必要があります。以前は過去の経験に基づいた、試行錯誤の繰り返しにより行われましたが、開発の成否が企業の死命を制するため、現在では全企業が計算機を用いた薬物設計システムを持ち、開発の合理化を行っています。
口から投与された薬は胃腸から吸収、輸送され、目的地で薬物受容体という蛋白質に結合し効果を生じ、その後分解排泄されます。薬はちょうど鍵が鍵穴に入るように受容体に結合するので、受容体の構造が分かれば薬は設計できますが、殆どの受容体の構造は分かっていません。幸い受容体の構造が分からなくても、薬は設計できます。薬物設計には薬効を持つ分子骨格の設計と、骨格上の原子集団(置換基)の選択、最適化の二段階があり、二段目の選択、最適化の段階では構造活性相関という方法が広く使われています。例えば偶然発見された抗うつ作用を持つ分子(図a)の置換基を変えた分子を作り、睡眠薬とともにマウスに与え、眠らずにいる量を調べると、物理的な性質である置換基の疎水性や電子吸引性を示す値と、簡単な一次関係となりました。また抗菌作用を持つ分子(図b)の置換基を変え活性を調べると、置換基の疎水性、大きさ、電子吸引性を示す値と、簡単な一次関係となりました。この結果最大の活性を持つ分子の構造が決まりました。
この様に医農薬の活性は、分子の物理化学的性質により支配されていて、薬の吸収輸送や作用機構が未知でも設計は可能です。現在では理論を用いて、受容体の構造から薬を設計したり、骨格自体の設計や、分子の構造から物理化学的性質を予想し、薬効の予想等が研究されています。現在では、ロボットが実験した大量のデータを、機械学習で学習する事なども、試みられています。
一つ一つの金属は目立った点は無いのに、混ぜ合わせると素晴らしい機能を示す事が有ります。例えばさびやすい鉄に、少量のニッケルとクロムという金属を加えると、さびないステンレスが出来ます。この様な合金は普通数種から数十種類の金属を混ぜて作られますが、その組成も以前は試行錯誤で決めていました。現在では種々の条件で安定な合金の組成を予想でき、これを使ってニッケル耐熱合金や、チタン合金が設計され、ジェットエンジンや工業プラントで使われています。
図a: 偶然発見された抗うつ作用を持つ分子。RやXは置換基と呼ばれる、原子が決まった方法で結合した集団。置換基により抗うつ作用が変わるので、理論(構造活性相関法)で最適なものを決める。
図b: 抗菌作用を持つ分子。置換基Xの位置、数、種類により抗菌作用が変わる。
環境問題
今私達は地球温暖化、環境ホルモン等の有害物質、ごみ問題等多くの環境問題に直面しています。これは人々が利便さのみを追求し、科学技術を盲目的に利用した結果生じたものです。化学は新技術で、人類が直面している地球規模の問題を、解決できると期待されています。
二酸化炭素問題は、石油、石炭等の化石燃料を使う結果生じるエネルギー問題であり、太陽電池や人工光合成等の太陽エネルギーの有効利用や、新型電池による省エネルギー等が解決策として期待できます。これらは光、電気、化学エネルギーの相互変換を如何に効率よく行うかが最重要です。これらの過程では電子が主役となり進むため、その動きを正確に理解すれば、より良い変換法が分かるはずです。理論と計算機の発達により、この相互変換の過程もかなり良く分かってきました。
太陽電池はけい素からできていて、光を吸収して電気に変えます。けい素中の電子が光を吸収すると、そのエネルギーで今迄いた安定な場所から、不安定な場所に移ります。元の位置は空席になり、この空席と移った電子はそれぞれ正、負極に移動して電気になります。この全く逆を行うのが、携帯機器によく内蔵されている発光ダイオードです。これらが赤や緑等の決まった色で光るのも理由があります(固体物理)。最近良く見る抗菌タイルは、太陽電池と良く似た原理で汚れを分解します。タイルの表面に塗られた二酸化チタンが紫外線を吸収して、そのエネルギーをもらった電子と空孔は表面に移動して、酸素や水にエネルギーを渡し、この酸素や水が汚れを分解します。二酸化チタンは有害物質や重油も分解できます。
代替エネルギーが開発されるまで、石油は最重要のエネルギー源で、また重要な原料ですが、その残存量が心配されています。水分子の数倍の細孔が沢山空いたゼオライトという鉱物はアルコールをガソリンに変える(触媒)作用があります。そのアルコールを石炭、天然ガス、植物や、炭酸ガスと廃熱から作る研究、廃プラスチックから油を作る研究もされています。
この様に原料を望みの物に作り替えるには、原料の原子の位置を並べ直せば良いのですが、触媒はこれを行ってくれます。望みの物が作れるか否かは、触媒の良い悪いにかかっています。体の中の物の変換は、蛋白質でできた触媒(酵素)が行っています。触媒は微妙なもので、例えば金は不活性で触媒として働かないが、白金上に原子一層だけつけると働いたり、同じ白金でも結晶の切り方が違えば、働いたり働かなかったりします。なぜこんな差が起きるかは、触媒が原料の原子を組み替える時の、電子の働き方に還元でき、理論化学(量子化学)から分かります。またより良い触媒の設計もできます。
現在世界中で多くの人が餓死していますが、化学肥料や農薬は食糧問題を解決するための必要悪でしょう。蛋白質を作るには、空気中の窒素ガスを生物が使える肥料に変える必要があります。これは豆科植物と化学肥料で行われていますが、植物だけでは必要量の窒素を賄えません。出来る限り無害の肥料、農薬が必要です。理論化学はここでも重要な役割を担っています。
我々も含めて地球上にある全ての物が、電子という負の電気を帯びた軽い粒子と、原子核という正の電気を帯びた重い粒子からできています。電子は一種類、原子核は百種類程度しか無いのに、それらが集まると硬かったり、甘かったりと色々な性質を持つ物ができます。それはなぜか、ミクロな立場から物の性質を理解するのが、理論化学や物性物理学の仕事です。
これら物の性質はそれを作っている原子核と電子の挙動が分かれば理解でき、多くの場合原子核より電子が主役です。つまり物の性質を理解する事は、その物に含まれる電子のあり方を理解する事です。同じ種類の電気は避けあい、違う種類の電気は引き合うという具合に、これらの構成粒子の従う法則は既に分かっていますが、沢山の粒子がお互いに影響し合っているので(多体問題)、集まった時に何が起こるかよく分かっていませんでした。しかし優れた科学者と計算機の発達のおかげで、その様子が粒子の従う法則(量子力学)だけから予想できるようになってきました。
この様な学問はどんな役に立つのでしょうか。一つには物の仕組みを唯一つの法則から理解する事で、私達の知的好奇心を満たしてくれます。二つ目には、これらの理論は私達が直接調べられない物の情報を教えてくれます。例えば木星や土星の中心では、三百万気圧の高圧力のせいで、水素ガスが金属になっていますが、これはどんな物か、また地球の地下三百から二千九百キロメートルにあるマントルが何から出来ているか、遠い星から来る光だけから、その星にどんな物があるかは理論が教えてくれます。しかしこれらと同じくらい重要なのは、この様な学問が私達の直面している、環境や科学技術の問題の解決に必要だろう事です。