正交性,从內积开始到施密特正交化

article/2025/7/23 15:15:46

正交性

  • 前言
  • 內积、长度和正交性[1]
    • 內积
    • 长度和距离
    • 正交向量
    • 非正交向量
  • 正交集,正交基和正交投影
    • 正交集
      • 定理1
    • 正交基
      • 定理2
    • 正交投影
      • 非零向量投影
      • 直线上的投影
      • 空间投影
      • 正交分解定理
  • 格拉姆-施密特正交化
  • 参考

前言

多维空间,向量和矩阵,以及正交性的概念都是欧几里得多维空间的扩展,因为人类的认知很难超越三维思考,所以我们对n维的理解往往降维到2-3维来类比,因此学习和分析这些概念和问题,三维思考是最直观的工具,在你即将迷失在矩阵空间的时候,她会像灯塔一样。。。。

內积、长度和正交性[1]

这三个概念是基础,然而并不容易搞懂。

內积

假设 u , v u,v u,v R n R^n Rn中的向量: u = [ u 1 u 2 ⋮ u n ] v = [ v 1 v 2 ⋮ v n ] u=\begin{bmatrix} u1 \\ u2 \\ \vdots\\ u_n \end{bmatrix} v=\begin{bmatrix} v1 \\ v2 \\ \vdots\\ v_n \end{bmatrix} u=u1u2unv=v1v2vn也可以将 u , v u,v u,v视为n*1的矩阵,则这两个向量的內积(inner production)定义为 u T v u^Tv uTv,最后的结果是一个标量。另外向量的表示法为点积(dot product) u ⋅ v u \cdot v uv,算法是一样的。 u T v = u ⋅ v = [ u 1 , u 2 . . . u n ] [ v 1 v 2 ⋮ v n ] = u 1 v 1 + u 2 v 2 + . . . + u n v n uTv=u \cdot v=[u_1,u_2...u_n]\begin{bmatrix} v1 \\ v2 \\ \vdots\\ v_n \end{bmatrix}=u_1v_1+u_2v_2+...+u_nv_n uTv=uv=[u1,u2...un]v1v2vn=u1v1+u2v2+...+unvn

长度和距离

因为 v T v v^Tv vTv是非负的标量,所以从二三维推广到n维,定义向量 v v v的长度为內积的平方根。数学表达如下: ∣ ∣ v ∣ ∣ = v ⋅ v = v 1 2 + v 2 2 + v 2 2 + . . . + v n 2 ||v|| = \sqrt{v \cdot v}= \sqrt {v_1^2+v_2^2+v_2^2+...+v_n^2} v=vv =v12+v22+v22+...+vn2 进而 u 和 v 的 距 离 就 是 u − v 的 长 度 u和v的距离就是u-v的长度 uvuv,即 ∣ ∣ u − v ∣ ∣ = ( u − v ) ⋅ ( u − v ) = ( u 1 − v 1 ) 2 + ( u 2 − v 2 ) 2 + . . . + ( u n − v n ) 2 ||u-v|| = \sqrt{(u-v) \cdot (u-v)}= \sqrt {(u_1-v_1)^2+(u_2-v_2)^2+...+(u_n-v_n)^2} uv=(uv)(uv) =(u1v1)2+(u2v2)2+...+(unvn)2

正交向量

这是从二维(三维)垂线的概念在欧式多维空间的推广,相对于前面的概念这部分理解起来有点烧脑了。二维空间的垂直从小学就开始学习了,通常用直角三角板来判断两条垂线是否垂直,相信讲到这里都好理解,但是向量是多维空间上的点,当然也可以理解为从原点辐射到向量坐标的一根有方向的线段。那么判断两个向量是否垂直,该怎么办呢?为了简单理解,我们从直角坐标出发:
在这里插入图片描述
直角坐标轴x上的所有点,都垂直于x上的所有点,对于二维向量来说,如何利用数学语言阐述这一性质呢?其实就是两个向量的內积等于零。而从几何角度来看,向量垂直(x轴上的向量(2,0)垂直于y轴上的向量(0,2)),存在这样一个性质,从x轴(2,0)到y轴上的向量(0,2)距离和y轴上的向量(-0,-2)的距离相等。

