理系の数値計算といえば、C言語やFORTRAN、Javaなどを用いた計算をイメージするかもしれません。
実際、シミュレーションではC言語やFORTRANなどで計算していることが多いのです。
しかしながらこれらの言語は、計算速度は速い物の、コードを書いただけでは使えず、機械が理解できる言語に変換するコンパイルという作業が発生します。
この準備が少々めんどうな面もあります。
どこかでミスをしたのが発覚した場合、書いたプログラムを修正して、またコンパイルして、実行、出力という手順を踏まなければなりません。
また、出力される結果は数値のデータになるので、この出力データを別途加工する必要がありました。
すなわち、結果を見るまでにいくつかのステップに分断されているという問題がありました。
近年、プログラムを書いたらすぐに実行でき、しかも科学技術計算向けの豊富なライブラリがある言語、Pythonが注目されています。
大学の講義で学習する機会は少ないかもしれませんが、研究室で使用したり、科学技術でPythonを利用するために、大学生・大学院生向けの講習会を開いたりしているようです。
ここでは、Pythonに関する参考書を紹介します。
Pythonの基本を学ぶための参考書
自分でコードを書いて実行するのが、プログラムを学ぶための最も近道な方法です。
pythonは書いたらすぐに実行できるのですが、立派なプログラム言語の一つです。
プログラム言語を学ぶ上で必要な知識は、そのプログラム言語でどのように書いたら何が出力されるのかを知るだけではありません。
プログラムを書くときに必要なアルゴリズムやデータ構造だけでなく、シェル、正規表現、パッケージ管理、バージョン管理(どのようにファイルを管理するか)といった研究を行う上で必要なスキルを一通り学べるのが特徴の本です。
入門書として、バランスよくいろいろな要素が入っているので、初めて学習するときに読みながら、プログラムを学ぶのに適しています。
科学技術分野でPythonを使う人向けの基本の参考書
科学技術計算で使われる「Numpy/SciPy/Matplotlib/pandas」等もコンパクトな例とともに紹介されています。
初学者向けのキーワードが出ていますが、Pythonの基本はわかっている前提で解説が行われています。
一度Pythonの基本を学んだ後、「Python入門 –開発基礎、必須ライブラリ、高速化」の本を読むことで、どのように科学技術計算をしたらいいかの基礎を学ぶことができます。
実際にプログラムで動かしながら数値計算を学びたい人向けの書籍
似たようなタイトルに「Cによる数値計算とシミュレーション」という書籍がありますが、この「Pythonによる数値計算とシミュレーション」は、その姉妹本です。
数値計算やシミュレーションのアルゴリズム自体は、C言語でもPythonでも同じです。
ただ、Pythonは、機能やライブラリーが豊富であることから、科学計算分野でも浸透しつつあります。
研究員募集の中には、Pythonを使えたほうが有利な募集も出てきます。
将来、研究の道に進む際になって初めて学ぶよりも、学習する時間のある大学学部生のうちに学習しておいた方が早いスタートが切れると思います。
その際には、実際に動かしながら学習していくと覚えやすくなります。
内容も、数値計算の一通りの内容が掲載されているだけでなく、サンプルプログラムの公式サイトからダウンロードすることができるので、Pythonを動かせる環境であれば、すぐに動かすことができます。
Pythonの数値計算とはどんなものかをすぐに知りたいようであれば、「Pythonによる数値計算のシミュレーション」で実践してみてはいかがでしょうか?
データ解析時に使用するJupyter Notebookの使い方
データ解析の時に使うJupyter NotebookをPythonと合わせて使うときの参考書です。
pythonを用いてデータ分析をする上で、知っておいてほしいアウトプットに関する知識一般をまとめています。
特に代表的な可視化ライブラリ:matplotlib、Bokehの操作方法について詳しく解説してあります。
また、フルカラーになっているので、どのようなグラフの出力結果になるかが一目でわかるようになっています。
ネットでも代表的な出力方法についての例はヒットしますが、必ずしも自分の出力したいと思う例が出てくるとは限りません。
「PythonユーザのためのJupyter[実践]入門」を辞書的に使う形で手元に置いておくと、便利かと思います。