【数值分析】数值分析介绍(Big Picture)

Abstract: 数值分析课程介绍
Keywords: 数值分析

数值分析介绍

数值分析并没有在我们那张人工智能基础数学地图上

但是根据MIT和Stanford人工智能课程安排,数值分析这门课都是在大一或者大二的必修课,换句话说,学完线性代数和微积分,就要学数值分析,为什么数值分析没在我们的数学地图上,但却被这些大学如此之重视呢?当然我上大学也是大二就开了这么课。
我们前面学到的线性代数也好,微积分也好,概率也好,我们都是在用笔计算,博客中也有反映从头到尾,没看到我写程序吧。并且我尝试了写微积分的博客,尝试了几次都放弃了,原因就是基本都是用笔计算的东西,需要写大量的计算公式,我就放弃了。
那么当代计算主要肯定不是用手算出来的,如何连接计算机和数学各大分支就变成了重要中的重要。
没错,数值分析就是这个桥梁,数值分析。
本系列的主要目的是阐述并讨论计算机上求解数学问题的方法,从最基础的乘法加法开始,通过分析计算结果,调整计算顺序,得到更准更快的算法,并且分析计算结果的误差。从基础理论逐步过渡到更加复杂的概念。
章节安排:

  1. 基础知识
  2. 求解方程
  3. 方程组
  4. 插值
  5. 最小二乘
  6. 数值微分和积分
  7. 微分方程
  8. 边值问题
  9. 偏微分方程
  10. 随机数和应用
  11. 三角插值和FFT
  12. 压缩
  13. 特征值与奇异值
  14. 最优化

章节关系:

上图表示个个章节关系,注意本书中的所有问题我们可能都要研究下,但是微分方程等可能会放在后面,因为相关理论我们还没研究。
我们的参考书为:《Numerical Analysis Second Edition》,Timothy Sauer著。
之前没注意有没有英文版,所以用的是翻译版。

总结

本系列预计每天更新,每篇应该都不长,所有代码使用Matlab编写。当然经过调整或者不调整,就直接可以在octave下运行,当然我鼓励大家使用octave。
关于编程工具,我们目前做的是上层工作,以模型开发为主,所以需要快速实现模型的编程,试验阶段高效并没有那么重要,当模型有优秀表现的时候,我们在使用C或者CUDA进行二次开发,结合我们的CUDA系列完成最终工作。
学习数值分析和CUDA都是为了使得计算结果更快,但一个从算法角度,加速分析结果,一个从硬件和技术角度完成加速,两种最重要的途径,我们都要掌握。手持利剑,身怀秘籍,才是绝世高手。

0%