在这里插入图片描述
由此扩展到高维空间,从几何角度证明: ∣ ∣ u − ( − v ) ∣ ∣ = ∣ ∣ u − v ∣ ∣ ( u + v ) ⋅ ( u + v ) = ( u − v ) ⋅ ( u − v ) u ⋅ u + u ⋅ u + 2 u ⋅ v = u ⋅ u + u ⋅ u − 2 u ⋅ v + 2 u ⋅ v = − 2 u ⋅ v u ⋅ v = 0 ||u-(-v)||=||u-v||\\ (u+v)\cdot(u+v)=(u-v)\cdot(u-v)\\ u\cdot u+ u\cdot u+2u\cdot v=u\cdot u+ u\cdot u-2u\cdot v\\ +2u\cdot v=-2u\cdot v\\ u\cdot v=0 u(v)=uv(u+v)(u+v)=(uv)(uv)uu+uu+2uv=uu+uu2uv+2uv=2uvuv=0在高维空间考虑的时候,笛卡尔坐标的原点一定不能忽略,即从这个原点出发的有向线段对(向量对 u , v u, v u,v),如果满足 u ⋅ v = 0 u\cdot v=0 uv=0,那么这两个向量被定义为正交向量(orthogonal vectors)。

非正交向量

2/3维空间两个向量不正交的情况是常见的,我们定义这两个向量夹角为 θ \theta θ,根据余弦定理,最后可以得出內积的另外一种表达形式: u ⋅ v = ∣ ∣ u ∣ ∣ ∣ ∣ v ∣ ∣ c o s θ u\cdot v = ||u||\ ||v|| cos\theta uv=u vcosθ
由此推论到高维空间向量夹角的余弦表达: c o s θ = u ⋅ v ∣ ∣ u ∣ ∣ ∣ ∣ v ∣ ∣ cos\theta = \frac{u\cdot v }{||u||\ ||v|| } cosθ=u vuv
上面这个表达被应用于机器学习里,就是余弦相似度的理论基础。

正交集,正交基和正交投影

正交集

简而言之,正交集是两两向量互相正交的一组向量集。现实中在二维空间中,直观的想象一下,不会有三个向量组成正交集,那么三维空间,最多三个向量能组成正交集,以此类推。。。在【1】中有几个定理,提到了基(basis)的概念,那么基的定义又是什么呢?

设V是域F上的线性空间,V中的向量集S如果满足下述两个条件:
1.向量集S是线性无关的;
2.V中每一个向量可以由向量集S中有限多个向量线性表出, 那么称S是V的一个基.【3】
打个比喻,基就像地基一样,是构建空间大厦的基础,大厦中每个横梁、竖墙都得有地基来承重。如果这组

定理1

S = { u 1 , . . . , u p } S=\{u_1,...,u_p\} S={u1,...,up} R n R^n Rn中非零向量构成的正交集,则 S S S线性无关且是它张成的子空间的一组基。因为假设向量为正交的,所以这组基还是正交基。
上述概念最容易混淆的是线性无关和正交的概念是不是等价的?答案是否。直观的理解是线性相关可以看成平行线,线性无关是相交线,正交是垂直相交线,这样就不太容易混淆了。

正交基

R n R^n Rn中子空间W的一组正交基是W的一组基并且本身构成正交集。【1】
这个概念有点绕,目的是为了引出下面的定理,这个定理就是正交投影的理论基础,大大简化了运算。

定理2

S = { u 1 , . . . , u p } S=\{u_1,...,u_p\} S={u1,...,up} R n R^n Rn中非零向量构成的正交基,对于任意 y ∈ W y\in W yW,线性组合 y = c 1 u 1 + . . . + c p u p y=c_1u_1+...+c_pu_p y=c1u1+...+cpup的权重可以有下式给出: c j = y ⋅ u j u j ⋅ u j ( j = 1 , . . . , p ) c_j=\frac{y\cdot u_j}{u_j\cdot u_j}\ (j=1,...,p) cj=ujujyuj (j=1,...,p)

正交投影

非零向量投影

