计算方法 读书笔记

### 写在前面

计算方法课程在第八周就这样匆匆结课了,我还没感觉学会什么东西,可能是去听课太少了吧。每次最后一周或几天预习完一门课程,都觉得有什么东西要留下来,尤其是在去年遇到一些算法的矩阵推到,发现自己已经把大一学的东西都还给老师了。趁刚考完试还有一些印象,我想赶快把一些体会记录一下。

由于本人课没咋听,只能说一些自己认为之后会对自己有帮助的东西,算是这门学科中的一些思想吧,至于对不对,就……

### 泰勒展开与拉格朗日余项

事实上,计算方法,是一些数值的方法,对于计算机来说就是要解决一些拟合问题。对于这个问题,拉格朗日就给出来很好的方法,使用泰勒展开就可以将大多函数展开成多项式形式,而更好的是,这种展开程度可以表示拟合的好坏。将函数看成是多项式,这就是泰勒展开的想法,也是这些数值方法的基本思想,可以说没有这种展开形式就不会有这些方法。

说句题外话,其实,数学中很多地方都在使用这种具体化的技术,比如离散数学中“群”到“置换群”的同构。本课程中的很多问题就是在解决多取拉格朗日展开项的问题,取得的阶越高就能得到更好的拟合效果。这就是一个光滑问题。

### 光滑

具体怎样实现光滑,对于积分的很多待定系数的方法(例如Newton-Cotes公式、Gauss公式)来说,就是使用的拉格朗日展开对这些系数进行求解。利用更高的阶来加速收敛,从根本上来说,也是使用的一些同阶无穷小消制造更大阶的无穷小(Romberg积分法)。

对于光滑,也可以直接考虑一些连续性,从原函数连续到n阶导数连续,比如Hermite插值方法,样条插值方法,这都是一些使用n阶导数进行的光滑化处理。在本学期我还选择了图形学的课程,在之中就使用到了很多的类似光滑处理,比如像素化屏幕显示、曲面显示、多边形倒角等等。

### 迭代法

个人感觉,迭代法才是计算机计算方法的中心,也有可能这是我以前很少接触这种想法吧,感觉这种思想是很值得反思和提倡的。

利用迭代法还可以得到加速收敛的作用,甚至可以合理的控制误差(预报矫正公式),或者选择步长。利用此方法的就是各种迭代,逼近(Newton迭代、Jacobi迭代)等等方法。这种方法也是一种很好地控制加速的方法简单来说,对于变化做一个线性变化即可做到加速(例如超松弛法)。

这种方案也是解一些复杂情况的通用方案,现在也常常用于神经网络的求解等等,在这种计算中也经常使用其类似超松弛法的加速方法,甚至有方法计算步长应该取得的值。

### 降维、升维

降维、升维思想在计算方法中也很常见,毕竟让计算机去求解积分、微分的解析解还是一件非常困难的事情,甚至对于很多情况这就是不可能的。利用这种思想的就有Newton-Cotes公式、Gauss公式(积分转化为原函数计算)。从这方面来说,泰勒展开就是一种将维度分开的过程,而迭代法也是一种降维(将一种需要大量储存或者运算的方法简化到线性的计算)。例如,追赶法把n^2的矩阵分解变成3n的存储和3n的迭代。

### 构造

最后提一下构造这件事,这个我觉得就是数学的精华了,但是,数学家一般都不会告诉你他怎么想到这样构造的,一般都是我这样构造你跟着我的思路想这样、这样就证明出来了,但是你自己想就想不到怎么构造。可能这就是应用学科和科学研究的区别吧。利用好的构造往往能够简化问题,甚至创造和挖掘条件(利用余项的加根方法)。

利用到此方法的就有n次插值的多项式方法中的l0-ln函数的设置,适用这种方法就可以得到很好的拟合函数形式,同理Newton插值也是用了这种方式,甚至可以降维到迭代。

### 动态规划

动态规划可以算是算法设计课程中的一个核心了,很多算法都是由这种思想设计出来的,不过正因为这种方法如此的适用,也导致我经常想到也用不出来。由于本人算法实在不行,下午又刚被虐过,我就捡一些相关的方法简单说一下这个。比如,Romberg法求积分、矩阵三角分解法求方程的根、牛顿插值中微商的计算。利用一些子问题构造高阶父问题,利用子问题解决父问题。

时间: 2024-12-16 05:38:06

计算方法 读书笔记的相关文章

《TCP/IP详解卷1:协议》第11章 UDP:用户数据报协议-读书笔记

章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(1)-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(2)-读书笔记 <TCP/IP详解卷1:协议>第4章 ARP:地址解析协议-读书笔记 <TCP/IP详解卷1:协议>第5章 RARP:逆地址解析协议-读书笔记 <TCP/IP详解卷1:协

《机器学习实战》读书笔记2:K-近邻(kNN)算法

