因资源下载地址容易失效,请加微信号359049049直接领取,直接发最新下载地址。

前言

==============================================================

前言

“我坚信几十年后,科学历史学家会把我们目前所处的时代,描述成科学史上一个具有深远和重大意义的转型期。在这个过程中,不断涌现的免费开源软件扮演了重要角色。”

——Fernando Perez,IPython创始人

本书主要介绍Python用于科学计算的API和工具包。我强烈推荐给奋战在工程计算和科学计算领域的朋友们。科学计算是一个交叉领域,需要计算机科学、数学、自然科学(至少是物理学、化学、环境科学、生物学等学科中的一种)以及工程学的知识。Python包含大量的包、API和工具,为众多科学与工程领域提供所需的功能。

用户众多的社区、丰富齐全的帮助文档、大量的科学计算库和开发环境、高效的性能以及良好的支持,使得Python成为科学计算的极佳选择。

本书内容

第1章,科学计算概况与选择Python的理由,主要介绍科学计算的基本概念,同时介绍Python的背景知识、指导原则以及为何用Python进行科学计算是十分高效的。

第2章,科学工作流和科学计算的结构,主要介绍通常在解决科学问题时需要用到的数学与数值分析概念,还会简单地介绍Python语言为科学计算提供的包、工具和API。

第3章,有效地制造与管理科学数据,主要介绍科学项目相关数据的各个方面,包括基本概念、各种数据操作以及存储数据的格式与软件,还会介绍一些标准数据集和生成合成数据的技术。

第4章,Python科学计算API,主要介绍不同科学计算API和工具(包括NumPy、SciPy和SymPy等)的基本概念、特性以及简单的示例程序,还会简单地介绍使用IPython、matplotlib和pandas进行交互式计算、数据分析以及数据可视化。

第5章,数值计算,主要介绍如何利用Python的NumPy和SciPy包完成数值计算。一开始先介绍数值计算的基础知识,然后介绍优化、插值、傅里叶变换、信号处理、线性代数、统计、空间算法、图像处理、文件输入/输出等进阶知识。

第6章,用Python做符号计算,首先介绍CAS(Computerized Algebra System,计算机化代数系统)的基础知识,并用SymPy实现符号计算。这一章将围绕CAS介绍多个话题,既包括简单的数学表达式和基本的算术运算,也有数学和物理学的高级概念。

第7章,数据分析与可视化,介绍matplotlib和pandas在数据分析与可视化方面的相关概念和应用示例。

第8章,并行与大规模科学计算,介绍实现高性能科学计算的工具和方法,包括IPython(配合MPI)并行计算、使用StarCluster配置Amazon EC2计算集群、多进程与多线程方法、Hadoop和Spark。

第9章,真实案例介绍,介绍一些利用Python开发的科学计算应用、库和工具的案例。这些案例都源自不同的工程和科学领域。

第10章,科学计算的最佳实践,介绍科学计算的最佳实践,内容包括方案设计、代码编写、数据管理、应用部署、高性能计算、数据安全与隐私、应用维护以及客户支持等,同时还会介绍一些专门针对Python开发的最佳实践。

本书需要的工具

运行本书的示例程序首先需要一台装有Python 2.7.9或以上版本的计算机以及Python的一些API、包和工具。然后,需要一些Python库(包括NumPy、SciPy、SymPy、matplotlib、pandas和IPython),还有IPython.parallel包、pyzmq、SSH安全协议(如果你需要)以及Hadoop。

目标读者

本书面向希望了解科学计算的Python程序员。阅读本书的前提是你已经掌握了Python编程的基本概念。

排版约定

在本书里,你将会看到用于区分不同类型信息的文本样式。以下给出了一些文本样式的示例及其含义。

正文中的代码和用户输入会这样显示:“随机模块中的所有函数都是random.Random类的一个隐含实例的方法。”

代码块示例如下:

import random

print random.random()

print random.uniform(1,9)

print random.randrange(20)

print random.randrange(0, 99, 3)

print random.choice(ABCDEFGHIJKLMNOPQRSTUVWXYZ) # Output P