给定 R n R^n Rn中一个非零向量 u u u,考虑如何将 R n R^n Rn中的分量 y y y分解成为两个向量的和,其中一个分量是 u u u的倍数,另一个分量与 u u u正交,这种表达写成: y = y ^ + z y=\hat y+z y=y^+z,其中有一个标量 α \alpha α可以表达 y ^ = α u \hat y=\alpha u y^=αu z z z则是与 u u u正交的向量。 z = y − α u z=y-\alpha u z=yαu根据正交概念,可以得出: ( y − α u ) ⋅ u = 0 y ⋅ u − α u ⋅ u = 0 α = y ⋅ u u ⋅ u (y-\alpha u)\cdot u=0\\y\cdot u -\alpha u\cdot u=0\\\alpha=\frac{y\cdot u}{u\cdot u} (yαu)u=0yuαuu=0α=uuyu此时, y ^ = α u = y ⋅ u u ⋅ u u \hat y=\alpha u=\frac{y\cdot u}{u\cdot u} u y^=αu=uuyuu称作向量 y y y u u u上的正交投影(orthogonal projection of y onto u),向量 z z z称作 y y y中正交于 u u u的分量(component of y orthogonal to u).

直线上的投影

再假设一个非零标量 c c c,扩展非零向量 u u u为一个线性子空间 L L L有经过原点和 u u u的直线,表示为 c u cu cu,那么向量 y y y在u所张成的子空间L上的投影为 y ^ = p r o j L y = y ⋅ c u c u ⋅ c u c u = y ⋅ u u ⋅ u u \hat y=proj_L\ y=\frac{y\cdot cu}{cu\cdot cu} cu=\frac{y\cdot u}{u\cdot u} u y^=projL y=cucuycucu=uuyuu说明向量在某个一维子空间上的投影点是唯一的,而且是L上距离y最近的一点(直角三角形在脑海里闪念一下)

空间投影

结合投影和定理2来看,一个向量 y = c 1 u 1 + . . . + c p u p = ∑ j = 1 p y ⋅ u j u j ⋅ u j u j y=c_1u_1+...+c_pu_p\\=\sum_{j=1}^p\frac{y\cdot u_j}{u_j\cdot u_j}u_j y=c1u1+...+cpup=j=1pujujyujuj y y y则可以分解为线性空间的投影。这时要提到的如下的正交分解定理。

正交分解定理

W W W是R^n的一个子空间。则 R n R^n Rn的每一个向量 y y y都可以写成 y = y ^ + z y=\hat y + z y=y^+z其中 y ^ ∈ W , z ∈ W ⊥ \hat y\in W,z \in W^\perp y^W,zW。若{u_1,…,u_p}是 W W W的任意一组正交基, y = c 1 u 1 + . . . + c p u p = ∑ j = 1 p y ⋅ u j u j ⋅ u j u j z = y − y ^ y=c_1u_1+...+c_pu_p\\=\sum_{j=1}^p\frac{y\cdot u_j}{u_j\cdot u_j}u_j\\z=y-\hat y y=c1u1+...+cpup=j=1pujujyujujz=yy^ y ^ \hat y y^被称作 y y y W W W上的正交投影。

格拉姆-施密特正交化

