科学技術計算のためのPython入門
――開発基礎,必須ライブラリ,高速化

この本の概要

科学技術計算向けの,Pythonの実践的な入門書。理工系の学部や研究室等でもPython採用実績が増えてきています。本書では,実験やシミュレーション等で役立つPythonによる開発の基本を徹底解説。冒頭でロケットシミュレータの作成場面を想定し,コーディングの基礎からデバッグやテストまで,いつ,何をするか,具体的なフローを平易に紹介します。押さえておきたいライブラリであるNumpy/SciPy/Matplotlib/pandas等もコンパクトな例と共に紹介。広く初学者の方々へ,言語の基本から実践テクニックまで一挙にわかる1冊です。

こんな方におすすめ

本書の想定読者は,これから科学技術計算やエンジニアリングにPythonを使い始めてみようと考えている方々で,たとえば以下のような方々です。

  • Pythonがどのような言語で何ができるのかを学びたい方
  • Pythonで科学技術計算を行ってみたい方
  • Pythonによるハイパフォーマンスプログラミングの基礎知識を学びたい方
  • Pythonの文法に加えて,実際的なプログラム構築法を学びたい方

本書では,言語の基本文法の解説を行うだけでなく,効率的に科学技術計算ができるスキルを身に付けていけるように構成しています。単に言語仕様を学ぶだけでなく,効率的なプログラム構築ができるようになりたいと考えている方々に最適です。

本書の構成

本書では,Pythonという言語の仕様や基本事項に加えて,研究や開発において,どのようにPythonを用いていくかに着目しながら解説を進めます。おもに理工系の学生やエンジニアの方々が,Pythonのエコシステムを活用しながら,研究や開発に効率的に取り組むための助けとなるように全体を構成しました。各章は,以下のような内容となっています。

第1章「科学技術計算とPython」では,Pythonという言語の特徴とプログラミング言語としての位置付けを,その利用状況に関する動向と共に解説します。なぜ今,Pythonの利用をお勧めするのか,そのワケを示します。

第2章「ゼロからのシミュレータ開発」では,ゼロからシミュレーションプログラムを構築し,そのプログラムを改善していく一連の作業を見ていきます。この工程を見ることで,効率的なプログラム構築に必要となる手順の全体像を学ぶことができます。

第3章「IPythonとSpyder」では,Pythonのインタラクティブシェルのスタンダードと言えるIPythonと,統合開発環境のSpyderについて説明します。これらの機能を使いこなすことで,みなさんの生産性は飛躍的に向上するでしょう。

第4章「Pythonの基礎」では,Pythonをはじめて学ぶ方のために,言語の基本ルールを説明します。さらに,第5章「クラスとオブジェクトの基礎」で,Pythonのオブジェクト指向について解説し,第6章「入力と出力」では,データの入出力方法について,全体像が掴めるように概説します。これらの3つの章を学ぶことで,Pythonによるプログラミングをスタートさせることができるようになるでしょう。

第7章から第10章では,科学技術計算に必須のライブラリである「NumPy」「SciPy」「Matplotlib」「pandas」について,その機能の概要を説明します。これらの最重要ライブラリを使いこなすことができれば,実現できる処理の幅がぐっと広がります。

第11章「プログラムの高速化」と第12章「プログラム高速化の応用例」では,プログラム高速化のための指針を示し,具体的なツールの利用例を紹介します。これらは,科学技術計算におけるPython上級プログラマへのステップアップにつながるでしょう。

この書籍に関連する記事があります!

Pythonでプログラミングを始めよう
「もしコンピュータ言語をひとつも知らないのなら,まずPythonを学ぶことを勧める」。

著者プロフィール

中久喜健司(なかくきけんじ)

東京大学工学部航空宇宙工学科および同大学院を2000年に卒業後,三菱電機(株)に入社。空力/航法/制御系設計のエンジニアとしてさまざまな業務に従事し,今に至る。GPS(米国の衛星測位システム)の利用技術などに詳しい。測位航法学会正会員。研究/開発業務でC言語,MATLAB,Perlなどのプログラミング言語を利用しているが,Pythonのエコシステムの充実に伴い,Pythonの業務への利用/活用を進めている。