最近在重新学习线性代数,学习的教材是MIT Gilbert Strang 教授的《INTRODUCTION TO LINEAR ALGEBRA》,在第4.4章节格拉姆-施密特正交化时,书中章节末尾介绍了一种改进的格拉姆-施密特正交化方法,但书中给出了公式,省略了很多细节,给学习理解造成了一定的难度,为自己今后或者遇到同样问题的朋友记录一下公式的来由。

首先,介绍一下格拉姆施密特正交化的思想和方法。介绍正交化还得说说投影矩阵,我们在用最小二乘法解方程组的最优解的时候,由于Ax=b,b一般情况下,b并不一定存在于A的列空间中,这种情况下Ax=b其实是无解的,因为找不到列空间内合适的线性组合使其结果为b。这是后最小二乘法就派上用场了,最小二乘法的思想是,既然Ax=b无解,我们在列空间内找到一个向量p,下面这个方程组一定有解,那么怎么寻找p呢,最小二乘选取的p是使得||e||=||b-p||误差最小的那个p,其实这个p就是b在A的列空间上的投影。前面说了那么一大堆就是为了引出投影,那这个投影是怎么做呢,推导这里我就省略了,直接给出投影矩阵P:

在线上的投影矩阵,这是后a是线上的向量:

在子空间上的投影矩阵:。

知道投影矩阵之后,那么为什么要正交化呢,有什么好处呢?投影矩阵中包含,使得普通的投影矩阵并不是那么漂亮,这一向给求解带来了很大的麻烦,那么能不能消除它呢?答案就是找到A列空间的一组标准正交基Q,因为对于标准正交基有如下性质,如果我们能找到列空间的标准正交基(格拉姆-施密特正交化要做的事情),那么上面的投影矩阵P中A用Q代替,表达式变为:,神奇的发现投影矩阵中不好的部分不见了。这也是标准正交令人着迷的地方。那么怎么寻找标准正交基呢,我们知道一个向量子空间中有多种可能的标准正交基,格拉姆-施密特就为我们提供了一种寻找标准正交基的方法,思想很简单:假设矩阵M=( a b c),A列空间的第一列为第一个标准正交基向量的方向,令A=a,通过除去向量的模得到第一个基向量,那么第二基向量怎么求呢,答案就是通过投影得到在A上的投影,根据投影的知识知道这是后有是垂直于的,那么我们得到第二个基向量,如果M矩阵还有第3个列向量,那我们如何得到呢?思想和得到的思想一样,对在和上做投影得到,, 重复第二步骤就可以得到所有的n个正交基向量,这就是格拉姆-施密特正交化。

格拉姆-施密特正交化是A的一个因子分解,叫QR分解,A=QR,Q就是格拉姆-施密特正交化的标准正交矩阵,R是一个上3角矩阵,假设M=( a b c),M的QR分解是如下形式:

为什么R会是这样的上3角矩阵呢,原因是格拉姆-施密特正交化的过程,a在和方向一致,所以在上投影为0,同样b只在上有分量在上没有分量,格拉姆-施密特正交化的过程保证了A前面的列不会在后面的正交向量方向有分量,因为后面的正交分量始终是垂直于前面的列构成的向量子空间,也就是说与前面的列向量都垂直。下面我们推导一下就是b在方向投影的模长,这对后面理解改进的格拉姆-施密特正交化至关重要。

b在上的投影由线上的投影矩阵知道:

,,可以推论R中其他项也是对于的向量在正交基向量上投影的模长。

前面的准备知识够了,接下来,我们可以搬出改进的格拉姆-施密特正交化的公式了A是mxn阶矩阵:

下面的公式从开始计算在上的模长(在上的模场由已经求得):

改进的格拉姆-施密特正交化就是上面的4个公式,下面我们就分析下这四个公式各自的含义:

就是QR分解中R对角线上的值,如果对应上面举例的QR分解,那么,前面已经证明了R中的项是对应向量在正交基向量上投影的模长,是在方向上的投影,的表达式对应的正是在方向上的投影的模长。

是的第j个元素值,来源于前面的格拉姆-施密特正交化,,。

是QR分解中对角线之外的元素表达式,像的向量内积展开,这里有个小小的拐弯要知道,原来R矩阵第j列的元素对应的是,而这里通过迭代计算的方式,第一步,与元表达式一致,但是从第二次迭代开始,由第四个公式知道,这时,这时候的,因为,从几何上理解与正交,在上的分量不会对在上的分量的模长产生贡献,或者说在上的分量在上的投影为0,在计算到的投影时,可以先将在上的分量减掉。

就是在迭代过程中从减去前面计算过的方向分量的剩余补向量。

