內容簡介

Python因為其自身的諸多優點而成為科學計算的極佳選擇。本書是將Python用於科學計算的實用指南,既介紹了相關的基礎知識,又提供了豐富的精彩案例,並為讀者總結了傑出實踐經驗。

其主要包括:科學計算的基本概念與選擇Python的理由,科學工作流和科學計算的結構,科學項目相關數據的各個方面,用於科學計算的API和工具包,如何利用Python的Num Py和SciPy包完成數值計算,用Python做符號計算,數據分析與可視化,並行與大規模計算,等等。

Hemant Kumar Mehta
博士,專注於分布式計算和科學計算領域,擁有十余年教學、科研和軟件開發經驗。他是ACM會員、IEEE高級會員,以及IACSIT、IAENG和MIR等實驗室的高級會員。
 

目錄

第1 章 科學計算概況與選擇Python的理由 1
1.1 科學計算的定義 2
1.2 科學計算的簡單處理流程 3
1.3 科學與工程領域的案例 5
1.4 解決復雜問題的策略 5
1.5 近似、誤差及相關統計概念和術語 6
1.5.1 誤差分析 7
1.5.2 敏感度、穩定性和准確性 7
1.5.3 后向與前向誤差估計 8
1.5.4 誤差可以忽略不計嗎 8
1.6 計算機算術運算和浮點數 8
1.7 Python 編程語言簡介 9
1.7.1 Python 語言的指導原則 9
1.7.2 為什麼用Python 做科學計算 11
1.7.3 Python 的缺點 13
1.8 小結 13
第2 章 科學工作流和科學計算的結構 14
2.1 科學計算的數學部分 14
2.1.1 線性方程組 14
2.1.2 非線性方程組 15
2.1.3 最優化方法 16
2.1.4 內插法 17
2.1.5 外插法 17
2.1.6 數值積分 18
2.1.7 數值微分 18
2.1.8 微分方程 19
2.1.9 隨機數生成器 20
2.2 Python 科學計算 21
2.2.1 NumPy 簡介 22
2.2.2 SciPy 程序庫 22
2.2.3 用pandas 做數據分析 23
2.3 IPython 交互式編程簡介 23
2.3.1 IPython 並行計算 24
2.3.2 IPython Notebook 24
2.4 用SymPy 進行符號計算 26
2.4.1 SymPy 的主要特點 27
2.4.2 為什麼用SymPy 28
2.5 畫圖程序庫 28
2.6 小結 30
第3 章 有效地制造與管理科學數據 31
3.1 數據的基本概念 31
3.2 數據存儲軟件與工具箱 32
3.2.1 文件 33
3.2.2 數據庫 33
3.3 常見的數據操作 34
3.4 科學數據的格式 35
3.5 現成的標准數據集 37
3.6 數據生成 41
3.7 模擬數據的生成(構造) 41
3.7.1 用Python 的內置函數生成隨機數 42
3.7.2 基於統計分布的隨機數生成器的設計和實現 45
3.7.3 一個用簡單邏輯生成5位隨機數的程序 46
3.8 大規模數據集的簡要介紹 47
3.9 小結 48
第4 章 Python 科學計算API 49
4.1 Python 數值科學計算 49
4.1.1 NumPy 程序包 49
4.1.2 SciPy 程序包 52
4.1.3 簡單的SciPy 程序 54
4.2 SymPy符號計算 57
4.2.1 計算機代數系統 57
4.2.2 通用CAS的特點 57
4.2.3 SymPy設計理念簡介 58
4.2.4 SymPy模塊 60
4.2.5 簡單的范例程序 61
4.3 數據分析和可視化的API 和工具 63
4.3.1 用pandas進行數據分析和操作 63
4.3.2 用matplotlib進行數據可視化 64
4.3.3 用IPython實現Python的交互式計算 64
4.3.4 數據分析和可視化的示例程序 65
4.4 小結 67
第5 章 數值計算 68
5.1 NumPy 的基本對象 68
5.1.1 N 維數組對象 68
5.1.2 通用函數對象 72
5.1.3 NumPy 的數學模塊 74
5.2 SciPy 的介紹 75
5.2.1 SciPy 的數學函數 75
5.2.2 高級模塊/程序包 76
5.3 小結 97
第6 章 用Python 做符號計算 98
6.1 符號、表達式和基本運算 98
6.2 求解方程 99
6.3 有理數、指數和對數函數 100
6.4 多項式 100
6.5 三角函數和復數 101
6.6 線性代數 101
6.7 微積分 103
6.8 向量 105
6.9 物理模塊 106
6.9.1 氫波函數 106
6.9.2 矩陣和Pauli代數 107
6.9.3 一維和三維量子諧振子 107
6.9.4 二次量子化 108
6.9.5 高能物理 108
6.9.6 力學 109
6.10 漂亮的打印功能 111
6.11 密碼學模塊 113
6.12 輸入的句法分析 113
6.13 邏輯模塊 114
6.14 幾何模塊 116
6.15 符號積分 117
6.16 多項式操作 119
6.17 集合 120
6.18 運算的簡化和合並 121
6.19 小結 122
第7 章 數據分析與可視化 123
7.1 matplotlib 123
7.1.1 matplotlib的架構 124
7.1.2 matplotlib的畫圖方法 125
7.2 pandas 程序庫 128
7.2.1 Series 128
7.2.2 DataFrame 129
7.2.3 Panel 130
7.2.4 pandas 數據結構的常用函數 131
7.2.5 時間序列與日期函數 137
7.2.6 處理缺失數據 140
7.3 I/O 操作 141
7.3.1 處理CSV文件 141
7.3.2 即開即用數據集 144
7.4 IPython 145
7.4.1 IPython 終端與系統命令行工具 146
7.4.2 IPython Notebook 149
7.5 小結 150
第8 章 並行與大規模科學計算 151
8.1 用IPython 做並行計算 152
8.2 IPython 並行計算架構 152
8.3 並行計算示例 154
8.3.1 並行裝飾器 155
8.3.2 IPython 的魔法函數 155
8.4 IPython 的高級特性 157
8.4.1 容錯執行 157
8.4.2 動態負載均衡 158
8.4.3 在客戶端與引擎之間推拉對象 158
8.4.4 支持數據庫存儲請求與結果 160
8.4.5 在IPython 里使用MPI 161
8.4.6 管理任務之間的依賴關系 162
8.4.7 用Amazon EC2 的StarCluster啟動IPython 167
8.5 IPython 數據安全措施 168
8.5.1 常用並行編程方法 168
8.5.2 在Python 中演示基於Hadoop的MapReduce 174
8.5.3 在Python 中運行Spark 176
8.6 小結 176
第9 章 真實案例介紹 177
9.1 用Python 開發的科學計算應用 177
9.1.1 「每個孩子一台筆記本」項目用Python 開發界面 177
9.1.2 ExpEYES——科學之眼 180
9.1.3 Python 開發的天氣預測應用程序 181
9.1.4 Python 開發的航空器概念設計工具與API 182
9.1.5 OpenQuake 引擎 183
9.1.6 德國西馬克公司的能源效率應用程序 184
9.1.7 高能物理數據分析的自動代碼生成器 184
9.1.8 Python 的計算化學應用 186
9.2 Python 開發的盲音觸覺識別系統 187
9.2.1 TAPTools 空中交通管制工具 187
9.2.2 光能效率檢測的嵌入式系統 188
9.3 Python 開發的科學計算程序庫 189
9.3.1 Tribon 公司的船舶設計API 189
9.3.2 分子建模工具箱 189
9.3.3 標准Python程序包 190
9.4 小結 191
第10 章 科學計算的最佳實踐 192
10.1 方案設計階段的最佳實踐 192
10.2 功能實現階段的最佳實踐 194
10.3 數據管理與應用部署的最佳實踐 196
10.4 實現高性能的最佳實踐 197
10.5 數據隱私與安全的最佳實踐 198
10.6 測試與維護的最佳實踐 198
10.7 Python 常用的最佳實踐 199
10.8 小結 200
網路書店 類別 折扣 價格
  1. 新書
    87
    $256