声明:文章是读书笔记,所以必然有大部分内容出自<机器学习实战>.外加个人的理解,另外修改了部分代码,并添加了注释 1.什么是K-近邻算法? 简单地说,k-近邻算法采用测量不同特征值之间距离的方法进行分类.不恰当但是形象地可以表述为近朱者赤,近墨者黑.它有如下特点: 优点:精度高.对异常值不敏感.无数据输入假定 缺点:计算复杂度高.空间复杂度高 适用数据范围:数值型和标称型 2.K-近邻算法的工作原理: 存在一个样本数据集合,也称作训练样本集,并且样本集中的每个数据都存在标签,即我们知道样本集中

读书笔记-基于IP的物联网架构技术与应用

最近在看<基于IP的物联网架构,技术与应用>这边书,将自己的读书笔记,记录于此. 一.什么是智能物件? 定义:智能物件是装备了传感器,微处理器,通信装置和电源的设备. 重要属性:与现实世界的交互 和 通信能力 面临挑战: 节点级挑战:能耗.体积大小.成本.资源限制,电源效率,计算能力 网络级挑战:规模大数据量多,网络大小影响(smart object networks)的路由协议设计.路由可以集中生成,即由一个中央服务器为整个网络计算路由图,也可以是分布式的,即每个节点独立决定每条消息发送到哪

《Linux内核设计与实现》读书笔记(十一)- 定时器和时间管理

系统中有很多与时间相关的程序(比如定期执行的任务,某一时间执行的任务,推迟一段时间执行的任务),因此,时间的管理对于linux来说非常重要. 主要内容: 系统时间 定时器 定时器相关概念 定时器执行流程 实现程序延迟的方法 定时器和延迟的例子 1. 系统时间 系统中管理的时间有2种:实际时间和定时器. 1.1  实际时间 实际时间就是现实中钟表上显示的时间,其实内核中并不常用这个时间,主要是用户空间的程序有时需要获取当前时间, 所以内核中也管理着这个时间. 实际时间的获取是在开机后,内核初始化时

读书笔记:计算机网络第二章:物理层

这是我在Coursera上的学习笔记.课程名称为<Computer Networks>,出自University of Washington. 由于计算机网络才诞生不久,目前正在以高速在发展,所以有些旧的教材可能都已经跟不上时代了.这门课程在2013年左右录制,知识相对还是比较新的.覆盖了计算机网络中的各个协议层,从物理层到应用层都讲得非常仔细.学完这门课程之后对计算机网络会有比较深刻的了解. 本章详细讲解了物理层,讲解了比特流如何通过各种介质进行传播. 基本概述 物理层的功能 专注比特信号是

《practical Java》读书笔记

题记: 花了一周把Peter Haggar的<practical Java>看了遍,有所感悟,年纪大了, 写下笔记,方便日后查看.也希望有缘之人可以看看,做个渺小的指路人. 不足之处还望指正. 概述: 全书分为六个部分,包括一般技术.对象与相等性.异常处理.性能.多线程.对象. 一般技术:举例了几个java常见错误用法的说明和解释,诸如array和vector的选择,多态与instanceof等等 对象和相等性则:针对equals的详细说明,是迄今本人见过对equals理解最深的一本书了,其中

《SQL Server企业级平台管理实践》读书笔记——SQL Server数据库文件分配方式

原文:<SQL Server企业级平台管理实践>读书笔记--SQL Server数据库文件分配方式 1.文件分配方式以及文件空间检查方法 最常用的检查数据文件和表大小的命令就是:sp_spaceused 此命令有三个缺陷:1.无法直观的看出每个数据文件和日志文件的使用情况.2.这个存储过程依赖SQL Server存储在一些系统视图里的空间使用统计信息计算出的结果,如果没有更新空间统计信息,比如刚刚发生大数据插入,sp_spaceused的结果就不准确.3.这个命令主要是针对普通用户的数据库,对

新随笔--读书笔记《学会提问》:学习提出好问题的思维方法

新随笔--读书笔记<学会提问>:学习提出好问题的思维方法 书中要点摘录: "对自己的所见所闻如何回应,你必须做出选择: 1.你把别人的观点当成自己的观点. 2. 对对方的观点进行批判后,再接收." 批注: 我平时也有这个问题,常常会不加思考的接受别人的观点,通常是比我资深或更专业的人的观点,大多数时候确实没有经过分析. 日后需要注意: 1. 或许他的论点是片面的,或已过时的,我没有分析,简单接受,时间长了会影响我的思维习惯. 2. 如果对观点进行批判后再接受,更能将谈话深入

《C#图解教程》读书笔记之三:方法

本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.方法那些事儿 (1)方法的结构:方法头-指定方法的特征,方法体-可执行代码的语句序列: (2)方法的调用:参数.值参数.引用参数.输出参数.参数数组: ①参数: 形参-本地变量,声明在参数列表中:形参的值在代码开始之前被初始化: 实参-实参的值用于初始化形参: ②值参数: 为形参在栈上分配内存,将实参的值复制到形参: ③引用参数: 不为形参在栈上分配内存,形参的参数名作为实参变量的别名指向同一位置,必须使用ref关