【线性代数】【二】2.10 标准正交基与正交矩阵

2024-08-21 08:52

本文主要是介绍【线性代数】【二】2.10 标准正交基与正交矩阵,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、标准正交基
  • 二、施密特正交化
  • 三、 正交矩阵
  • 总结


前言

本文将介绍正交基、正交矩阵、与施密特正交化算法。正交是向量中一种非常好的性质,意味着两个向量互相之间没有冗余,也容易被区分。


一、标准正交基

前面我们学习过,一个向量空间的基是指张成该空间的极大线性无关组。例如 [ 1 , 0 , 0 ] , [ 1 , 1 , 0 ] , [ 1 , 1 , 1 ] [1,0,0],[1,1,0],[1,1,1] [1,0,0],[1,1,0],[1,1,1]便是张成 R 3 R^3 R3空间的一组基,该空间中的任意向量均可由这组向量进行线性表示。

所谓标准正交基,是指满足特殊条件的一组基:

  1. 每个基向量均为单位向量,模长为1,即 ∣ a i ∣ = a i T a i = 1 \vert\bm{a}_i\vert=\sqrt{\bm{a}_i^T\bm{a}_i}=1 ai=aiTai =1
  2. 任意两个基向量相互正交,即 a i T a j = 0 \bm{a}_i^T\bm{a}_j=0 aiTaj=0

特别的,如果仅满足条件2)则称为正交基,而不是标准正交基。使用标准正交基来进行向量表示具有许多好处,例如,其表示的向量的模长可仅通过线性表示系数计算得到。假设我们有一组标准正交基 a 1 , … , a i , … , a n \bm{a}_1,\ldots,\bm{a}_i,\ldots,\bm{a}_n a1,,ai,,an,任意该空间中的向量 b \bm{b} b可被线性表示为

b = x 1 a 1 + … + x i a i + x n a n \bm{b}=x_1\bm{a}_1+\ldots+x_i\bm{a}_i+x_n\bm{a}_n b=x1a1++xiai+xnan
∣ b ∣ 2 = b T b = ( x 1 a 1 + … + x i a i + x n a n ) T ( x 1 a 1 + … + x i a i + x n a n ) \vert\bm{b}\vert^2=\bm{b}^T\bm{b}=(x_1\bm{a}_1+\ldots+x_i\bm{a}_i+x_n\bm{a}_n)^T(x_1\bm{a}_1+\ldots+x_i\bm{a}_i+x_n\bm{a}_n) b2=bTb=(x1a1++xiai+xnan)T(x1a1++xiai+xnan)
带入上述标准正交基的性质,可得
∣ b ∣ 2 = ∑ i N x i 2 \vert\bm{b}\vert^2=\sum_i^Nx_i^2 b2=iNxi2

二、施密特正交化

R 3 R^3 R3的一组朴素的标准正交基为 [ 1 , 0 , 0 ] , [ 0 , 1 , 0 ] , [ 0 , 0 , 1 ] [1,0,0],[0,1,0],[0,0,1] [1,0,0],[0,1,0],[0,0,1],不过这并非该空间唯一的标准正交基。那么,能否由任意给定的一组普通的基,来构造一组标准正交基呢?施密特正交化便是做了这样一件事。

假设有一组普通的基 a 1 , … , a i , … , a n \bm{a}_1,\ldots,\bm{a}_i,\ldots,\bm{a}_n a1,,ai,,an,我们要以其为基础构建一组该空间的标准正交基。下面我们来分析一下应该如何去做:单位化简单,只要将每个基向量除以自身的模长即可;正交化怎么去做呢?

这里就要回想到上文所学的子空间投影了,我们已知:向量与子空间投影的差,正交于该子空间。那么我如果们对该组基向量依次做处理,使得每次当前处理得到的向量,与先前已处理的向量构成的子空间正交,便能保证当前处理得到的向量与先前所有向量的正交性。而先前已处理的向量之间的正交性则可由之前的正交化操作保证。由此,所有向量之间均正交。不断构造投影,做差,找到正交于子空间的向量,这就是施密特正交化的思路。

下面,我们正式阐述施密特正交化的过程,首先我们任选一个向量开始,不妨就以 a 1 \bm{a}_1 a1开始,对其进行单位化:

a 1 ∗ = a 1 / ∣ a 1 ∣ \bm{a}_1^*=\bm{a}_1/\vert\bm{a}_1\vert a1=a1/∣a1

然后,我们找到向量 a 2 \bm{a}_2 a2,使其与 a 1 ′ \bm{a}_1' a1正交,也就是做其与投影之差:

a 2 ′ = a 2 − P a 2 \bm{a}_2'=\bm{a}_2-\bm{P}\bm{a_2} a2=a2Pa2

再进行单位化:

a 2 ∗ = a 2 ′ / ∣ a 2 ′ ∣ \bm{a}_2^*=\bm{a}_2'/\vert\bm{a}_2'\vert a2=a2/∣a2

