Python科學計算基礎教程pdf

圖書網
圖書網
圖書網
10910
文章
1665
評論
2018年9月1日09:01:44 2 688
摘要

全面闡述Python科學計算基礎內容
提供Python科學計算精彩案例
總結科學計算的任務、難點以及杰出實踐經驗
科學計算概況、結構
使用NumPy和SciPy完成數值計算
使用SymPy進行符號計算的概念和方法
使用matplotlib畫圖程序庫做數據可視化
使用pandas、matplotlib和IPython組合做數據分析與可視化
Python的并行和高性能計算方法
科學計算應用、庫和工具的Python開發案例
方案設計、代碼編寫、高性能計算等科學計算杰出實踐

Python科學計算基礎教程 內容簡介

Python因為其自身的諸多優點而成為科學計算的極佳選擇。本書是將Python 用于科學計算的實用指南,既介紹了相關的基礎知識,又提供了豐富的精彩案例,并為讀者總結了杰出實踐經驗。其主要內容包括:科學計算的基本概念與選擇Python 的理由,科學工作流和科學計算的結構,科學項目相關數據的各個方面,用于科學計算的API 和工具包,如何利用Python 的NumPy 和SciPy 包完成數值計算,用Python 做符號計算,數據分析與可視化,并行與大規模計算,等等。

Python科學計算基礎教程 目錄

第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

Python科學計算基礎教程 精彩文摘

1.3 科學與工程領域的案例

讓我們看幾個可能用科學計算解決的問題。第一個問題是研究兩個黑洞碰撞的行為,這個問題無論從理論上還是實踐上都很難理解。從理論上說,這個實驗非常復雜,幾乎不可能在實驗室實現并進行現場研究。但是這個現象可以根據愛因斯坦的廣義相對論的數學公式建立合理有效的數學模型,然后在計算實驗室進行仿真。然而,這個仿真需要消耗極大的計算能力,可以通過先進的分布式計算環境實現。

第二個問題與工程和設計相關。與汽車測試相關的一個問題是碰撞測試(crash testing)。為了降低完成真實(也很危險)的碰撞測試的成本,工程師和設計師們都會優先考慮進行計算機仿真碰撞測試。最后,還有大型房屋與廠房設計問題。可以按照設計目標構建一個仿真模型,但是這樣做需要消耗大量的時間和金錢。然而,通過建筑設計工具完成設計可以節省大量的時間和成本。生物信息科學和醫學也有類似的情況,例如蛋白質結構的折疊和傳染病的建模研究。蛋白質結構折疊的研究非常耗時,但是利用大規模計算機集群和分布式計算系統可以高效地完成。類似地,在分析不同參數對傳染病疫苗接種程序的影響方面,為傳染病建模可以節省時間和成本。

之所以挑選這三個問題,是因為它們分別代表科學計算可以解決的三類問題。第一類問題是基本不可能解決的。第二類問題可以解決但風險很高,甚至具有嚴重的破壞性。第三類問題不使用仿真就可以解決,也可以在現實生活中通過模擬解決,但是通過仿真方法解決會更加經濟高效。

圖書網:Python科學計算基礎教程pdf

繼續閱讀
資源地址:用心發表評論,說說你的看法,就能獲取資源地址。
  • 我的微信
  • 掃一掃加好友
  • weinxin
  • 微信公眾號
  • 掃一掃關注
  • weinxin
C++覆轍錄pdf 程序設計

C++覆轍錄pdf

C++覆轍錄 作者:(美)STEPHEN C. DEWHURST C++覆轍錄 出版社:人民郵電出版社 C++覆轍錄 內容簡介 《C++覆轍錄》是C++大師Stephen C. Dewhurst根據多...
JRockit權威指南 深入理解JVMpdf 程序設計

JRockit權威指南 深入理解JVMpdf

作為曾經的三大主流Java虛擬機之一,JRockit展示了強大的伸縮性和高勁的性能,現在雖已被內置于Oracle融合中間件中,但JVM原理以及JMC工具等內容是相通的。 本書由JR...
iOS 11 開發指南pdf 程序設計

iOS 11 開發指南pdf

iOS 11 開發指南 作者:管蕾 iOS 11 開發指南 出版社:人民郵電出版社 iOS 11 開發指南 內容簡介 本書循序漸進地講解了iOS 11應用開發的知識。書中從搭建開發環境講起,依次講解了...
零起點Python足彩大數據與機器學習實盤分析pdf 程序設計

零起點Python足彩大數據與機器學習實盤分析pdf

適讀人群 : 足球愛好者、博彩愛好者,數據分析從業人員、數學、統計、計算機專業學生。 采用MBA個案模式,配合Python教學代碼,由淺入深,結合實盤案例,舉一反三。無須專業編程基...
匿名

發表評論

匿名網友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

評論:2   其中:訪客  2   博主  0
    • kokon kokon 9

      非常好,謝謝分享

      • ゞ 正在緩沖99%( ゞ 正在緩沖99%( 9

        謝謝分享