计算机科学丛书 Python科学计算 原书第2版
作者: 江红,余青松译;(英国)约翰·M.斯图尔特
出版时间: 2019年版
内容简介
【网店勿用!此为申报选题所填信息,网店请调用*终版】对于科学家而言,有了本书,你再也不用去购买那些昂贵的Python软件包。书中包含大量可下载的代码片段,囊括你需要知道的一切。跟随作者的讲解,你将发现实现和测试非平凡的数学算法是多么容易,并将通过许多免费的附加模块进一步动手实践。这些实例来自众多不同的研究领域,它们展示了Python的强大魅力。此外,作者还介绍了如何在Python环境中使用遗留代码,从而免去掌握原始代码的麻烦。相较于第1版,新版本重写了几个章节以反映IPython笔记本风格,扩充了索引,并包含讨论SymPy的新章节,还新增了大量代码片段。通过阅读本书,研究人员和学生将迅速掌握有效使用Python所需的所有技能。
目录
出版者的话
译者序
第2版前言
第1版前言
第1章 导论1
1.1 科学计算软件1
1.2 本书的规划3
1.3 Python能与编译语言竞争吗7
1.4 本书的局限性8
1.5 安装Python和附加软件包8
第2章 IPython入门9
2.1 Tab键代码自动补全功能9
2.2 自省9
2.3 历史命令11
2.4 魔法命令11
2.5 IPython实践:扩展示例13
2.5.1 使用IPython终端的工作流程14
2.5.2 使用IPython笔记本的工作流程14
第3章 Python简明教程18
3.1 输入Python代码18
3.2 对象和标识符19
3.3 数值类型20
3.3.1 整型20
3.3.2 实数21
3.3.3 布尔值22
3.3.4 复数23
3.4 名称空间和模块23
3.5 容器对象25
3.5.1 列表25
3.5.2 列表索引26
3.5.3 列表切片26
3.5.4 列表的可变性27
3.5.5 元组28
3.5.6 字符串29
3.5.7 字典29
3.6 Python的if语句30
3.7 循环结构31
3.7.1 Python的for循环结构31
3.7.2 Python的continue语句32
3.7.3 Python的break语句33
3.7.4 列表解析33
3.7.5 Python的while循环34
3.8 函数35
3.8.1 语法和作用范围35
3.8.2 位置参数38
3.8.3 关键字参数38
3.8.4 可变数量的位置参数38
3.8.5 可变数量的关键字参数39
3.8.6 Python的输入/输出函数39
3.8.7 Python的print函数40
3.8.8 匿名函数42
3.9 Python类简介42
3.10 Python程序结构44
3.11 素数:实用示例45
第4章 NumPy49
4.1 一维数组50
4.1.1 初始构造函数51
4.1.2 “相似”构造函数52
4.1.3 向量的算术运算52
4.1.4 通用函数54
4.1.5 向量的逻辑运算符55
4.2 二维数组58
4.2.1 广播58
4.2.2 初始构造函数59
4.2.3 “相似”构造函数61
4.2.4 数组的运算和通用函数61
4.3 多维数组62
4.4 内部输入和输出62
4.4.1 分散的输出和输入62
4.4.2 NumPy文本文件的输出和输入64
4.4.3 NumPy二进制文件的输出和输入65
4.5 外部输入和输出65
4.5.1 小规模数据65
4.5.2 大规模数据66
4.6 其他通用函数66
4.6.1 值和小值66
4.6.2 求和与乘积67
4.6.3 简单统计67
4.7 多项式67
4.7.1 根据数据求多项式系数68
4.7.2 根据多项式系数求数据68
4.7.3 系数形式的多项式运算68
4.8 线性代数68
4.8.1 矩阵的基本运算68
4.8.2 矩阵的特殊运算70
4.8.3 求解线性方程组71
4.9 有关NumPy的更多内容和进一步学习71
4.9.1 SciPy71
4.9.2 SciKits72
第5章 二维图形73
5.1 概述73
5.2 绘图入门:简单图形74
5.2.1 前端74
5.2.2 后端74
5.2.3 一个简单示例图形75
5.2.4 交互式操作77
5.3 面向对象的Matplotlib77
5.4 笛卡儿坐标绘图78
5.4.1 Matplotlib绘图函数78
5.4.2 曲线样式79
5.4.3 标记样式79
5.4.4 坐标轴、网格线、标签和标题80
5.4.5 一个稍复杂的示例:傅里叶级数的部分和81
5.5 极坐标绘图82
5.6 误差条83
5.7 文本与注释84
5.8 显示数学公式84
5.8.1 非LaTeX用户85
5.8.2 LaTeX用户86
5.8.3 LaTeX用户的替代方案86
5.9 等高线图87
5.10 复合图形89
5.10.1 多个图形89
5.10.2 多个绘图90
5.11 曼德尔布罗特集:实用示例91
第6章 多维图形96
6.1 概述96
6.2 降维到二维96
6.3 可视化软件97
6.4 可视化任务示例97
6.5 孤立波的可视化98
6.5.1 交互式操作任务98
6.5.2 动画任务100
6.5.3 电影任务101
6.6 三维对象的可视化102
6.7 三维曲线103
6.7.1 使用mplot3d可视化曲线103
6.7.2 使用mlab可视化曲线105
6.8 简单曲面106
6.8.1 使用mplot3d可视化简单曲面106
6.8.2 使用mlab可视化简单曲面108
6.9 参数化定义的曲面109
6.9.1 使用mplot3d可视化Enneper曲面109
6.9.2 使用mlab可视化Enneper曲面110
6.10 居里叶集的三维可视化111
第7章 SymPy:一个计算机代数系统113
7.1 计算机代数系统113
7.2 符号和函数114
7.3 Python和SymPy之间的转换116
7.4 矩阵和向量117
7.5 一些初等微积分118
7.5.1 微分118
7.5.2 积分118
7.5.3 级数与极限119
7.6 等式、符号等式和化简120
7.7 方程求解121
7.7.1 单变量方程122
7.7.2 具有多个自变量的线性方程组122
7.7.3 更一般的方程组124
7.8 常微分方程的求解125
7.9 在SymPy中绘图127
第8章 常微分方程132
8.1 初值问题132
8.2 基本思想132
8.3 odeint函数135
8.3.1 理论背景135
8.3.2 谐波振荡器136
8.3.3 范德波尔振荡器139
8.3.4 洛伦兹方程140
8.4 两点边值问题142
8.4.1 概述142
8.4.2 边值问题的公式化143
8.4.3 简单示例144
8.4.4 线性特征值问题145
8.4.5 非线性边值问题147
8.5 延迟微分方程151
8.5.1 模型方程151
8.5.2 更一般的方程及其数值解152
8.5.3 逻辑斯谛方程153
8.5.4 麦克-格拉斯方程155
8.6 随机微分方程157
8.6.1 维纳过程158
8.6.2 It?微积分158
8.6.3 It?与斯特拉托诺维奇随机积分162
8.6.4 随机微分方程的数值求解162
第9章 偏微分方程:伪谱方法169
9.1 初边值