图书目录

目    录

 

第1章  科学计算介绍  1

1.1  Python数值计算环境  3

1.2  Python  4

1.3  IPython控制台  5

1.3.1  输入输出缓存  6

1.3.2  自动补全和对象自省(Object Introspection)  6

1.3.3  文档  7

1.3.4  与系统shell进行交互  7

1.3.5  IPython扩展  8

1.4  Jupyter  13

1.4.1  Jupyter QtConsole  13

1.4.2  Jupyter Notebook  14

1.4.3  Jupyter Lab  16

1.4.4  单元类型  16

1.4.5  编辑单元  17

1.4.6  Markdown单元  18

1.4.7  输出显示  19

1.4.8  nbconvert  22

1.5  Spyder集成开发环境  24

1.5.1  源代码编辑器  25

1.5.2  Spyder控制台  26

1.5.3  对象查看器  26

1.6  本章小结  26

1.7  扩展阅读  27

1.8  参考文献  27

第2章  向量、矩阵和多维数组  29

2.1  导入模块  30

2.2  NumPy Array对象  30

2.2.1  数据类型  31

2.2.2  内存中数组数据的顺序  33

2.3  创建数组  34

2.3.1  从列表和其他类数组对象创建数组  35

2.3.2  以常量填充的数组  35

2.3.3  以增量序列填充的数组  36

2.3.4  以等比数列填充的数组  37

2.3.5  Meshgrid数组  37

2.3.6  创建未初始化的数组  38

2.3.7  使用其他数组的属性创建数组  38

2.3.8  创建矩阵数组  38

2.4  索引和切片  39

2.4.1  一维数组  39

2.4.2  多维数组  41

2.4.3  视图  42

2.4.4  花式索引和布尔索引  43

2.5  调整形状和大小  45

2.6  向量化表达式  48

2.6.1  算术运算  49

2.6.2  逐个元素进行操作的函数  52

2.6.3  聚合函数  54

2.6.4  布尔数组和条件表达式  56

2.6.5  集合运算  59

2.6.6  数组运算  60

2.7  矩阵和向量运算  61

2.8  本章小结  66

2.9  扩展阅读  66

2.10  参考文献  66

第3章  符号计算  67

3.1  导入SymPy  67

3.2  符号  68

3.3  表达式  74

3.4  表达式操作  76

3.4.1  化简  76

3.4.2  展开  77

3.4.3  因式分解、合并同类项  78

3.4.4  分式分解、通分、消除公因子  79

3.4.5  替换  79

3.5  数值计算  80

3.6  微积分  81

3.6.1  导数  81

3.6.2  积分  83

3.6.3  级数展开  85

3.6.4  极限  86

3.6.5  和与积  87

3.7  方程  88

3.8  线性代数  89

3.9  本章小结  92

3.10  扩展阅读  93

3.11  参考文献  93

第4章  绘图和可视化  95

4.1  导入模块  96

4.2  入门  96

4.3  Figure对象  101

4.4  Axes实例  102

4.4.1  绘图类型  103

4.4.2  线条属性  103

4.4.3  图例  107

4.4.4  文本格式和注释  108

4.4.5  轴属性  110

4.5  Axes高级布局  119

4.5.1  图中图  119

4.5.2  plt.subplots  121

4.5.3  plt.subplot2grid  123

4.5.4  GridSpec  123

4.6  绘制色图  124

4.7  绘制3D图形  126

4.8  本章小结  128

4.9  扩展阅读  128

4.10  参考文献  129

第5章  方程求解  131

5.1  导入模块  131

5.2  线性方程组  132

5.2.1  方形方程组  133

5.2.2  矩形方程组  137

5.3  特征值问题  141

5.4  非线性方程  142

5.4.1  单变量方程  142

5.4.2  非线性方程组  149

5.5  本章小结  152

5.6  扩展阅读  152

5.7  参考文献  153

第6章  优化  155

6.1  导入模块  155

6.2  优化问题的分类  156

6.3  单变量优化  158

6.4  无约束的多变量优化问题  160

6.5  非线性最小二乘问题  167

6.6  受约束的优化问题  168

6.7  本章小结  175

6.8  扩展阅读  175

6.9  参考文献  176