items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

random.shuffle(items)

print items

print random.sample([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 5)

weighted_choices = [(Three, 3), (Two, 2), (One, 1), (Four, 4)]

population = [val for val, cnt in weighted_choices for i in

range(cnt)]

print random.choice(population)

这个图标表示警告或重要事项。

这个图标表示提示和技巧。

读者反馈

我们非常欢迎读者的反馈。如果你对本书有些想法,有什么喜欢或是不喜欢的,请反馈给我们。这将有助于我们开发出能够充分满足读者需求的图书。

一般的反馈,请发送电子邮件至feedback@packtpub.com,并在邮件主题中注明书名。

如果你在某个领域有专长,并有意编写一本书或是贡献一份力量,请参考我们的作者指南,地址为//www.packtpub.com/authors。

客户支持

你现在已经是Packt引以为傲的读者了,为了能让你的购买物有所值,我们还为你准备了以下内容。

下载示例代码

你可以用你的账户从//www.packtpub.com下载所有已购买Packt图书的示例代码文件。如果你从其他地方购买的本书,可以访问//www.packtpub.com/support并注册,我们将通过电子邮件把文件发送给你。

下载本书的彩色图片

我们也提供了本书的PDF文件,里面包含了本书的截屏和图表等彩色图片。彩色图片将能帮助你更好地理解输出的变化。下载地址:https://www.packtpub.com/sites/default/files/downloads/8823OS.pdf。

勘误

虽然我们已尽力确保本书内容正确,但出错仍旧在所难免。如果你在我们的书中发现错误,不管是文本还是代码,希望能告知我们,我们不胜感激。这样做,你可以使其他读者免受挫败,也可以帮助我们改进本书的后续版本。如果你发现任何错误,请访问//www.packtpub.com/submit-errata提交,选择你的书,点击勘误表提交表单的链接,并输入详细说明。勘误一经核实,你的提交将被接受,此勘误将上传到本公司网站或添加到现有勘误表。

访问https://www.packtpub.com/books/content/support,在搜索框中输入书名,你也可以在Errata部分查看已经提交的勘误信息。

盗版

版权材料在互联网上的盗版是所有媒体都要面对的问题。Packt非常重视保护版权和许可证。如果你发现我们的作品在互联网上被非法复制,不管以什么形式,都请立即为我们提供位置地址或网站名称,以便我们可以寻求补救。

请把可疑盗版材料的链接发到copyright@packtpub.com。

非常感谢你帮助我们保护作者,以及保护我们给你带来有价值内容的能力。

问题

如果你对本书内容存有疑问,不管是哪个方面,都可以通过questions@packtpub.com联系我们。我们会尽最大努力解决。

电子书

扫描以下二维码,即可购买本书电子版。

目录

==============================================================

版权信息

译者序

前言

致谢

第1章 科学计算概况与选择Python的理由

1.1 科学计算的定义

1.2 科学计算的简单处理流程

1.3 科学与工程领域的案例

1.4 解决复杂问题的策略

1.5 近似、误差及相关统计概念和术语

1.6 计算机算术运算和浮点数

1.7 Python编程语言简介

1.8 小结

第2章 科学工作流和科学计算的结构

2.1 科学计算的数学部分

2.2 Python科学计算

2.3 IPython交互式编程简介

2.4 用SymPy进行符号计算

2.5 画图程序库

2.6 小结

第3章 有效地制造与管理科学数据

3.1 数据的基本概念

3.2 数据存储软件与工具箱

3.3 常见的数据操作

3.4 科学数据的格式

3.5 现成的标准数据集

3.6 数据生成

3.7 模拟数据的生成(构造)

3.8 大规模数据集的简要介绍

3.9 小结

第4章 Python科学计算API

4.1 Python数值科学计算

4.2 SymPy符号计算

4.3 数据分析和可视化的API和工具

4.4 小结

第5章 数值计算

5.1 NumPy的基本对象

5.2 SciPy的介绍

5.3 小结

第6章 用Python做符号计算

6.1 符号、表达式和基本运算

6.2 求解方程

6.3 有理数、指数和对数函数

6.4 多项式

6.5 三角函数和复数

6.6 线性代数

6.7 微积分

6.8 向量

6.9 物理模块

6.10 漂亮的打印功能

6.11 密码学模块

6.12 输入的句法分析

6.13 逻辑模块

6.14 几何模块

6.15 符号积分

6.16 多项式操作

6.17 集合

6.18 运算的简化和合并

6.19 小结

第7章 数据分析与可视化

7.1 matplotlib

7.2 pandas程序库

7.3 I/O操作

7.4 IPython

7.5 小结

第8章 并行与大规模科学计算

8.1 用IPython做并行计算

8.2 IPython并行计算架构

8.3 并行计算示例

8.4 IPython的高级特性

8.5 IPython数据安全措施

8.6 小结

第9章 真实案例介绍

9.1 用Python开发的科学计算应用

9.2 Python开发的盲音触觉识别系统

9.3 Python开发的科学计算程序库

9.4 小结

第10章 科学计算的最佳实践

10.1 方案设计阶段的最佳实践

10.2 功能实现阶段的最佳实践

10.3 数据管理与应用部署的最佳实践

10.4 实现高性能的最佳实践

10.5 数据隐私与安全的最佳实践

10.6 测试与维护的最佳实践

10.7 Python常用的最佳实践

10.8 小结

编辑推荐

==============================================================

全面阐述Python科学计算基础内容

提供Python科学计算精彩案例

总结科学计算的任务、难点以及杰出实践经验

科学计算概况、结构

使用NumPy和SciPy完成数值计算

使用SymPy进行符号计算的概念和方法

使用matplotlib画图程序库做数据可视化

使用pandas、matplotlib和IPython组合做数据分析与可视化

Python的并行和高性能计算方法

科学计算应用、库和工具的Python开发案例

方案设计、代码编写、高性能计算等科学计算杰出实践

特别说明:购买此电子书,暂无附赠视频,敬请谅解。

作者简介

==============================================================

Hemant Kumar Mehta,博士,专注于分布式计算和科学计算领域,拥有十余年教学、科研和软件开发经验。他是ACM会员、IEEE高级会员,以及IACSIT、IAENG和MIR等实验室的高级会员。

陶俊杰,长期从事数据分析工作,酷爱Python,每天都和Python面对面,乐此不疲。本科毕业于北京交通大学机电学院,硕士毕业于北京交通大学经管学院。曾就职于中国移动设计院,目前在京东任职。

陈小莉,长期从事数据分析工作,喜欢Python。本科与硕士毕业于北京交通大学电信学院。目前在中科院从事科技文献与专利分析工作。

精彩书摘

==============================================================

科学计算(scientific computing)是指在科学与工程领域,使用计算机数学建模和数值分析技术分析和解决问题的过程。科学问题包括不同科学学科中的问题,如地球科学、空间科学、社会科学、生命科学、物理学和形式科学。这些学科基本涵盖了现有的所有科学领域,从传统科学到现代工程科学,如计算机科学,都在其中。工程问题包括从土木工程和电子工程到(最新的)生物医学工程领域的各种问题。

本章将介绍的话题如下:

·科学计算的基础知识

·科学计算的处理流程

·科学与工程领域的计算案例

·解决复杂问题的策略

·近似、误差和相关统计术语

·误差分析的基本概念

·计算机算法与浮点数

·Python背景介绍

·为什么选择Python做科学计算

数学建模是指利用数学术语表示设备、物体、现象和观念的行为的建模行为。一般情况下,数学建模可以帮助人们更好地理解观念、设备和物体的行为或观测值。它可以帮助人们解释观测值,并对未来的行为进行预测,或者推导出还没有被观测或测量的结果。数值分析是计算机科学与数学的交叉领域,通过设计、分析并最终实现算法,来解决自然科学(例如物理学、生物学和地球科学)、社会科学(例如经济学、心理学、社会学和政治学)、工程学、医学和商学问题。Python有一个专门研究多体动力学的包和工作流,叫作Python Dynamics(即PyDy)。它是基于SymPy力学包开发的工作流和软件包。PyDy扩展了SymPy,并实现了多体动力学仿真。

科学计算也被称作计算科学(computational science)或科学计算法(scientific computation),其主要思路是开发数学模型,通过量化分析技术和计算机解决科学问题。

“科学计算是利用计算机解决科学与工程领域的数学建模问题所需的工具、技术和理论的集合。”

——Gene H. Golub和James M. Ortega

简而言之,科学计算可以看成是一门交叉学科,如下图所示。

科学计算是一门交叉学科

科学计算首先需要人们了解问题(通常是科学和工程领域的问题)背后的专业知识,同时需要具有数学建模能力,掌握各种数值分析技术,并能利用计算机技术实现高效率、高性能的计算工具。它还需要使用计算机以及各种各样的外围设备,包括网络设备、存储工具、计算处理器、数学与数值分析软件。此外还需要掌握编程语言,并了解问题所在领域的知识数据库。人们已经利用科学计算的相关技术创造出了新的应用,让科学家们能够从现有的数据和过程中发现新的知识。

在计算机科学方面,科学计算可以看成是对数学模型和问题所在领域的数据/信息的数值仿真。仿真目标由具体问题决定。目标可以是探索事件发生的原因,重新构建一个具体的场景,优化过程,或者预测事件发生的时机。有时数值仿真可能是唯一选择,或者是最佳选择。有一些现象和场景基本上不可能进行实验,例如气候研究、天体物理学研究和天气预测。在另一些场景中,实际的实验并不可取,比如检验某种材料或产品的可靠性或强度。有些实验的时间/经济成本很高,例如车祸或生命科学实验。在以上这些场景中,科学计算能够经济高效地帮助用户分析和解决问题。

下面的流程图简单说明了科学计算的步骤。第一步是为问题设计数学模型。当创建完数学模型后,下一步是开发算法。算法通常需要利用合适的编程语言和恰当的实现框架来实现。编程语言的选择是关键决策点,由应用的性能和功能需求决定。另一个重要的决策点是确定实现算法的框架。确定了语言和框架之后,就可以实现算法并进行样本仿真了。可以对仿真的结果进行性能和准确率分析。如果实现的结果或效果不符合预期,则应该确定问题的根源。之后,需要回头改进数学模型,或者重新设计算法或它的实现,并选择合适的编程语言和框架来实现算法。

媒体评论

==============================================================

内容简介

==============================================================

Python因为其自身的诸多优点而成为科学计算的**选择。本书是将Python用于科学计算的实用指南,既介绍了相关的基础知识,又提供了丰富的精彩案例,并为读者总结了杰出实践经验。其主要内容包括:科学计算的基本概念与选择Python的理由,科学工作流和科学计算的结构,科学项目相关数据的各个方面,用于科学计算的API和工具包,如何利用Python的NumPy和SciPy包完成数值计算,用Python做符号计算,数据分析与可视化,并行与大规模计算,等等。

因资源下载地址容易失效,请加微信号359049049直接领取,直接发最新下载地址。

python科学计算基础教程pdf下载-Python科学计算基础教程_PDF电子书相关推荐

  1. python编程入门到实践pdf下载-Python编程从入门到实践的PDF教程免费下载

    本书旨在让你成为优秀的程序员,具体地说,是优秀的Python程序员.通过阅读本书,你将迅速掌握编程 概念,打下坚实的基础,并养成良好的习惯.阅读本书后,你就可以开始学习Python高级技术,并能够更 ...

  2. python3基础教程pdf下载-廖雪峰Python3基础教程完整版电子书免费下载

    Python 教程 这是小白的 Python 新手教程,具有如下特点: 中文,免费,零起点,完整示例,基于最新的 Python 3 版本. Python 是一种计算机程序设计语言.你可能已经听说过很多 ...

  3. python从入门到精通pdf下载-Python网络爬虫从入门到精通 PDF 下载

    第1章 Python与网络爬虫1 1.1 Python语言1 1.1.1 什么是Python1 1.1.2 Python的应用现状2 1.2 Python的安装与开发环境配置3 1.2.1 在Wind ...

  4. python从入门到放弃pdf下载-Python从入门到放弃(一): Python下载及打开世界之窗...

    简介: Python是一种动态的.面向对象的脚本语言,起初被用于编写自动化脚本,后随着版本迭代及功能升级,目前也可以用于单独开发. Python是一门跨平台的脚本语言,Python规定了一个Pytho ...

  5. python科学计算基础教程pdf下载-Python科学计算 PDF 第2版

    给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python.科学计算方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小59.5 MB,张若愚编写,目前豆瓣.亚马逊.当当.京东 ...

  6. python科学计算基础教程pdf下载-python科学计算 第二版 PDF 下载

    相关截图: 资料简介: 本书详细介绍Python科学计算中最常用的扩展库NumPy.SciPy.matplotlib.Pandas.SymPy.TTK.Mayavi.OpenCV.Cython,涉及数 ...

  7. c语言基础知识pdf下载,C语言主基础知识.pdf

    C语言主基础知识 泰山学院CSDN 俱乐部 C 语言主要基础内容 1.预处理命令 预处理的概念:在编译之前进行的处理.预处理命令以符号"#"开头. 2 .关于#include 在编 ...

  8. python编程案例教程答案-python编程案例教程pdf下载

    python编程案例教程pdf下载内容摘要 python编程案例教程pdf下载教程,巧妙的谋划,巧妙的计谋.娄底电脑教程,巧克力奶茶等都是理想的增肥品.巧克力麦片等等,南宁街舞教程,巧克力成为一种&q ...

  9. 量化交易python入门书籍_张杨飞《Python量化交易入门》PDF下载

    张杨飞<Python量化交易入门>PDF下载 首页 > 计算机类 字号:小 中 大 评论:0 条 评论:0 条 Python量化交易入门 [作 者]张杨飞 [形态项] 402 [出版 ...

最新文章

  1. 数据库的设计经验(经典)
  2. JSP里的System.out.println
  3. 关于mysql内存表的一个帖子(转载)
  4. java signed_如何从java中的字节读取signed int?
  5. python3中argparse模块
  6. 《架构系列四:一键部署应用到Tomcat集群中》
  7. Focal Loss 分类问题 pytorch实现代码(简单实现)
  8. 这7个问题,软件测试面试必问!!!
  9. php mysql 手机归属地_PHP 手机号码归属地查询代码 (API 接口 / mysql)
  10. 服务器raid5数据恢复成功案例,磁盘阵列数据恢复方法
  11. 2021年茶艺师(中级)考试题库及茶艺师(中级)报名考试
  12. 判断任意时刻、位置是白昼?黑夜?
  13. matlab求二阶微分方程的通解,二阶常微分方程matlab的数值解和解析解分析总报告.ppt...
  14. Java面试题 java高级
  15. docker中没有vi/vim命令
  16. OpenCV的Scalar对象怎样初始化,如何取分量值,如何与标量相乘?
  17. 雷达通信 技术《相控阵入门到精通》 视频教程 代码 下载
  18. STM32汉字字模制作详解(OLED实战)
  19. 玩转LInux系统02--虚拟机使用和常用操作
  20. linux系统里批量替换文件内容的方法

热门文章

  1. BDB c++例子,从源码编译到运行
  2. cassandra框架模型之一——Colum排序,分区策略 Token,Partitioner bloom-filter,HASH
  3. js中使用template.js插件
  4. Vue开发跨端应用(四)electron发布web应用并打包app
  5. AJAX(一)XMLHttpRequest
  6. 设计Optaplanner下实时规划服务的失败经历
  7. 使用U函数之后如何去掉index.php
  8. 邮箱性质--全选单选的操作和传值 用属性的name传值
  9. 微软企业库4.1学习笔记(六)创建对象
  10. DataGridView 里数据的动态明细 DataGridView GridView