施密特正交化计算器_线性代数20——格拉姆-施密特正交化

news/2024/7/5 11:19:58

标准正交向量

  有一堆向量,

,它们两两正交,这意味着这些向量满足:

806375dbfb923223047015ba15692983.png

  一个向量没法和自己正交,在i = j时,让

,这相当于
模长等于1:

d9ae79119416c5aa6f38f6a330b18859.png

  向量的转置乘以自身等于1,意味着这个向量是单位向量,所以我们称这堆向量

是标准正交向量。

标准正交矩阵

  现在把这些标准正交向量放入矩阵中:

08d412e5977d826af69a5c8b3f175c6c.png

最终得到了一个单位矩阵,但Q本身未必是方阵。Q的列是标准正交的,Q因此被称为标准正交矩阵;当Q是方阵时,简称为正交矩阵,此时说明
互为逆矩阵:

7890e9dc0da06cb1bc8b05f4dde11e22.png

  下面的Q就是一个正交矩阵:

df61a7972cb5d1fefc7b2716d7fdb4f9.png

  可以将Q的三个列看作直角坐标系的三个轴,它们两两垂直。

  再举个例子:

45b66ad8b220ff95b55b828c1d385cff.png

  一个方阵的列是正交的并不意味着方阵是正交矩阵,比如下面这个:

2ba8b19f74236d4fc7d8f44d28f50437.png

  虽然这个矩阵不是正交矩阵,

的结果却与单位矩阵神似,我们可以对Q做点处理让它变成正交矩阵。当Q是正交矩阵时,Q的每一个列的模长都应该是1,因此可以这样处理:

0bd5b2dcda70027ae7bb7b45cd1fa174.png

  这样就变成正交矩阵了。类似的还有下面这个:

eb73be09e028a41462f0d06c3494f8e0.png

正交矩阵与投影矩阵

  如果Q是标准正交矩阵,那么Q在列空间上的投影矩阵将得到简化:

e20763d71942f361359055ad6fd05b9f.png

  更进一步,如果Q是方阵:

cc6d112ffa0779fd6085ac636bc91738.png

  如果对

再次投影(这里并未强调Q是方阵):

947802872a41194aad2bde824950bcd8.png

  其中:

82fd9d5179d8fac12351af5d2ba7d1db.png

  在求解Ax = b时,如果A是标准正交矩阵,它的好处就是不需要计算逆矩阵:

e8c8a38a30540566babc7c7fba9c75bb.png

  这也意味着

的一个分量等于
一行(或Q的一列的转置)与b的点积:

edbd621ffa6ec5b20d89e4540b57cd8b.png

  这也是很重要的一个式子:如果已知标准正交基,在第

个基方向上的投影就等于

格拉姆-施密特正交化

  既然正交化这么好,有没有什么方法能使矩阵标准正交化呢?当然有,这就是格拉姆-施密特(Gram-Schmidt)正交化。

  假设有两个线性无关的向量a和b,现在标准正交化这两个向量,让它们变成

。首先保持a不变让向量A = a,接下来要寻找到另一个向量B,使得A⊥B。p是b在a上的投影,B就相当于b的误差向量:

cee8f74ddec1157413f9c7f53f4a2261.png

  根据上一章的知识,p相当于a放缩了x倍,在一维空间内,x是一个标量:

c85147ffcff3bb99f9e977e5f2002fcb.png

  这相当于B是b减去b在a上的投影,B是b和A的线性组合。

  最后将A变成指向A方向的单位向量,B变成指向B方向的单位向量:

b0a1f0dc5b94b084f7176bd74ef98579.png

  这就是格拉姆-施密特正交化方法。

  如果还有一个向量c,由c到

的转换:

687e2ac113e4bebc44014613a280341b.png

  代入几个数值看看:

13c44aee7814a4ad50cce6ef8b022c18.png

  验证:

93be45501ef2fd8eeae1950a7e307885.png

  这个标准正交矩阵Q是通过下面的原始矩阵得到的:

