数値計算を学ぼう
数値計算は、工学、科学、経済学、そして日常の問題解決において不可欠なツールで、学問以外でもビジネスでも使う人が増えています。数値計算の基本概念から始めて、より高度なテクニックに進んでいく形式を取ります。初心者の方々には、数値計算の基礎とその重要性を理解し、使いこなせるようになるための足がかりとなる入門書から進めていきましょう。その後、実際にプログラミングで数値計算の基礎原理、重要なアルゴリズム、ソフトウェアツールの使用方法、そして現実世界の問題に数値計算を適用する方法について学んでいきましょう。
数値計算のプログラミング言語
現状Pythonが数値計算の利用で良く使われています。また新しいJuliaのプログラミングも今後ぜひ学びたい分野です。Matlabも数値計算では使われますが、有料なので、手始めに実践してみたい場合はPythonでまずはやってみましょう。書籍はFortran含めて記載しておりますのでその辺りも違いなどを確認してみましょう。
- Python:Pythonは数値計算において非常に人気があります。その理由の一つは、強力なライブラリ(NumPy, SciPy, Pandasなど)が豊富に用意されていることです。また、コードが読みやすく書きやすいため、科学技術計算の分野でも広く採用されています。
- Julia:Juliaは比較的新しいプログラミング言語ですが、高性能な数値計算のために設計されており、特に科学計算の分野で注目を集めています。Pythonのような使いやすさと、Cのような高速な実行速度を兼ね備えています。
- MATLAB:MATLABは工学や科学分野で広く使われている数値計算のための高水準プログラミング言語および開発環境です。ベクトルや行列の操作、データの可視化、アルゴリズムの開発などに特化しています。
- C++:C++は高速な実行速度を必要とする数値計算の分野で重宝されています。大規模なシミュレーションや、リアルタイム処理を必要とするアプリケーションでは、C++の効率の良さが生かされます。
- Fortran:Fortranは古くからあるプログラミング言語で、特に科学技術計算の分野での使用に適しています。高速な行列演算や数値計算のルーチンに優れており、現在でも多くの科学計算アプリケーションで使用されています。
数値計算を活かそう
数値計算はビジネスの様々な分野で重要な役割を果たします。以下は数値計算が特に役立つ職業の例です。
- データサイエンティスト: データを分析し、予測モデルを構築するために数値計算を用います。これには統計的手法や機械学習アルゴリズムが含まれます。
- 金融アナリスト: 株価の動向、投資リスクの評価、ポートフォリオの最適化などを行う際に数値計算を活用します。
- エンジニア(特に構造、機械、電気分野): 物理的な設計やシミュレーションに数値計算を使用し、製品の性能や安全性を評価します。
- 経営コンサルタント: ビジネス上の問題を解決するために、数値分析を用いて市場のトレンドを理解したり、経営戦略を立案します。
- オペレーションズリサーチアナリスト: 効率的な物流、生産計画、在庫管理などを実現するために数値計算を用います。
- 市場調査アナリスト: 市場データを分析し、消費者の傾向や市場の機会を特定するために数値計算を利用します。
- 保険数理士(アクチュアリー): 保険料の設定やリスク管理に関して、確率論や統計学に基づく数値計算を行います。
- ビジネスアナリスト: 企業の業績を分析し、ビジネス上の意思決定を支援するために数値計算を使用します。
これらの職業では、数値計算を通じて複雑なデータを解析し、予測を立てたり、戦略的な決定を下すことが求められます。数値計算のスキルは、データを理解し、それをビジネス上の意思決定に役立てるためにも使われます。
数値計算の本ランキング
1 |
数値計算法(森北出版) |
2 | 数値計算の常識 |
3 | わかりやすい数値計算入門 |
4 | 数値計算の誤差と精度 |
5 | 数値計算入門 (Computer Science Library 17) |
6 | 数値計算 (理工系の数学入門コース) |
7 | 理工系の数理 数値計算 |
8 | 数値計算 (サイエンスライブラリ理工系の数学 15) |
9 | 数値計算 (理工系の基礎数学 8) |
10 | 数値電界計算の基礎と応用 (理工学講座) |
11 | Python数値計算プログラミング |
12 | Pythonによる数値計算入門 (実践Pythonライブラリ) |
13 | Pythonによる数値計算法の基礎 |
14 | Pythonによる数値計算とシミュレーション |
15 | 1週間で学べる! Julia数値計算プログラミング |
16 | Juliaによる数値計算とシミュレーション |
17 | 機械システム学のための数値計算法-MATLAB版- |
18 | MATLAB/Scilabで理解する数値計算 |
19 | 今日から使える! MATLAB 数値計算から古典制御まで |
20 | 有理算術演算: 高精度数値計算のためのアルゴリズムとプログラミング |
21 | Cによる理工系解析の数値計算 ―基礎からの展開 |
22 | C & Fortran 演習で学ぶ数値計算 |
23 | ニューメリカルレシピ・イン・シー 日本語版―C言語による数値計算のレシピ |
24 | 数値計算のためのFortran90/95プログラミング入門 |
25 | 数値計算のためのFortran90/95プログラミング入門アンサーブック |
書籍概要
数値計算法
『数値計算法』は三井田惇郎氏と須田宇宙氏によって執筆された、幅広い数値計算手法を取り上げた教科書です。この本は多くの学校で愛用されてきた定番テキストの改訂版であり、特に大学生や大学院生が利用対象です。
本書は、方程式の求解、連立方程式、微分方程式、フーリエ変換、モンテカルロ法などのトピックをコンパクトかつわかりやすく解説しています。理論的な説明とともに、フローチャートとC言語のプログラムを用いた実践的な説明が含まれており、読者が実際に手を動かしながら学べるように工夫されています。
記述やレイアウトが一新され、より読みやすく、理解しやすい構造になっています。全体として、数値計算の基礎から応用までを網羅した実践的なテキストであり、学術的な理解と実践的なスキルの双方を養うことができます。
数値計算の常識
『数値計算の常識』は、伊理正夫氏と藤野和建氏によって著された本で、一般のテキストには書かれていない数値計算上の「落し穴」を集め、その解決法を詳しく解説しています。本書は、数値計算の基本的なテクニックや注意点について深く掘り下げており、以下のような内容が含まれています。
- 数の表現と誤差:コンピュータにおける数値の表現方法や、計算における誤差の発生原因とその対処方法について解説。
- 桁落ちに注意:数値計算における桁落ちの問題とその回避方法。
- 逆行列の問題点と代替手法:逆行列の計算は数値的に不安定なことが多く、それを避けるための方法について解説。
- 単位と次元:物理量の計算において単位と次元の一貫性が重要であること、およびそのチェック方法。
- 数値積分と数値微分:数値積分法や数値微分法における基本的な手法と、誤差を抑えるためのテクニック。
- Newton法やその他の数値解法:方程式の数値解を求めるための様々な方法とその特徴。
- 常微分方程式や偏微分方程式の数値解法:時間発展するシステムや空間に依存する問題を数値的に解く方法。
- 補間法や近似法:データポイントから関数の形を推定する方法や、関数をより単純な形で近似する方法。
- 特定の数値解法の詳細な解説:特定の問題に対する数値解法の詳細な説明と、それらをいつどのように適用するかについての指南。
本書は174ページにわたっており、数値計算に関する幅広いトピックを網羅し、数値計算を行う際に直面する様々な挑戦や、それらを乗り越えるための知識を提供することを目的としています。
わかりやすい数値計算入門
『わかりやすい数値計算入門』は、栗原正仁氏によって著された数値計算に関する教科書です。この本は、高校2年生までの数学知識で理解可能な内容とされており、数値計算の基礎から応用に至るまでを網羅しています。具体的には、非線形方程式、数値積分、常微分方程式などのトピックを例題を交えながら解説しています。各章の末尾には演習問題も掲載されており、学習項目の重要度も明記されています。全体として、数値計算を学ぶ上で非常に役立つ参考書とされています。
数値計算の誤差と精度
菊地文雄氏の『数値計算の誤差と精度』は、数値計算における誤差とその精度に関する包括的な概観を提供する書籍です。本書は前半部で基本的な数値計算法の概要を説明し、複雑な数学的証明は省略しながらも、計算法の構築に役立つアイデアや原理を示しています。また、誤差の全体的な挙動を理解しやすいように、グラフィックと数値を用いた簡単な計算例も提示されています。後半部では、差分法や有限要素法、2次元弾性体の線形問題に対する三角形1次有限要素法など、実用に近い数値計算法についても入門的な解説が行われています。この書籍を通じて、読者は数値計算法に関する基礎知識を身につけ、数値計算の信頼性を確認する力や誤差に対処する力を養うことができるようになります。
数値計算入門 (Computer Science Library 17)
『数値計算入門』(Computer Science Library 17)は、河村哲也氏(お茶の水女子大学名誉教授)によって著された数値計算に関する入門書です。本書は、実際に使われている多くの計算法の中から基本となるものや頻繁に使われるものを選び、わかりやすく解説しています。これは新訂版であり、以前の版よりもさらに理解しやすいように一部が書き改められています。内容の詳細については、以下のように構成されています:
第1章 数値計算の基礎
– アルゴリズム
– 漸化式
– 丸め誤差と打ち切り誤差
– 桁落ちと情報落ち
第2章 非線形方程式その1
– 2分法
– 2分法の変形
– ニュートン法の原理
– ニュートン法の特徴
第3章 非線形方程式その2
– テイラー展開とニュートン法
– 連立非線形方程式
本書は、特に大学生や院生を対象とした専門書として位置づけられており、数値計算の基本的な理論と実際の計算方法を学ぶための入門書として適しており、計算科学や関連分野に興味を持つ初学者にとって貴重な資源となるでしょう。
数値計算 (理工系の数学入門コース)
『数値計算 (理工系の数学入門コース)』は、理工学で遭遇する多くの問題が理論だけでは解決できないことに焦点を当てた入門書です。本書では、そうした問題の数値解を導出するための数値計算法を、ニュートン法から始め、連立1次方程式、数値積分、常微分方程式の数値計算法に至るまで、アルゴリズムと共に詳細に解説しています。演習問題を通じて読者が内容をしっかりと理解できるように設計されており、長年にわたり多くの読者に支持されてきたロングセラーの新装版となっています。
理工系の数理 数値計算
『理工系の数理 数値計算』は、柳田英二氏、中木達幸氏、三村昌泰氏が共著した書籍で、数値計算の基礎から応用にわたる幅広い内容を扱っています。本書は、数値計算を単なる道具として学ぶのではなく、その背後にある数学的な考え方も理解できるように工夫されています。具体的には、微分積分や線形代数の基本から始まり、それらを復習しながら数値計算の理論を学べるように構成されています。
書籍の中で扱われている主な内容には以下のものがあります。
- ニュートン法:ニュートン法の収束や、多次元のニュートン法など、非線形方程式の解法について詳しく説明しています。
- 代数方程式:代数方程式の性質や解法、1次因子や2次因子の組立除法に関する内容です。
- 連立1次方程式:連立1次方程式の基礎から、ガウスの消去法、$LU$ 分解などの解法、逐次近似法などについての詳しい解説があります。
- 行列の固有値問題:固有値と固有ベクトル、実対称行列の固有値問題や一般の行列に関する固有値問題など、行列の固有値に関する広範なトピックが扱われています。
- 定積分:数値積分の基本的な公式や補間多項式、ガウス型積分公式など、定積分の数値計算に関する詳細な解説がされています。
- 常微分方程式:常微分方程式の解法や離散近似、オイラー法、ルンゲ−クッタ法など、常微分方程式に関する広範囲の内容が含まれています。
本書は数値計算の基礎的な手法から応用までを網羅的に扱っており、理工系の学生や研究者にとって非常に有用な内容が盛り込まれています。また、本書に登場するアルゴリズムの有効性について随所で理由付けが行われており、数値計算に使われる数学の考え方を深く理解できるようになっています。読者が自らプログラムを組んで数値計算を行うためのサポートも充実しており、具体的な例題のプログラムは裳華房のWebページからダウンロード可能です。
数値計算 (サイエンスライブラリ理工系の数学 15)
『数値計算(サイエンスライブラリ理工系の数学 15)』は、洲之内治男氏 (元早稲田大学教授) 著、石渡恵美子氏(東京理科大学教授) 改訂による書籍です。この本は、数値計算の基礎から、アルゴリズムの実際の動作させることの重要性に焦点を当てています。新訂第2版では、要を得た記述はそのままに、データサイエンスの発展に合わせてサポートページで公開するプログラムを整備し、C言語に加え新たにPythonのプログラムも用意されています。
書籍の内容としては、線形代数、微分、積分、微分方程式に関する数値計算方法が含まれており、機械を用いて数値を計算するための教科書として位置づけられています。基礎の考え方から理論的な取扱い方、発展の動向までが解説されており、章末には演習問題も収録されています。
数値計算 (理工系の基礎数学 8)
『数値計算 (理工系の基礎数学 新装版 8)』は、髙橋大輔氏によって著された書籍で、理工学における数値計算の基本から応用までを網羅しています。この書籍は、特に初学者を対象に、方程式の根、曲線の推定、積分、微分方程式や連立一次方程式など、基本的な数値計算の解法を体系的に解説しています。その中で、多くの計算例やグラフを用いて、視覚的に理解しやすくなるよう工夫されています。また、演習問題を通じて、読者自身が計算することで解法を身につけることができるようになっています。
本書の内容は以下の通りです。
1. 数値計算へのガイド:
– 数値計算の基礎
– 計算機による数値計算
– 計算量と誤差
– 数学的予備知識
– アルゴリズムの書式
2. 方程式の根:
– 方程式の根と2分法
– ニュートン法
3. 曲線の推定:
– 曲線の推定方法
– ラグランジュ補間
– スプライン補間
– 最小2乗法
4. 積分:
– 微分と積分
– 台形則
– シンプソン則とロンバーグ積分法
5. 常微分方程式:
– 常微分方程式の概要
– 微分と差分
– 差分方程式
– 1階常微分方程式の初期値問題
– 連立1階もしくは2階常微分方程式の初期値問題
– 2階常微分方程式の境界値問題
6. 偏微分方程式:
– 偏微分方程式の基本
– 拡散方程式
– 陰公式
– 波動方程式
– ラプラス方程式
7. 連立1次方程式:
– 連立1次方程式の概要
– ガウスの消去法
– LU分解
– SOR法
書籍の構成は、理解しやすいように丁寧に整理されており、豊富な例題と演習問題が用意されています。これにより、読者は数値計算の基本から応用までをしっかりと学ぶことができるでしょう。
数値電界計算の基礎と応用 (理工学講座)
『数値電界計算の基礎と応用』(理工学講座)は、宅間董氏と濱田昌司氏によって著された書籍で、数値的な電界計算法の基礎から具体的な計算法に至るまでをわかりやすく解説しています。本書は、計算機と計算手法の発展によって画期的な進展を遂げた数値的な電界計算法に焦点を当てています。ラプラスの式が発見されてから約220年が経過し、現代では非常に複雑な三次元の配置でさえも、高精度で詳細な電界を求めることが可能になっています。これにより、絶縁設計、放電応用、静電気工学、電気環境など、電気を利用する多様な分野で電界の定量的な求定が必要不可欠なテクニックとなっています。
この書籍は、旧著『数値電界計算法』(コロナ社)の新版に相当し、旧著の内容を徹底的に見直し、相当部分を書き直しています。新しい内容を加えるため、いくつかの具体的な計算例や電荷重畳法のプログラムなどは省略されましたが、それに代わって計算法について解説した第Ⅰ部の各章には新たに演習問題が作成されています。また、本書の執筆では、用語や記号を統一し、電位や電界を求める空間を領域、領域を囲む周辺を境界、2種類の誘電体の境界を界面と呼ぶなど、明確な定義を用いています。
本書の構成は、第Ⅰ部では各種の数値電界計算法に関して詳細に解説しており、第Ⅱ部では電界計算の応用について多方面にわたって論述しています。具体的な内容としては、差分法、有限要素法、表面電荷法、電荷重畳法、モンテカルロ法、境界要素法など、様々な計算法の基本、具体的な計算手順、電位の方程式と電界、計算上の問題点などが網羅されています。
特に電界計算に関する専門的な知識を深めたい大学生や院生、および電界計算を実務で使用する専門家や研究者にとって、重要な参考文献となるでしょう。高精度で電界分布を求めるための手法とその応用について、計算法の疑問点も丁寧に解説されているため、実際の計算や研究に役立つ内容が豊富に含まれています。
Python数値計算プログラミング
『Python数値計算プログラミング』(著者:幸谷智紀氏)は、Pythonを使用して数値計算の基本を学ぶための書籍です。NumPyやSciPyといったライブラリを使いながら、数値計算の世界に触れることができます。具体的には、浮動小数点演算の基礎から偏微分方程式の数値解法まで、幅広い内容を網羅しています。
書籍の構成は、基礎的な数値計算から始まり、具体的な数学的問題への応用まで、以下のようなトピックを含んでいます。
- 数値計算と数学ソフトウェア: 数値計算の基本と数学ソフトウェアについての紹介。
- 数の体系、コンピュータ、浮動小数点数: 数の体系とコンピュータの基礎知識。
- Pythonことはじめ: Pythonの基本的な使用方法。
- 丸め誤差の評価方法と多倍長精度浮動小数点計算: 丸め誤差の計測方法と多倍長精度計算。
- 初等関数の計算: ホーナー法やニュートン法に基づく計算方法。
- 基本線形計算: 浮動小数点数と複素数の四則演算、基本的な線形計算。
- 連立一次方程式の解法1 ―直接法: LU分解やガウスの消去法などの解法。
- 連立一次方程式の解法2 ―疎行列と反復法: 密行列、疎行列、反復法に関する内容。
- 行列の固有値・固有ベクトル計算: 行列の固有値と固有ベクトルの計算方法。
- 非線形方程式の解法: 方程式の分類と解法。
- 補間と最小二乗法: 補間法や最小二乗法によるデータ分析。
- 関数の微分と積分: 高次の中央差分商による数値微分、定積分の計算方法。
- 常微分方程式の数値解法: 常微分方程式の数値解法、初期値問題など。
- 偏微分方程式の数値解法: 偏微分方程式の分類と数値解法。
書籍は実際にコードを動かしながら学べる構成となっており、理論と実践の両方をバランスよく学ぶことができます。また、サポートページにてPythonスクリプトが公開されており、読者はこれを利用して実践的な学習を進めることができます。
Pythonによる数値計算入門 (実践Pythonライブラリ)
『Pythonによる数値計算入門 (実践Pythonライブラリ)』は、河村哲也氏と桑名杏奈氏によって著された書籍です。この本では、数値計算の基本から丁寧に解説されており、Python言語を用いた実践的な演習を通じて理解を深めることができます。具体的な内容としては、数値計算を始める前の基礎知識、非線形方程式、連立1次方程式、固有値、関数の近似、数値微分と数値積分、フーリエ変換、常微分方程式、偏微分方程式など、幅広いトピックが網羅されています。
この書籍は、数値計算に関心がある学生や研究者、実務で数値計算を扱うエンジニアなど、多様な読者にとって有用な内容が含まれていると言えるでしょう。また、Pythonのコードを用いて具体的な計算手法を学べるため、プログラミングの実践的なスキル向上にも寄与するはずです。
Pythonによる数値計算法の基礎
『Pythonによる数値計算法の基礎』は、橋本修と毛塚敦によって共著された書籍で、森北出版から2021年6月に発行されました。本書は、数値計算の基本から応用までを学ぶことができる入門書です。ポイントを押さえた明瞭な解説と、実際のPythonコードの例を通じて、初学者でも数値計算の方法を理解しやすいように構成されています。
本書の特徴は次のとおりです。
– 各章が簡潔な説明でコンパクトにまとめられており、学びやすい。
– Pythonのプログラム例が豊富に掲載されているため、具体的にどのように計算するのかがイメージしやすい。
– 複雑な境界条件を持つ一般的な方程式を解く例題も含まれており、数値計算の有効性を理解しやすい。
内容としては以下のトピックが扱われています。
- 非線形方程式
- 数値微分と数値積分
- 連立1次方程式
- 常微分方程式
- 補間と近似
- 偏微分方程式
Pythonによる数値計算とシミュレーション
『Pythonによる数値計算とシミュレーション』は、シミュレーションプログラミングの基礎とそれを支える数値計算の技術について、具体的に解説する本です。本書は、数値計算の技術から先端的なマルチエージェントシミュレーションの基礎まで、Pythonのプログラムを使って具体的に説明しています。アルゴリズムの原理を丁寧に説明し、Pythonの便利な機能を応用する方法も随所に示しています。
本書では、以下のような内容が取り扱われています。
- 常微分方程式に基づく物理シミュレーション
- 偏微分方程式に基づく物理シミュレーション
- セルオートマトンを使ったシミュレーション
- 乱数を使った確率的シミュレーション
- エージェントベースのシミュレーション
具体的な章では、ラプラスの方程式による場のシミュレーション、セルオートマトンによるシミュレーション(ライフゲームや交通流シミュレーションなど)、乱数を使ったシミュレーション(ランダムウォークなど)、エージェントベースのシミュレーション(マルチエージェントによる相互作用のシミュレーションなど)が含まれています。また、章末問題や付録も充実しており、4次のルンゲ=クッタ法の公式やラプラスの方程式が周囲4点の差分で近似できることの説明、ナップサック問題の解法プログラム、シンプソンの公式などが紹介されています。
Pythonを使って数値計算やシミュレーションを行いたい方にとって、非常に参考になる一冊です。
1週間で学べる! Julia数値計算プログラミング
『1週間で学べる!Julia数値計算プログラミング』は、永井佑紀氏の著によるJulia言語を用いた数値計算プログラミングの入門書です。
この本は、新しいプログラミング言語であるJuliaを7日間で速習することを目標に設定しています。プログラミングが初めての人でも理解しやすいように、基礎から応用まで具体的な課題に適用しながら段階的に学べる構成になっています。Julia言語の基本操作から始まり、関数の作成、条件分岐、繰り返し計算、行列とベクトルの扱い、型と多重ディスパッチ、微分方程式の解法など、Juliaの様々な機能を学べます。
さらに、円周率の計算、量子力学、統計力学、固体物理学などの具体例を通じて、Juliaでの数値計算の実践的な応用を紹介しています。また、書籍の後半では、自分の問題を解く方法、高速化の方針、並列計算の技術なども取り扱っています。
本書を通して科学技術計算に興味を持つ人々、特にJulia言語の学習を始めたい初心者にとって、実用的な指針となるでしょう。
Juliaによる数値計算とシミュレーション
『Juliaによる数値計算とシミュレーション』は、小高知宏氏によるJuliaプログラミング言語を用いた数値計算とシミュレーションの手法を学ぶための書籍です。この本は、C言語の高速性とPythonの記述力を兼ね備えた新しい言語であるJuliaを使って、数値計算やシミュレーションの具体例を通じて学びます。内容としては、物理シミュレーション、確率的シミュレーション、エージェントベースの数値シミュレーションなどが含まれており、プログラマーや数値計算に関心のある学生に適しています。章立ては、Juliaにおける数値計算の基礎から、様々なタイプのシミュレーション手法まで幅広くカバーしています。
機械システム学のための数値計算法-MATLAB版-
『機械システム学のための数値計算法 – MATLAB版 -』は、平井慎一氏によって書かれた本で、機械システム学における数値計算アルゴリズムに焦点を当てています。この本は、数値計算アルゴリズムの原理を解説し、MATLABを用いた具体的な計算方法を説明しています。章末には、発展的な内容やMATLABを使用した計算に関する問題も含まれており、理解を深めるのに役立ちます。
本の内容は、以下のトピックをカバーしています。
- 数値計算の基本
- MATLABの使用、行列とベクトル、常微分方程式、最適化、パラメータの受渡し、乱数
- 常微分方程式の標準形、数値解法、制約安定化法など
- 連立一次方程式、ガウスの消去法、LU分解、ピボット選択、置換行列
- 射影、正規方程式、射影行列、正規直交系、グラム・シュミットの直交化、QR分解
- 補間、区分線形補間、スプライン補間
- 変分原理、静力学と動力学の変分原理、制約を有する系
- 非線形最適化、ネルダー・ミード法、乗数法
- 有限要素法、ビームの静力学、動力学、二次元有限要素法、動的な二次元変形、非弾性変形
- 乱数、確率変数と確率分布、モンテカルロ法
これらのトピックは、機械システム学に関連する数学的問題を数値的に解くのに役立つアルゴリズムや技法を網羅的に扱っています。また、MATLABを活用してこれらの問題に対処する方法も示されていますし、機械システム学に関心を持つ研究者や学生にとって、非常に価値のあるリソースとなります。
MATLAB/Scilabで理解する数値計算
『MATLAB/Scilabで理解する数値計算』は、櫻井鉄也氏著の本で、MATLABとScilabを使用した数値計算の理論とアルゴリズムを理解するための教科書です。この本は、数値計算における基本的なアルゴリズムの理論や特徴について深く理解することを目的としており、大学の理工系学部や大学院の学生に特に適しています。
本書の主な内容は以下の通りです。
- 数値計算のためのツール:MATLABとScilabの使用方法、プログラミング技法、グラフの出力方法など。
- 有限桁の数値:浮動小数点数や誤差、デジタル世界の問題点、計算量、メモリー管理について。
- 関数の近似法:多項式による近似、離散Fourier変換、有理関数による近似など。
- 最小二乗法:基本的な最小二乗法、QR分解、Householder変換について。
- 連立一次方程式の解法:直接法や誤差の伝搬、Krylov部分空間を用いた反復解法、大規模疎行列の取り扱い。
- 固有値問題の解法:固有値を求める関数、べき乗法、逆反復法、Lanczos法など。
- 非線形方程式の解法:非線形方程式の解を求める関数、関数の近似と反復法、複数の解を見つける同時反復法など。
- 常微分方程式と数値積分:常微分方程式の解法、数値積分の計算方法。
この本では、豊富なプログラム例を通じて、数値計算の理論とアルゴリズムを実際にコンピュータ上で動かしながら理解するアプローチを採用しています。MATLABとScilabは、習得が容易でグラフ表示機能なども優れているため、これらのプログラム言語を使用して数値計算を学ぶことができます。
今日から使える! MATLAB 数値計算から古典制御まで
『今日から使える!MATLAB 数値計算から古典制御まで』は、青山貴伸氏、蔵本一峰氏、森口肇氏によって書かれたMATLABの入門書です。この本は、MATLABを初めて使用する人が実務に応用できるようになることを目指しています。特に、MATLAB Student Version R2012aでの実行が可能であることを確認しており、MATLABの基本操作から始まり、グラフィックスの作成、M-ファイルによるプログラミング、数値微積分、微分方程式の活用、実験データのモデル化、Simulinkの活用、そして制御系の適用に至るまで、幅広い内容を扱っています。
制御対象のモデリングから制御機器の設計に至るまで、幅広い知識が必要とされる分野で、MATLABを活用することで本来の問題に集中できるようになります。この本は、MATLABで単純な制御系(例えば、1個のDCモータの制御系)を設計するための基礎知識を提供しますが、制御系を設計するために必要な全ての知識を網羅しているわけではありません。基礎理論の構築、計算上の問題解決、適切なソルバの選択に関するアルゴリズムの理解など、多岐にわたる知識が求められます。
本書は、製造現場に出ても、特別なToolboxを入れていなくても、シンプルなツールで多くのことができることを示しています。初心者でも理解しやすいよう、基本から丁寧に解説されており、図版もフルカラーで収録されています。MATLABを始める方や制御設計に取り組む方に適した入門書となっています。
有理算術演算: 高精度数値計算のためのアルゴリズムとプログラミング
『有理算術演算: 高精度数値計算のためのアルゴリズムとプログラミング』は、究極の精度を実現する「有理算術演算」を基にした数値計算法を詳しく解説する専門書です。有理算術演算は、分数式の延長線上にある考え方であり、有理数に対しては誤差なしの数値計算を実現し、無理数に対しても任意の精度で計算可能です。本書では、有理算術演算に基づいた線形代数や無理数の計算手法から、高速フーリエ変換や法算術演算を用いた高速化手法までを、C++での実装と共に細かく解説しています。有理数の扱い方、C++のプログラミング手法、数値線形代数の初歩など、基礎的な内容も丁寧に説明されており、現役の研究者や開発者のみならず、これから学び始める学生にも推奨される一冊です。
Cによる理工系解析の数値計算 ―基礎からの展開
『Cによる理工系解析の数値計算 ―基礎からの展開―』は、横山良平氏によって執筆された書籍です。この書籍は、著者の長年の経験に基づいて理工系解析に必要な数値計算の方法とプログラミングに関する知識を学べるように構成されています。具体的には、基本的な数値計算の方法から始めて、より高機能な数値計算の方法とプログラミングについて学ぶことができる内容となっています。
また、取り上げている数値計算の課題は限定的かもしれませんが、それぞれの課題を基本的な数値計算から研究や技術開発にも適用できる高機能な数値計算まで幅広くカバーしています。この書籍は、C言語を用いたプログラミングと数値計算の基礎から応用までを学ぶための資料として適しています。
C & Fortran 演習で学ぶ数値計算
『C & Fortran 演習で学ぶ数値計算』は、片桐孝洋氏と大島聡史氏によって執筆された書籍です。情報学部および工学部の学生を主な対象としており、数値計算の理論とその演習を通じて学べるよう構成されています。この書籍では、数値計算アルゴリズムの基本理論から始まり、C言語とFortranを使用した具体的な実装演習までをカバーしています。この書籍は、基礎から応用までの数値計算の知識を体系的に学びたい方にとって有用なリソースとなります。
本書の特徴は以下の通りです。
- 教科書および演習書としての利用:書籍は、教科書としての役割に加え、演習書としても利用できるように設計されています。各章は理論と演習で構成されており、理論部分で数値計算アルゴリズムの基本を学んだ後、CとFortranを使って実際に演習を行う形式となっています。
- 直感的な理解を促進:理論部分では、高校数学を基礎としながらも、図を多用して数値計算アルゴリズムを数学的かつ直感的に理解しやすく解説しています。
- 豊富な演習課題とプログラム:演習部分には、豊富な課題と、それに対するC言語およびFortranでの解答例が含まれています。実際のプログラムコードは共立出版のウェブサイトからパスワード付きで入手可能です。
- データサイエンスへの応用:書籍には、データサイエンス基礎である回帰に分類される線形最小2乗法など、数値計算アルゴリズムの演習も含まれており、データサイエンスの基礎演習も行うことができます。
- 目次構成:第0章では準備として、本書で扱うソースコードとプログラミング言語について説明し、第1章では数値計算の基礎について、計算機における数値表現や計算量、メモリ量、数値計算における誤差、数値計算アルゴリズムの記載方法などを解説しています。
ニューメリカルレシピ・イン・シー 日本語版―C言語による数値計算のレシピ
『ニューメリカルレシピ・イン・シー 日本語版 – C言語による数値計算のレシピ』は、数値計算の分野で広く使われるアルゴリズムをC言語で実装した書籍です。この書籍は、数値計算の基本から高度な内容までを幅広く網羅しており、具体的なC言語のコード例と共に解説されています。章立ては以下の通りです。
第1章から第17章まででは、数値計算の様々なトピックが詳細に解説されています。これには、方程式の解法、補間、積分、特殊関数、乱数、ソーティング、非線形方程式の解法、関数の最大・最小問題、固有値問題、フーリエ変換、統計的記述、データモデリング、常微分方程式、偏微分方程式など、多岐にわたる内容が含まれています。
書籍の中では、各章で特定の数値計算手法に焦点を当て、その理論的背景とC言語による実装方法が丁寧に説明されています。また、実際の問題にどのように応用できるかについても、例を交えながら具体的に解説されており、実務での応用にも役立ちます。
本書では数値計算を行う上での実用的なガイドとして、また、C言語による実装技術を学ぶための重要な参考文献として、多くのエンジニアや研究者に利用されています。
数値計算のためのFortran90/95プログラミング入門
『数値計算のためのFortran90/95プログラミング入門 (第2版)』は、プログラミングの初心者やC言語は習得したがFortranでの数値計算が必要になった社会人を対象とした解説書です。この本はFortranの基本から応用までを1冊で独習できるように構成されており、初歩からやさしく解説しているため、初心者でも無理なくプログラミングを学べます。反復計算や配列といった基本的なプログラミングから始め、特につまづきやすい副プログラムの使い方についても丁寧に説明されています。
また、間違いやすいミスや役に立つ情報がポイントとして随所に記載されており、フリーのコンパイラ「g95」と描画ソフト「gnuplot」の各OSへのインストール方法も付録に含まれているため、どこでも学習を始めることができます。Fortranの文法は付録に掲載されており、実践的なプログラムの書き方に重点を置いて解説されています。
数値計算のためのFortran90/95プログラミング入門アンサーブック: 演習問題の解答と解説
『数値計算のためのFortran90/95プログラミング入門(第2版)・アンサーブック: 演習問題の解答と解説』は、牛島省氏著による書籍で、数値計算に特化したプログラミング言語Fortran90/95を使用したプログラミングの入門書の補助教材です。このアンサーブックは、『数値計算のためのFortran90/95プログラミング入門』に記載された演習全128問と、追加演習13問から構成されています。本書は、これらの演習問題に対する完結したプログラム例と詳しい解説を提供し、同書のアンサーブックとして位置づけられています。