其中, P = A T ( A A T ) − 1 A \bm{P}=\bm{A}^T(\bm{AA}^T)^{-1}\bm{A} P=AT(AAT)1A为投影矩阵,矩阵 A \bm{A} A中的行向量为已处理向量 a 1 ∗ T \bm{a}_1^{*T} a1T

随后继续重复上述操作,只是投影矩阵 P \bm{P} P不断加入新处理好的行向量即可。此外,观察投影矩阵的计算,不难发现, A A T = I \bm{AA}^T=\bm{I} AAT=I总是等于单位阵(行数与已处理向量数目相同),这是由于基向量之间的正交性,非主对角线上的元素都成立0,而主对角线上的元素都是1,因此该投影矩阵可以化简为 P = A T A \bm{P}=\bm{A}^T\bm{A} P=ATA

也就是说,如果我们找到子空间的一组标准正交基,那么以该组基进行投影计算得到的投影矩阵均可化简为 P = A T A \bm{P}=\bm{A}^T\bm{A} P=ATA。 这也是为什么在施密特正交化的每一步都进行单位化操作,而不是全部正交化以后再进行单位化。

三、 正交矩阵

进一步扩展上述观察,如果我们把一组标准正交基放入矩阵,若该矩阵是一个方阵,则该方阵必然可逆,且其逆矩阵就是它的转置。因此我们有:由标准正交基构成的方阵 A \bm{A} A一定是可逆矩阵,我们称之为正交矩阵

由此,我们可以很方便地找到矩阵的逆,也就可以很轻松的进行 A x = b \bm{Ax}=\bm{b} Ax=b的求解了,即 x = A − 1 b = A T b \bm{x}=\bm{A}^{-1}\bm{b}=\bm{A}^{T}\bm{b} x=A1b=ATb


总结

本文介绍了标准正交基的性质,并给出了构造标准正交基的方法,最后引申出正交矩阵的概念。

这篇关于【线性代数】【二】2.10 标准正交基与正交矩阵的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092691

相关文章

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

hdu 6198 dfs枚举找规律+矩阵乘法

number number number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description We define a sequence  F : ⋅   F0=0,F1=1 ; ⋅   Fn=Fn

C 标准库 - `<float.h>`

C 标准库 - <float.h> 概述 <float.h> 是 C 标准库中的一个头文件,它定义了与浮点数类型相关的宏。这些宏提供了关于浮点数的属性信息,如精度、最小和最大值、以及舍入误差等。这个头文件对于需要精确控制浮点数行为的程序非常有用,尤其是在数值计算和科学计算领域。 主要宏 <float.h> 中定义了许多宏,下面列举了一些主要的宏: FLT_RADIX:定义了浮点数的基数。

《C++标准库》读书笔记/第一天(C++新特性(1))

C++11新特性(1) 以auto完成类型自动推导 auto i=42; //以auto声明的变量,其类型会根据其初值被自动推倒出来,因此一定需要一个初始化操作; static auto a=0.19;//可以用额外限定符修饰 vector<string> v;  auto pos=v.begin();//如果类型很长或类型表达式复杂 auto很有用; auto l=[] (int

线性代数|机器学习-P35距离矩阵和普鲁克问题

文章目录 1. 距离矩阵2. 正交普鲁克问题3. 实例说明 1. 距离矩阵 假设有三个点 x 1 , x 2 , x 3 x_1,x_2,x_3 x1​,x2​,x3​,三个点距离如下: ∣ ∣ x 1 − x 2 ∣ ∣ 2 = 1 , ∣ ∣ x 2 − x 3 ∣ ∣ 2 = 1 , ∣ ∣ x 1 − x 3 ∣ ∣ 2 = 6 \begin{equation} ||x

【线性代数】正定矩阵,二次型函数

本文主要介绍正定矩阵,二次型函数,及其相关的解析证明过程和各个过程的可视化几何解释(深蓝色字体)。 非常喜欢清华大学张颢老师说过的一段话:如果你不能用可视化的方式看到事情的结果,那么你就很难对这个事情有认知,认知就是直觉,解析的东西可以让你理解,但未必能让你形成直觉,因为他太反直觉了。 正定矩阵 定义 给定一个大小为 n×n 的实对称矩阵 A ,若对于任意长度为 n 的非零向量 ,有 恒成

标准IO与系统IO

概念区别 标准IO:(libc提供) fopen fread fwrite 系统IO:(linux系统提供) open read write 操作效率 因为内存与磁盘的执行效率不同 系统IO: 把数据从内存直接写到磁盘上 标准IO: 数据写到缓存,再刷写到磁盘上

python科学计算:NumPy 线性代数与矩阵操作

1 NumPy 中的矩阵与数组 在 NumPy 中,矩阵实际上是一种特殊的二维数组,因此几乎所有数组的操作都可以应用到矩阵上。不过,矩阵运算与一般的数组运算存在一定的区别,尤其是在点积、乘法等操作中。 1.1 创建矩阵 矩阵可以通过 NumPy 的 array() 函数创建。矩阵的形状可以通过 shape 属性来访问。 import numpy as np# 创建一个 2x3 矩阵mat