6044316ce0d6802eb99160825dcb8947.png

  A的列空间和B的列空间相同,能够张成一个二维空间的平面。a和b是A的列空间的一组基,但这组基“不够好”,我们还想进一步让这组基的向量两两正交,并且都是单位向量,这就得到了q1和q2。

格拉姆-施密特表达

  如同A = LU一样,A可以分解成一个正交矩阵和一个上三角矩阵的乘积,A = QR,这里A是原始矩阵,各列线性无关,Q是标准正交矩阵,R是上三角矩阵。

  假设原始矩阵A有三个列向量:

b73737f49183b1e40c026bb33ee7aa69.png

  按照格拉姆-施密特正交化方法转换后,得到

36a27453baf4fccd033f4d9eb3047bc3.png

  q和a本身也是列向量,得出结果并不那么直观,可以展开表达:

4e4d3f39bab30437c63ae22272a25605.png

  由于

,q1只是a1的单位化,所以
也正交,
;同理,
的线性组合,转置后,
的线性组合,这相当于:

aaac65998c172b1bec56b727e7304fff.png

  如果

,相当于
是线性相关的,这就不符合标准正交向量的前提,所以一定有t1 ≠ 0:

3874738986c0348d8f06c8615fe8e465.png

不为0,如果是0,就没必要正交化了。
的线性组合,转置后,
的线性组合,这相当于:

bf7ff5294aa1e69a196e2e9d36062fff.png

示例

  求矩阵A的QR分解。

a4bd9b35ce11b207d3a9c22d25abc73c.png

809cdf96e92efe900576c3f36f446be1.png

http://www.niftyadmin.cn/n/3661247.html

相关文章

学习Extjs与RoR的集成有感

2007年05月10日 22:25:00 今天除了跟两个项目的负责人讨论他们的开发过程改进外,其余时间就是在学习Extjs,对我来讲,最好的办法,就是在PPA系统中中应用它们,幸好,Extjs现在已经可以与RoR应用集成在一起了。…

python中int的作用_python中int的功能介绍

int的功能介绍 1. 绝对值 x.__abs__()等同于abs(x) 2. 加法 x.__add__(y)等同于xy 3. 与运算 x.__and__(y)等同于x&y 4. 布尔运算 x.__bool__() 5. 商和余数 x.__divmod__(y)等同于divmod(x,y) 6. 等于 x.__eq__(y)等同于xy 7. 整数转为为浮点数 x.__float__()等同于float(…

配置管理计划的新设想

2007年05月08日 21:37:00 刚刚过节回来,XY便找我讨论配置管理计划,我有点纳闷,节前不是已经讨论清楚了吗?老大提了个新的设想,得到了很多人的拥护,所以原来的被推翻了。XY找纸画给我看,其实变化…

db2 删除schema中所有表_卓象程序员:MySQL查看数据库表容量大小的方法示例

information_schema简介 在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。 SCHEMATA表&am…

部门预算进行时

2007年04月10日 21:27:00 首先应该承认,自己并不是甚至自己也不希望是一个很好的部门管理者,准确地说,我甚至一直在逃避做中层领导,这令我的室友兼好友大为困惑:"为什么不想当官呢?",…

java 字节数组 byte[] 复制方法_1分钟学习Java中数组快速复制

Java System类提供了的arraycopy快速复制数组方法。具体函数如下:public class ArrayCopyTest { public static void main(String[] args) { int[] arr {1, 2, 3}; int[] destArr new int[arr.length]; System.arraycopy(arr, 0, destArr, 0, arr.le…

combobox添加下拉内容_仅添加了一个小小的边框,Word文档立即高大上!

日常图文进行排版的时候,为文档添加一些边框样式进行美化,会使整体排版的质感会迅速上升,同时还能“框”住文档内容,让读者的视线聚焦在内容上,避免阅读枯燥。那么,今天在这里给大家分享的Word小技巧&#…

技术大会英雄谱

2007年04月09日 22:11:00 上周去了北京,参加技术英雄大会,见到好多闻名已久的高手高手高高手,感觉很是不错。 聊得最对脾气的,是江南白衣,他是springside开源项目的发起人,所以对平台情有独衷;而…