見出し画像

書評:Pythonで動かして始める量子化学計算


読んだ本

野田秀俊 著、Pythonで動かして始める量子化学計算、初版第1刷、コロナ社、2014年、224頁.

分野

量子化学計算、量子化学、DFT、プログラミング

対象

初めてPsi4で量子化学計算をやりたい人

評価

難易度:易 ★★★☆☆ 難
文体:易 ★★☆☆☆ 難
内容:悪 ★★☆☆☆ 良
総合評価:★★☆☆☆

あまり親切ではなく、結局WEBで調べざるを得ない

内容紹介

【読者対象】
本書は「量子化学計算を始めてみたいと思った初心者」を対象に,量子化学計算に関する知識ゼロの状態から最初の一歩を踏み出すガイドブックとなるように執筆しました。例えば以下のような方々が対象です。
・ 以前に量子化学計算にトライしてみたものの,よくわからずに挫折してしまった方
・ 量子化学は何もわからないけれど,とにかく計算にトライしてみたい方
・ 教科書や講義で学んだ事項を量子化学計算で確認してみたい方
・ 高価な商用ソフトウェアには手が出せないけれど,自身の仕事に計算を取り入れてみたい方
・ なんとなくで量子化学計算をしてしまっている方

【書籍の特徴】
本書は無料で利用できるソフトウェアを利用し,簡単な計算を実際に体験しながら少しずつステップアップできるように構成されています。複雑な量子化学計算の数式は全て省略し,ソフトウェアのユーザーが必要な計算手続きを理解できるように心がけました。
具体的にはプログラミング言語Pythonとオープンソースの量子化学計算用ライブラリPsi4を用いて計算を行います。Psi4は高価な商用ソフトウェアに匹敵する機能を有しており,実際に最先端の研究現場でも利用されています。本書ではPsi4を用いた量子化学計算により,計算の手順や結果の解釈の仕方などを学んでいきます。
実際に手を動かしながら量子化学計算を学ぶことで,計算ソフトウェアに依存しない普遍的な概念が身につくように構成されています。本書の内容を習得した後には,自分が興味ある分子の計算を行い,より高度な書籍を読むための力が身についているはずです。

【各章について】
本書は第5章までで量子化学計算に必要な事項を習得していきます。第6章以降は分子構造の最適化,分子軌道の可視化,励起状態の計算など,さまざまなトピックについて必要な計算手法を学んでいく構成になっています。
初心者の方は第1章から順番に読み進めることをおすすめします。他のソフトウェアを用いた量子化学計算の経験がある方は,まずは第5章までを読んでPsi4特有のルールなどを掴み,その後興味のある章を読むことですぐに目的の計算が実行できるようになるはずです。

【著者からのメッセージ】
ハードウェアの発達により,個人のノートPC上でも高度な計算が簡単に実行できるようになってきました。さらに使いやすい汎用量子化学計算ソフトウェアが普及したこともあり,実験化学者が計算を行うことも随分と一般的になりました。本書は難しい数式を排除し,オープンソースの量子化学計算用ライブラリPsi4を用いて,計算ソフトウェアのユーザーに寄り添ったアプローチで量子化学計算を学んでいきます。本書が,これまで「計算化学は敷居が高い」と感じていた方々のお役に立てれば幸いです。

【キーワード】
量子化学計算,計算化学,Python,Psi4
(引用:Pythonで動かして始める量子化学計算 | コロナ社 (coronasha.co.jp)

感想

 以下の記事で紹介していたうちの一冊を手に入れたので紹介したいと思う。

 私はもともとGaussianやGAMESS, ORCAで計算を行っていたものの、Psi4には手をだしていなかった。しかし、Psi4ではSAPT法というエネルギー分割法が使用できるため、それだけのために使いたいと思ってはいた。ただ、今まであまりPythonにふれてこなかったので、少し躊躇していた。そんな折に、日本語かつ初心者用のPsi4解説本が出版された。特に、当書の目次を見てみると、Pythonの環境の構築から始まり、最後にはSAPTの解説までされているようで、まさに私が求めているものだった。
 当書の3章からPythonの環境構築の説明が始まるのだが、さっそくここでつまずいた。環境構築に関しては以下のように書かれている。

Pythonの環境構築に関しては、すでにさまざまな書籍が刊行されており、またWeb上にも日本語で書かれた情報が豊富に存在します。本節では簡単に示すに留めますので、ご自身で適宜補完してください。

当書13頁より

著者のいいたいことは十分にわかる。結局、構築法は読者の環境次第であり、それをいちいち書いていたら頁数は膨大になってしまうだろう。ただ、少しがっかりしてしまったのは否めない。また、当書ではGoogle Colaboratoryなどの使用を推奨している。どうやら無料で計算資源が使えるらしい。確かに、最初に簡単にやってみる分にはいいのかもしれない。しかし、どうせ計算力はたかが知れているだろう。もともと計算はやっており、計算資源はもっていたので、ローカル上で計算したかったのだが、あまりその説明がなされていなかった。なので、ここは自力で調べるしかない。次にPsi4のインストールをおこなったのだが、ここでつまずいた。以下のようにコードを打ち込んでも、よくわからないエラーが帰ってきてしまった。

(base) E:\Calc\anaconda3>conda install -c psi4 psi4 python=3.11
Channels:
 - psi4
 - defaults
Platform: win-64
Collecting package metadata (repodata.json): done
Solving environment: failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - nothing provides gau2grid needed by psi4-1.4+9485035-py38_0

Could not solve for environment specs
The following packages are incompatible
└─ psi4 is not installable because there are no viable options
   ├─ psi4 [1.4+9485035|1.4.1+cd00f19|...|1.9.1+f53cdd7] would require
   │  └─ gau2grid, which does not exist (perhaps a missing channel);
   └─ psi4 1.7+6ce35a5 would require
      └─ dftd3-python, which does not exist (perhaps a missing channel).

結局、原因もよくわからないのだが、ネットで調べた以下のコマンドを使うとインストールすることができた。

(base) E:\Calc\anaconda3>conda install psi4 python=3.11 -c conda-forge

ようやくSci4が使えるようになったので、著者が推しているPsiAPI形式で計算しようとしたのだが、Jupyterノートブックを使ってコードを実行せよという不親切な説明のみで工程がどんどん進んでしまい、私には説明が不十分に感じた。著者が主流ではないといっていたPsithon形式はわかりやすいものの、その後はPsiAPI形式で説明が続くので、読者はPsiAPI形式を頑張って習得するしかない。
 結局、私が目的としていたSAPT法もネットで調べて使えるようになったため、当書は特に役に立たなかった。私が率直に関した読者層を以下に述べる

  • 最低限のPython関連の知識を有していること

  • あくまで練習としてで、高コストの計算をぶん回さない人

  • わからなければ根気強くネットで調べられる人

量子化学、計算化学に関しては、本当に初心者でもついてこれる内容になっていたと思う。なので、Pythonガチ初心者にはおすすめできないが、量子化学計算初心者にはおすすめできる一冊である。ただ、著者が運営しているサイトのほうが情報量は多く感じ、個人的には本を買う必要はあまり感じなかった。Sci4の日本語成書はおそらく当書のみであるので、そういう意味では希少性が高い。

購入

発売したばかりで在庫の問題は特にない。

参考サイト

  1. Pythonで動かして始める量子化学計算 | コロナ社 (coronasha.co.jp)

  2. 量子化学計算の入門書を執筆しました | 化学の新しいカタチ (future-chem.com)

この記事が気に入ったらサポートをしてみませんか?