对于 R n R^n Rn子空间 W W W的一组基 { x 1 , . . . , x p } \{x_1,...,x_p\} {x1,...,xp},定义: v 1 = x 1 v 2 = x 2 − x 2 ⋅ v 1 v 1 ⋅ v 1 v 1 v 3 = x 3 − x 3 ⋅ v 1 v 1 ⋅ v 1 v 1 − x 3 ⋅ v 2 v 2 ⋅ v 2 v 2 ⋮ v p = x p − x p ⋅ v 1 v 1 ⋅ v 1 v 1 − x p ⋅ v 2 v 2 ⋅ v 2 v 2 − . . . x p ⋅ v p − 1 v p − 1 ⋅ v p − 1 v p − 1 \begin{aligned} v_1&=x_1\\ v_2&=x_2-\frac{x_2\cdot v_1}{v_1\cdot v_1}v_1\\ v_3&=x_3-\frac{x_3\cdot v_1}{v_1\cdot v_1}v_1-\frac{x_3\cdot v_2}{v_2\cdot v_2}v_2\\ &\vdots\\ v_p&=x_p-\frac{x_p\cdot v_1}{v_1\cdot v_1}v_1-\frac{x_p\cdot v_2}{v_2\cdot v_2}v_2-...\frac{x_p\cdot v_{p-1}}{v_{p-1}\cdot v_{p-1}}v_{p-1}\\ \end{aligned} v1v2v3vp=x1=x2v1v1x2v1v1=x3v1v1x3v1v1v2v2x3v2v2=xpv1v1xpv1v1v2v2xpv2v2...vp1vp1xpvp1vp1
{ v 1 , . . . , v p } \{v_1,...,v_p\} {v1,...,vp} W W W的一组正交基,两组基张成的空间是等价的: S p a n { v 1 , . . . , v k } = S p a n { x 1 , . . . , x k } , 1 ≤ k ≤ p Span\{v_1,...,v_k\}=Span\{x_1,...,x_k\},1\leq k \leq p Span{v1,...,vk}=Span{x1,...,xk}1kp
首先这组基要求是线性无关,否则也不能成为“基”了。该方法提供了正交基的算法,在工程中得到广泛应用。

参考

线性代数及其应用,Lay,D,C 第三版,沈复兴等 译
麦克风阵列处理之TF-GSC 广义旁瓣相消器
线性空间的基和维数
正交与线性无关?
图解格拉姆-施密特正交化和改进的格拉姆-施密特正交化
自适应滤波:维纳滤波器——GSC算法及语音增强


http://chatgpt.dhexx.cn/article/2JukeYtq.shtml

相关文章

三角函数正交性理解与Matlab分析

1.什么是正交性? “正交性”是从几何中借来的术语。如果两条直线相交成直角,他们就是正交的。在空间向量中,两个向量的标量积为零即两个向量正交。 如果两个函数满足,则称这两个函数正交。 2.什么是三角函数正交信号集&#xf…

mysql初期密码修改方式

1、适用解压版本的mysql 2、初始化mysql后,会随机生成一个密码,但比较复杂,(#一定记住) 初始化命令 mysqld -initialize 3、初始化后必须修改初始密码才能对mysql进行操作,这个时候操作就会报错误消息。 …

ubuntu20.04安装Mysql8.0以及mysql密码修改

前言 网上找到的这些关于这类的博客要么就是mysql版本过时了要么就完全没有用,浪费了我好多时间,于是我就把自己成功的经历分享给大家,希望能减少大家走弯路的时间。 Mysql的安装 很简单,一句话 sudo apt install mysql-serve…

Centos Mysql忘记密码,修改密码

当centos MySQL用户忘记密码,进不去MySQL,那就要进行修改密码了 看好了嗷,操作开始 首先用vim进一下配置文件:/etc/my.cof 添加一下skip-grant-tables #这行的意思就是设置空密码登录,毕竟密码都忘记了,不…

登录MySQL密码修改及密码遗忘的解决办法(centos)

1、修改密码 方法一 [roothost1 ~]# mysqladmin -uroot -p password Enter password: New password: Confirm new password: ​方法二 mysql> alter user rootlocalhost identified by MySQL123; Query OK, 0 rows affected (0.00 sec) 方法三 通过修改mysql数据库…

MySQL数据库忘记密码之修改密码

我目前使用的版本是MySQL Server 8.0 第一步:关闭MySQL服务 首先要停止mysql服务。可通过net stop mysql或者任务管理器中关闭。 第二步:跳过MySQL密码验证 进入命令提示符(管理员登陆)操作,进入mysql目录中bin文…

MySQL数据库忘记密码后,如何修改密码

MySQL修改密码(本人亲身试验可行!) 1、以管理员身份打开命令行 2、在命令行中进入MySQL的bin目录所在文件夹 即:在命令行中输入: cd [路径]路径查找如下: 命令行输入命令: 3、跳过MySQL用…

Linux忘记MySQL密码后修改密码

1、关闭mysql服务 service mysqld stop 2、找到my.cnf配置文件 whereis my.cnf 3、在[mysqld]标签下添加:skip-grant-tables vim /etc/my.cnf 4、启动mysql服务 service mysqld start 5、不用密码登录mysql,执行下面命令以后直接回车 mysql -u root 6、使用数据…

忘记mysql密码后如何修改密码(2022最新版详细教程保姆级)

忘记mysql密码后如何修改密码 注意事项步骤 注意事项 一共用到两个cmd窗口,每一个都要以管理员身份打开,且在修改密码后,要先关闭第一个跳过验证密码的mysql服务的cmd窗口,再启动mysql,否则会出错。在修改密码前&…

Mysql密码修改无效问题

记录一次修改mysql密码无效的经历。 因为项目需求需要用到阿里云服务器,于是我准备登录服务器去建表,结果忘记密码了,我用SQLyog保存的密码解码找到密码之后在云服务器用命令修改了密码。 修改密码命令 mysql> ALTER USER rootlocalhos…

mysql:Windows修改MySQL数据库密码(修改或忘记密码)

今天练习远程访问数据库时,为了方便访问,就想着把数据库密码改为统一的,以后我们也会经常遇到MySQL需要修改密码的情况,比如密码太简单、忘记密码等等。在这里我就借鉴其他人的方法总结几种修改MySQL密码的方法。 我就以实际操作…

Linux中mysql密码修改方法(亲测可用)

前提:安装mysql 解压mysql.tar.gz到指定目录进入mysql-5.7.18目录创建文件夹mkdir data创建用户来执行mysqld命令 groupadd mysql # 创建组mysql useradd -g mysql mysql # 创建用户,并指定组初始化数据库,在bin目录下 ./mysqld --initia…

MySQL - 修改密码的 3 种方式

在使用数据库时,我们也许会遇到 MySQL 需要修改密码的情况,比如密码太简单需要修改等。本节主要介绍了 3 种修改 MySQL 数据库密码的方法。 1. 使用 SET PASSWORD 命令 步骤 1)输入命令mysql -u root -p指定 root 用户登录 MySQL&#xff0c…

