重学线性代数
朱维刚
前阿里云资深技术专家
9100 人已学习
新⼈⾸单¥59
登录后,你可以任选2讲全文学习
课程目录
已完结/共 19 讲
开篇词 (1讲)
重学线性代数
15
15
1.0x
00:00/00:00
登录|注册

15 | 如何从计算机的角度来理解线性代数?

你好,我是朱维刚。欢迎你继续跟我学习线性代数,今天我要讲的内容是“如何从计算机的角度来理解线性代数”。
基础和应用篇整体走了一圈后,最终我们还是要回归到一个话题——从计算机的角度来理解线性代数。或者更确切地说,如何让计算机在保证计算精度和内存可控的情况下,快速处理矩阵运算。在数据科学中,大部分内容都和矩阵运算有关,因为几乎所有的数据类型都能被表达成矩阵,比如:结构化数据、时序数据、在 Excel 里表达的数据、SQL 数据库、图像、信号、语言等等。
线性代数一旦和计算机结合起来,需要考虑的事情就多了。你还记得开篇词中我讲到的四个层次的最后一层——“能够踏入大规模矩阵计算的世界”吗?当我们面对大规模矩阵的时候,计算机的硬件指标就需要考虑在内了,这也是硬性的限制条件。在碰到大规模矩阵的时候,这些限制条件会被放大,所以精度、内存、速度和扩展这四点是需要你思考的。
精度:计算机的数字计算是有有限精度的,这个想必你能理解,当遇到迭代计算的情况下,四舍五入会放大很小的误差;
内存:一些特殊结构的矩阵,比如包含很多 0 元素的矩阵,可以考虑优化内存存储方式;
速度:不同的算法、并行执行、以及内存数据移动的耗时,这些都和速度有关;
扩展:当单机内存不够时,你在考虑横向扩展的同时,还要考虑如何分片,也就是如何分布矩阵运算的算力。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文从计算机的角度深入探讨了线性代数在数据科学和计算机科学中的重要性。文章首先指出几乎所有数据类型都可以用矩阵表示,因此在将线性代数与计算机结合时需要考虑精度、内存、速度和扩展等方面。在精度方面,需要注意计算机数字计算的有限精度与数学的连续性之间的差异。内存方面,稀疏存储和特殊结构化矩阵的存储方式能有效减少内存占用。文章还介绍了影响矩阵运算速度的因素,如计算复杂度、单指令多数据矢量运算、存储类型和网络等,并提到了一些常用的矩阵运算的包和库,如NumPy、BLAS和LAPACK。此外,还讨论了在多处理器和多节点计算中如何利用并行处理来优化大型矩阵运算。总的来说,本文强调了从计算机角度执行矩阵运算时需要考虑的多方面因素,为读者提供了深入理解线性代数的视角和方法。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《重学线性代数》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部