第7章  插值  177

7.1  导入模块  177

7.2  插值概述  178

7.3  多项式  179

7.4  多项式插值  181

7.5  样条插值  185

7.6  多变量插值  188

7.7  本章小结  193

7.8  扩展阅读  193

7.9  参考文献  193

第8章  积分  195

8.1  导入模块  196

8.2  数值积分方法  196

8.3  使用SciPy进行数值积分  199

8.4  多重积分  204

8.5  符号积分和任意精度积分  208

8.6  积分变换  211

8.7  本章小结  214

8.8  扩展阅读  214

8.9  参考文献  214

第9章  常微分方程  215

9.1  导入模块  215

9.2  常微分方程  216

9.3  使用符号方法求解ODE  217

9.3.1  方向场  222

9.3.2  使用拉普拉斯变换求解ODE  225

9.4  数值法求解ODE  228

9.5  使用SciPy对ODE进行

数值积分  231

9.6  本章小结  242

9.7  扩展阅读  242

9.8  参考文献  243

第10章  稀疏矩阵和图  245

10.1  导入模块  245

10.2  SciPy中的稀疏矩阵  246

10.2.1  创建稀疏矩阵的函数  250

10.2.2  稀疏线性代数函数  252

10.2.3  线性方程组  252

10.2.4  图和网络  257

10.3  本章小结  264

10.4  扩展阅读  264

10.5  参考文献  264

第11章  偏微分方程  265

11.1  导入模块  266

11.2  偏微分方程  266

11.3  有限差分法  267

11.4  有限元法  272

11.5  使用FEniCS求解PDE  275

11.6  本章小结  293

11.7  扩展阅读  294

11.8  参考文献  294

第12章  数据处理和分析  295

12.1  导入模块  296

12.2  Pandas介绍  296

12.2.1  Series对象  296

12.2.2  DataFrame对象  299

12.2.3  时间序列  307

12.3  Seaborn图形库  317

12.4  本章小结  321

12.5  扩展阅读  322

12.6  参考文献  322

第13章  统计  323

13.1  导入模块  323

13.2  概率统计回顾  324

13.3  随机数  325

13.4  随机变量及其分布  328

13.5  假设检验  335

13.6  非参数法  339

13.7  本章小结  341

13.8  扩展阅读  341

13.9  参考文献  341

第14章  统计建模  343

14.1  导入模块  344

14.2  统计建模简介  344

14.3  使用Patsy定义统计模型  345

14.4  线性回归  352

14.5  离散回归  360

14.5.1  对数几率回归  361

14.5.2  泊松回归模型  365

14.6  时间序列  368

14.7  本章小结  372

14.8  扩展阅读  372

14.9  参考文献  372

第15章  机器学习  373

15.1  导入模块  374

15.2  机器学习回顾  374

15.3  回归  375

15.4  分类  384

15.5  聚类  388

15.6  本章小结  391

15.7  扩展阅读  392

15.8  参考文献  392

第16章  贝叶斯统计  393

16.1  导入模块  394

16.2  贝叶斯统计简介  394

16.3  定义模型  396

16.3.1  后验分布采样  400

16.3.2  线性回归  403

16.4  本章小结  413

16.5  扩展阅读  413

16.6  参考文献  413

第17章  信号处理  415

17.1  导入模块  415

17.2  频谱分析  416

17.2.1  傅里叶变换  416

17.2.2  加窗  421

17.2.3  频谱图  424

17.3  信号滤波器  427

17.3.1  卷积滤波器  428

17.3.2  FIR和IIR滤波器  429

17.4  本章小结  434

17.5  扩展阅读  434

17.6  参考文献  434

第18章  数据的输入输出  435

18.1  导入模块  436

18.2  CSV格式  436

18.3  HDF5  440

18.3.1  h5py库  441

18.3.2  PyTables库  451

18.3.3  Pandas HDFStore  455

18.4  JSON  456

18.5  序列化  460

18.6  本章小结  462

18.7  扩展阅读  462

18.8  参考文献  463

第19章 代码优化  465

19.1  导入模块  467

19.2  Numba  467

19.3  Cython  473

19.4  本章小结  482

19.5  扩展阅读  483

19.6  参考文献  483

附录  安装  485