格拉姆-施密特正交化

来自testwiki
跳转到导航 跳转到搜索

Template:NoteTA Template:ScienceNavigation线性代数中,如果内积空间上的一组向量能够组成一个子空间,那么这一组向量就称为这个子空间的一个基。Gram-Schmidt正交化提供了一种方法,能够通过这一子空间上的一个基得-{出}-子空间的一个正交基,并可进一步求出对应的标准正交基

这种正交化方法以Template:En-linkTemplate:En-link命名,然而比他们更早的拉普拉斯(Laplace)和柯西(Cauchy)已经发现了这一方法。在李群分解中,这种方法被推广为岩泽分解(Iwasawa decomposition)。

数值计算中,Gram-Schmidt正交化是数值不稳定的,计算中累积的舍入误差会使最终结果的正交性变得很差。因此在实际应用中通常使用豪斯霍尔德变换Givens旋转进行正交化。可以用于矩阵计算。

记法

  • 𝑽n维数n 的内积空间
  • 𝒗𝑽n𝑽n中的元素,可以是向量、函数,等等
  • 𝒗1,𝒗2𝒗1𝒗2内积
  • span{𝒗1,𝒗2,,𝒗n}𝒗1𝒗2……𝒗n张成的子空间
  • proj𝒗𝒖=𝒖,𝒗𝒗,𝒗𝒗𝒖𝒗上的投影

基本思想

图1 𝒗𝑽2上投影,构造𝑽3上的正交基𝜷

Gram-Schmidt正交化的基本想法,是利用投影原理在已有正交基的基础上构造一个新的正交基。

𝒗𝑽𝒏𝑽k𝑽n上的k维子空间,其标准正交基为{𝜼1,,𝜼k},且𝒗不在𝑽k上。由投影原理知,𝒗与其在𝑽k上的投影proj𝑽𝒌𝒗之差

𝜷=𝒗i=1kproj𝜼i𝒗=𝒗i=1k𝒗,𝜼i𝜼i


是正交于子空间𝑽k的,亦即𝜷正交于𝑽k的正交基𝜼i。因此只要将𝜷单位化,即

𝜼k+1=𝜷𝜷=𝜷𝜷,𝜷

那么{𝜼1,,𝜼k,𝜼k+1}就是𝑽k𝒗上扩展的子空间span{𝒗,𝜼1,...,𝜼k}的标准正交基。

根据上述分析,对于向量组{𝒗1,,𝒗m}张成的空间𝑽m (m<n),只要从其中一个向量(不妨设为𝒗1)所张成的一维子空间span{𝒗1}开始(注意到𝒗1就是span{𝒗1}的正交基),重复上述扩展构造正交基的过程,就能够得到𝑽n 的一组正交基。这就是Gram-Schmidt正交化

算法

首先需要确定已有基底向量的顺序,不妨设为{𝒗1,,𝒗n}。Gram-Schmidt正交化的过程如下:

𝜷1=𝒗1, 𝜼1=𝜷1𝜷1
𝜷2=𝒗2𝒗2,𝜼1𝜼1, 𝜼2=𝜷2𝜷2
𝜷3=𝒗3𝒗3,𝜼1𝜼1𝒗3,𝜼2𝜼2, 𝜼3=𝜷3𝜷3
𝜷n=𝒗ni=1n1𝒗n,𝜼i𝜼i, 𝜼n=𝜷n𝜷n

这样就得到span{𝒗1,,𝒗n}上的一组正交基{𝜷1,,𝜷n},以及相应的标准正交基{𝜼1,,𝜼n}


考察如下欧几里得空间Rn中向量的集合,欧氏空间上内积的定义为<a, b> = bTa

S={𝒗1=(31),𝒗2=(22)}.

下面作Gram-Schmidt正交化,以得到一组正交向量:

𝜷1=𝒗1=(31)
𝜷2=𝒗2proj𝜷1𝒗2=(22)proj(31)(22)=(2/56/5)

下面验证向量𝜷1𝜷2的正交性:

𝜷1,𝜷2=(31),(2/56/5)=65+65=0.

将这些向量单位化:

𝜼1=110(31)
𝜼2=185(2/56/5)

于是{𝜼1,𝜼2}就是 span{𝒗1,𝒗2} 的一组标准正交基底。

不同的形式

随着内积空间上内积的定义以及构成内积空间的元素的不同,Gram-Schmidt正交化也表现出不同的形式。

例如,在实向量空间上,内积定义为:

𝒂,𝒃=𝒃T𝒂

在复向量空间上,内积定义为:

𝒂,𝒃=𝒃H𝒂

函数之间的内积则定义为:

f(x),g(x)=f(x)g(x)dx

与之对应,相应的Gram-Schmidt正交化就具有不同的形式。

参见

Template:Portal

外部链接

Template:线性代数的相关概念