程序员数学 : 用Python学透线性代数和微积分

0
(0)

程序员数学
: 用Python学透线性代数和微积分

作者:[美]保罗·奥兰德

出版社:图灵|人民邮电出版社

副标题:用Python学透线性代数和微积分

原作名:MathforProgrammers:3DGraphics,MachineLearning,andSimulationswithPython

译者:百度KFive

出版年:2021-12

页数:513

定价:129.80元

装帧:平装

丛书:图灵程序设计丛书·程序员的数学

ISBN:9787115576491

内容简介
······

数学拥有无穷的力量。它既帮助游戏开发工程师建模物理世界,也帮助量化金融分析师赚取利润,还帮助音频处理工程师制作音乐。在数据科学和机器学习领域,数学知识更是不可或缺的。

有人热爱数学,将它比作诗歌,为之着迷一生;有人很难领会数学的妙处,受困于“数学焦虑症”。本书正是为了帮助程序员消除这种焦虑,用自己熟悉的工具,即代码,重新发现数学之美。

◎ 编辑推荐

本书以图文结合的方式帮助你用Python代码解决程序设计中的数学问题。通过边学边练,你会发现线性代数和微积分的重要概念跃然纸上、印在脑中。

◇ 向量几何和计算机图形

◇ 矩阵和线性变换

◇ 微积分的核心概念

◇ 仿真和优化

◇ 图像处理和音频处理

◇ 用于回归和分类的机器学习算法

◎ 内容简介

代码和数学是相知相惜的好伙伴,它们基于共同的理性思维,数学公式的推导可以自然地在编写代码的过程中展开。

本书带领程序员使用自己熟知的工具,即代码,来理解机器学习和游戏设计中的数学知识。通过Python代码和300多个练习,读者将掌握二维向量、三维向量、矩阵变换、线性方程、微积分、线性回归、逻辑回归、梯度下降等。

◎ 名人推荐

“这本书循序渐进地介绍了程序员应该掌握的有用的数学概念。”

——Christopher Haupt,Swoogo公司工程副总裁

“这本书严谨而简明地概述了对现代编程起支撑作用的数学知识。”

——Dan Sheikh,BCG Digital Ventures公司工程师

“实用、引人入胜。推荐所有程序员阅读。”

——Vincent Zhu,RethinkXSocial网站联合创始人兼CTO

“这本书为需要提高数学技能的程序员建造了一座桥梁,使数学不再那么神秘、那么难以理解。”

——Robert Walsh,Excalibur Solutions公司总裁

作者简介
······

◎ 著者简介

保罗·奥兰德(Paul Orland),硅谷创业公司Tachyus的联合创始人兼CEO,拥有耶鲁大学数学学士学位和华盛顿大学物理学硕士学位,曾任微软公司软件开发工程师,近10年来一直致力于使用数学和函数式编程来优化能源生产。

◎ 译者简介

百度KFive,KFive是百度App大前端团队,成员涵盖PC端和手机百度的大前端研发者。在业务支持之外,KFive研究的技术方向还包括前端基础架构、跨端开发、Node.js、端智能和前端智能化等,并且积累了丰富的产出。KFive的名称不仅来源于起初的办公地点在百度科技园五号楼,更体现了其对软件开发的理解,即“五Key”:Key1者,精益求精;Key2者,大巧不工;Key3者,独运匠心;Key4者,百炼千锤;Key5者,善始善终。

目录
······

第1章 通过代码学数学 1

1.1 使用数学和软件解决商业问题 2

1.2 如何高效学习数学 9

1.3 用上你训练有素的左脑 11

1.4 小结 14

第一部分 向量和图形

第2章 二维向量绘图 16

2.1 二维向量绘图 16

2.2 平面向量运算 25

2.3 平面上的角度和三角学 41

2.4 向量集合的变换 57

2.5 用Matplotlib绘图 61

2.6 小结 62

第3章 上升到三维世界 63

3.1 在三维空间中绘制向量 64

3.2 三维空间中的向量运算 70

3.3 点积:测量向量对齐 78

3.4 向量积:测量定向区域 88

3.5 在二维平面上渲染三维对象 96

3.6 小结 102

第4章 变换向量和图形 103

4.1 变换三维对象 105

4.2 线性变换 117

4.3 小结 132