下面我们用改进的施密特正交化做一下上面介绍施密特正交化对M=(a b c)矩阵做的事情,直观的看看它和标准的施密特正交化的不同之处:

摘抄一段书上改进的格莱姆-施密特正交化的matlab代码:

for j=1:n                      %modified Gram-Schmidt

v=A(:,j);                  %v begins as column j of A

for i=1:j-1               %columns up to j-1, already settled in Q

R(i,j)=Q(:,i)'*v;   %compute

v=v-R(i,j)*Q(:,i); %subract the projection

end                        %v is now perpendicular to all of

R(j,j)=norm(v);       %diagonal entries of R

Q(:,j)=v/R(j,j);         %normalize v to be the next unit vector q_{j}

end

matlab格拉姆施密特,改进的格拉姆-施密特正交化(modified Gram-Schmidt Process)相关推荐

  1. 【Matlab图像去噪】改进非局部均值红外图像混合噪声【含源码 1640期】

    一.代码运行视频(哔哩哔哩) [Matlab图像去噪]改进非局部均值红外图像混合噪声[含源码 1640期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 李方 ...

  2. 风电功率预测优化算法MATLAB程序基于改进神经网络

    风电功率预测优化算法MATLAB程序基于改进神经网络 (1) 该程序为基于改进神经网络的风电功率预测优化算法程序,风电预测程序,期刊论文源程序,配有该论文. (2) 该程序所用的ICA-BP 神经网络 ...

  3. 【Matlab】基于改进的 Hausdorf 距离的DBSCAN船舶航迹聚类

    [Matlab]基于改进的 Hausdorff 距离的DBSCAN船舶航迹聚类 一.模型简介 1.1问题背景 1.2具体内容 AIS数据的预处理 船舶轨迹分割 船舶轨迹相似度度量 船舶轨迹表达方式 船 ...

  4. DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 YID:87140641990659957爱熬夜的程序猿

  5. DG储能选址定容模型matlab 程序采用改进粒子群算法

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠编号:75140641990659957爱熬夜的程序猿

  6. DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 YID:87140641990659957爱熬夜的程序猿

  7. DG储能选址定容模型matlab程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠

    DG储能选址定容模型matlab程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 ID:69140641990659957

  8. 高斯过程回归 | Matlab实现高斯过程回归多输入单输出预测(Gaussian Process Regression)

    文章目录 效果一览 文章概述 研究内容 程序设计 参考资料 效果一览 文章概述 高斯过程回归 | Matlab实现高斯过程回归多输入单输出预测(Gaussian Process Regression) ...

  9. MATLAB半色调,基于改进协方差矩阵的半色调图像分类研究

    摘  要: 针对半色调图像分类中只存在0和1的特点,提出了一种基于改进的协方差矩阵在半色调图像中的分类方法.根据协方差矩阵在实现半色调图像分类中个数少且并未体现其局部和全局信息的特性,对协方差矩阵的底 ...

最新文章

  1. php的webservice的wsdl的XML无法显示
  2. ViewPager的使用小技巧
  3. 在网页中加入百度搜索条
  4. Android移动开发之【Android实战项目】DAY4-项目发布到真机
  5. oracle存储过程多分支怎样写,如何写一个分段提交的存储过程啊
  6. 微信小程序正确的异步request请求,根据经纬度获取地理位置信息
  7. idea 编辑区设置
  8. 轻量小巧的Knife4j v2.0.8源码
  9. 自动发卡企业商户运营版带WAP手机端+多种主题
  10. JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )
  11. 电脑主机启动不了是什么原因
  12. ubuntu安装gcc失败怎么办?
  13. 北京数学建模与计算机应用2018,2018年第八届MathorCup高校数学建模挑战赛
  14. 关于加快OpenCV下载速度的解决方法
  15. ListView刷新,图片闪烁问题
  16. 《赖氏经典英语语法》练习三 关系词
  17. BG2RHE - 树莓派3B+外置wifi解决金属外壳屏蔽问题
  18. 关于计算机学院 公众号的名字,好听的微信公众号名字
  19. 为什么同门硕士进了BAT拿高工资,而博士却要挤破头进985高校?
  20. 大二上---数据结构课程设计

热门文章

  1. 如果重力对人的意识有影响
  2. 3.10 深度学习框架-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  3. 11.1 问题描述及流程-机器学习笔记-斯坦福吴恩达教授
  4. 2.7 程序示例--多分类问题-机器学习笔记-斯坦福吴恩达教授
  5. 雅客EXCEL(1)--快速录入、统计、日期
  6. 【DIY】DIYarduino温湿度计视频图文教程
  7. MLCC噪声啸叫及对策
  8. 电源完整性仿真让电路板更完美
  9. C++之指向对象成员函数的指针
  10. JQuery.Ajax()的data参数传递方式