游戏引擎渲染管线的总结

需要注意的是,本文涉及的内容过多过杂,基本涉及到游戏渲染和图形管线的方方面面。内容是根据多方面的资料整理而成,比如本人的Unity和Unreal引擎相关的理解和认知,以及引擎相关官方文档等,以及DirectX和OpenGL相关官方…

渲染管线的理解与学习

前言 渲染管线其实就是基于管线架构的图像渲染,所谓的管线就是将一个工程分成好几个部分串联起来进行工作,每一部分的输出都会作为下一部分的输入进行计算。本文将会按照三个部分来理解管线渲染这一知识。 一.Architecture-架构 渲染管线的主要目的就是…

渲染管线基础

什么是渲染管线: 渲染管线就是经过一系列的操作,把图形渲染到屏幕上的一个过程,这些操作总的来说就是:剔除、渲染、屏幕后处理。 不同的渲染管线,执行的操作不一样,输出的结果也不一样,比如一…

第二十章 Unity 渲染管线

渲染管线是计算机图形中最基础最核心的部分,它是将3D场景显示到2D平面的技术过程。在DirectX课程中,我们就介绍了渲染管线,分为固定渲染管线和可编程渲染管线(Shader)。但是在DirectX 10版本之后统一了渲染架构&#x…

OpenGL 图形渲染管线

学习笔记,自用 ヾ(•ω•)o 参考:《细说图形管线》、games101等等 Unity 中的渲染优化技术 大致流程细说图形渲染管线顶点数据:VS (顶点着色器Vertex Shader):TS(triangle shader)GS (几何着色器Geometry …

Unity URP/SRP可编程渲染管线

URP是unity推出的,用于替代Unity原来传统build-in管线。 URP是Unity可编程渲染管线(SRP)的一种,所以了解URP之前需要先了解SRP是什么 SRP是什么? SRP全称为Scriptable Render Pipeline(可编程渲染管线/脚本化渲染管线&#xff0…

GPU渲染管线概述

在OpenGL中,任何事物都在3D空间中,而屏幕和窗口却是2D像素数组,这导致OpenGL的大部分工作都是关于把3D坐标转变为适应你屏幕的2D像素。3D坐标转为2D坐标的处理过程是由OpenGL的图形渲染管线(Graphics Pipeline,大多译为…