第5章 使用矩阵计算变换 134

5.1 用矩阵表示线性变换 135

5.2 不同形状矩阵的含义 148

5.3 用矩阵平移向量 163

5.4 小结 174

第6章 高维泛化 176

6.1 泛化向量的定义 177

6.2 探索不同的向量空间 188

6.3 寻找更小的向量空间 205

6.4 小结 220

第7章 求解线性方程组 222

7.1 设计一款街机游戏 223

7.2 找到直线的交点 227

7.3 将线性方程泛化到更高维度 240

7.4 通过解线性方程来改变向量的基 253

7.5 小结 257

第二部分 微积分和物理仿真

第8章 理解变化率 261

8.1 根据体积计算平均流速 262

8.2 绘制随时间变化的平均流速 266

8.3 瞬时流速的近似值 271

8.4 体积变化的近似值 278

8.5 绘制随时间变化的体积图 283

8.6 小结 290

第9章 模拟运动的对象 291

9.1 模拟匀速运动 291

9.2 模拟加速 295

9.3 深入研究欧拉方法 296

9.4 用更小的时间步执行欧拉方法 300

9.5 小结 305

第 10章 使用符号表达式 306

10.1 用计算机代数系统计算精确的导数 309

10.2.1 将表达式拆分成若干部分 310

10.2.3 使用Python语言实现表达式树 311

10.2.4 练习 313

10.3 符号表达式的应用 315

10.4 求函数的导数 323

10.5 自动计算导数 330

10.6 符号化积分函数 335

10.7 小结 338

第 11章 模拟力场 339

11.1 用向量场对引力建模 339

11.2 引力场建模 342

11.3 把引力加入小行星游戏 345

11.4 引入势能 350

11.5.1 用横截面测量陡度 354

11.5.2 计算偏导数 356

11.5.3 用梯度求图形的陡度 357

11.5.4 用势能的梯度计算力场 359

11.5.5 练习 361

11.6 小结 364

第12章 优化物理系统 365

12.1 测试炮弹模拟器 367

12.2 计算最佳射程 373

12.3 增强模拟器 381

12.4 利用梯度上升优化范围 388

12.5 小结 399

第13章 用傅里叶级数分析声波 400

13.1 声波的组合和分解 401

13.2 用Python播放声波 402

13.3 把正弦波转化为声音 406

13.4 组合声波得到新的声波 412

13.5 将声波分解为傅里叶级数 419

13.6 小结 428

第三部分 机器学习的应用

第14章 数据的函数拟合 431

14.1 衡量函数的拟合质量 433

14.2 探索函数空间 441

14.3 使用梯度下降法寻找最佳拟合线 445

14.4 非线性函数拟合 448

14.5 小结 453

第15章 使用logistic回归对数据分类 455

15.1 用真实数据测试分类函数 456

15.2 绘制决策边界 460

15.3 将分类问题构造为回归问题 464

15.4 探索可能的logistic函数 471

15.5 寻找最佳logistic函数 477

15.6 小结 483

第16章 训练神经网络 484

16.1 用神经网络对数据进行分类 485

16.2 手写数字图像分类 486

16.3 设计神经网络 491

16.4 用Python构建神经网络 499

16.5 使用梯度下降法训练神经网络 504

16.6 使用反向传播计算梯度 509

16.7 小结 513

附录A 准备Python(图灵社区下载)

附录B Python技巧和窍门(图灵社区下载)

附录C 使用OpenGL和PyGame加载和渲染三维模型(图灵社区下载)

附录D 数学符号参考(图灵社区下载)

评论 ······

这本书写得真好!跟着学,心流出现。

很好,可以接着搞motion matching了

最后一部分还没看,先不提该书翻译的一些小问题不断,这本书可能并不适合想真正学数学的人,标题党太严重,实际上原文副标题叫:3d Graphics, machine learning and simulations,不知道怎么翻译成线性代数和微积分(虽然书中确实有这方面内容),而且原书的这三方面讲的也并不清楚,看的时候甚至感觉代码是一种累赘,相反对基础概念的解释却比较透彻。阅读建议是不要像下面说的一样…

太适合菜鸡了

点击星号评分!

平均分 0 / 5. 投票数: 0

还没有投票!请为他投一票。

推荐阅读

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册