在线性代数中,如果内积空间上的一组向量能够组成一个子空间,那么这一组向量就称为这个子空间的一个基。Gram-Schmidt正交化提供了一种方法,能够通过这一子空间上的一个基得出子空间的一个正交基,并可进一步求出对应的标准正交基。 事实速览 线性代数, 向量 ... 线性代数 A = [ 1 2 3 4 ] {\displaystyle \mathbf {A} ={\begin{bmatrix}1&2\\3&4\end{bmatrix}}} 向量 · 向量空间 · 基底 · 行列式 · 矩阵 向量 标量 · 向量 · 向量空间 · 向量投影 · 外积(向量积 · 七维向量积) · 内积(数量积) · 二重向量 矩阵与行列式 矩阵 · 行列式 · 线性方程组 · 秩 · 核 · 迹 · 单位矩阵 · 初等矩阵 · 方块矩阵 · 分块矩阵 · 三角矩阵 · 非奇异方阵 · 转置矩阵 · 逆矩阵 · 对角矩阵 · 可对角化矩阵 · 对称矩阵 · 反对称矩阵 · 正交矩阵 · 幺正矩阵 · 埃尔米特矩阵 · 反埃尔米特矩阵 · 正规矩阵 · 伴随矩阵 · 余因子矩阵 · 共轭转置 · 正定矩阵 · 幂零矩阵 · 矩阵分解 (LU分解 · 奇异值分解 · QR分解 · 极分解 · 特征分解) · 子式和余子式 · 拉普拉斯展开 · 克罗内克积 线性空间与线性变换 线性空间 · 线性变换 · 线性子空间 · 线性生成空间 · 基 · 线性映射 · 线性投影 · 线性无关 · 线性组合 · 线性泛函 · 行空间与列空间 · 对偶空间 · 正交 · 特征向量 · 最小二乘法 · 格拉姆-施密特正交化 查论编 关闭 这种正交化方法以约尔根·佩德森·格拉姆(英语:Jørgen Pedersen Gram)和艾哈德·施密特(英语:Erhard Schmidt)命名,然而比他们更早的拉普拉斯(Laplace)和柯西(Cauchy)已经发现了这一方法。在李群分解中,这种方法被推广为岩泽分解(Iwasawa decomposition)。 在数值计算中,Gram-Schmidt正交化是数值不稳定的,计算中累积的舍入误差会使最终结果的正交性变得很差。因此在实际应用中通常使用豪斯霍尔德变换或Givens旋转进行正交化。可以用于矩阵计算。 记法 V n {\displaystyle {\boldsymbol {V}}^{n}} :维数为n 的内积空间 v ∈ V n {\displaystyle {\boldsymbol {v}}\in {\boldsymbol {V}}^{n}} : V n {\displaystyle {\boldsymbol {V}}^{n}} 中的元素,可以是向量、函数,等等 ⟨ v 1 , v 2 ⟩ {\displaystyle \langle {\boldsymbol {v}}_{1},{\boldsymbol {v}}_{2}\rangle } : v 1 {\displaystyle {\boldsymbol {v}}_{1}} 与 v 2 {\displaystyle {\boldsymbol {v}}_{2}} 的内积 s p a n { v 1 , v 2 , … , v n } {\displaystyle \mathrm {span} \{{\boldsymbol {v}}_{1},{\boldsymbol {v}}_{2},\ldots ,{\boldsymbol {v}}_{n}\}} : v 1 {\displaystyle {\boldsymbol {v}}_{1}} 、 v 2 {\displaystyle {\boldsymbol {v}}_{2}} …… v n {\displaystyle {\boldsymbol {v}}_{n}} 张成的子空间 p r o j v u = ⟨ u , v ⟩ ⟨ v , v ⟩ v {\displaystyle \mathrm {proj} _{\boldsymbol {v}}\,{\boldsymbol {u}}={\langle {\boldsymbol {u}},{\boldsymbol {v}}\rangle \over \langle {\boldsymbol {v}},{\boldsymbol {v}}\rangle }{\boldsymbol {v}}} : u {\displaystyle {\boldsymbol {u}}} 在 v {\displaystyle {\boldsymbol {v}}} 上的投影 基本思想 图1 v {\displaystyle {\boldsymbol {v}}} 在 V 2 {\displaystyle {\boldsymbol {V}}^{2}} 上投影,构造 V 3 {\displaystyle {\boldsymbol {V}}^{3}} 上的正交基 β {\displaystyle {\boldsymbol {\beta }}} Gram-Schmidt正交化的基本想法,是利用投影原理在已有正交基的基础上构造一个新的正交基。 设 v ∈ V n {\displaystyle {\boldsymbol {v}}\in {\boldsymbol {V^{n}}}} 。 V k {\displaystyle {\boldsymbol {V}}^{k}} 是 V n {\displaystyle {\boldsymbol {V}}^{n}} 上的 k {\displaystyle k} 维子空间,其标准正交基为 { η 1 , … , η k } {\displaystyle \{{\boldsymbol {\eta }}_{1},\ldots ,{\boldsymbol {\eta }}_{k}\}} ,且 v {\displaystyle {\boldsymbol {v}}} 不在 V k {\displaystyle {\boldsymbol {V}}^{k}} 上。由投影原理知, v {\displaystyle {\boldsymbol {v}}} 与其在 V k {\displaystyle {\boldsymbol {V}}^{k}} 上的投影 p r o j V k v {\displaystyle \mathrm {proj} _{\boldsymbol {V^{k}}}{\boldsymbol {v}}} 之差 β = v − ∑ i = 1 k p r o j η i v = v − ∑ i = 1 k ⟨ v , η i ⟩ η i {\displaystyle {\boldsymbol {\beta }}={\boldsymbol {v}}-\sum _{i=1}^{k}\mathrm {proj} _{{\boldsymbol {\eta }}_{i}}\,{\boldsymbol {v}}={\boldsymbol {v}}-\sum _{i=1}^{k}\langle {\boldsymbol {v}},{\boldsymbol {\eta }}_{i}\rangle {\boldsymbol {\eta }}_{i}} 是正交于子空间 V k {\displaystyle {\boldsymbol {V}}^{k}} 的,亦即 β {\displaystyle {\boldsymbol {\beta }}} 正交于 V k {\displaystyle {\boldsymbol {V}}^{k}} 的正交基 η i {\displaystyle {\boldsymbol {\eta }}_{i}} 。因此只要将 β {\displaystyle {\boldsymbol {\beta }}} 单位化,即 η k + 1 = β ‖ β ‖ = β ⟨ β , β ⟩ {\displaystyle {\boldsymbol {\eta }}_{k+1}={\frac {\boldsymbol {\beta }}{\|{\boldsymbol {\beta }}\|}}={\frac {\boldsymbol {\beta }}{\sqrt {\langle {\boldsymbol {\beta }},{\boldsymbol {\beta }}\rangle }}}} 那么 { η 1 , … , η k , η k + 1 } {\displaystyle \{{\boldsymbol {\eta }}_{1},\ldots ,{\boldsymbol {\eta }}_{k},{\boldsymbol {\eta }}_{k+1}\}} 就是 V k {\displaystyle {\boldsymbol {V}}^{k}} 在 v {\displaystyle {\boldsymbol {v}}} 上扩展的子空间 s p a n { v , η 1 , . . . , η k } {\displaystyle \mathrm {span} \{{\boldsymbol {v}},{\boldsymbol {\eta }}_{1},...,{\boldsymbol {\eta }}_{k}\}} 的标准正交基。 根据上述分析,对于向量组 { v 1 , … , v m } {\displaystyle \{{\boldsymbol {v}}_{1},\ldots ,{\boldsymbol {v}}_{m}\}} 张成的空间 V m {\displaystyle {\boldsymbol {V}}^{m}} ( m < n {\displaystyle m<n} ),只要从其中一个向量(不妨设为 v 1 {\displaystyle {\boldsymbol {v}}_{1}} )所张成的一维子空间 s p a n { v 1 } {\displaystyle \mathrm {span} \{{\boldsymbol {v}}_{1}\}} 开始(注意到 v 1 {\displaystyle {\boldsymbol {v}}_{1}} 就是 s p a n { v 1 } {\displaystyle \mathrm {span} \{{\boldsymbol {v}}_{1}\}} 的正交基),重复上述扩展构造正交基的过程,就能够得到 V n {\displaystyle {\boldsymbol {V}}^{n}} 的一组正交基。这就是Gram-Schmidt正交化。 算法 首先需要确定已有基底向量的顺序,不妨设为 { v 1 , … , v n } {\displaystyle \{{\boldsymbol {v}}_{1},\ldots ,{\boldsymbol {v}}_{n}\}} 。Gram-Schmidt正交化的过程如下: β 1 = v 1 , {\displaystyle {\boldsymbol {\beta }}_{1}={\boldsymbol {v}}_{1},} η 1 = β 1 ‖ β 1 ‖ {\displaystyle {\boldsymbol {\eta }}_{1}={{\boldsymbol {\beta }}_{1} \over \|{\boldsymbol {\beta }}_{1}\|}} β 2 = v 2 − ⟨ v 2 , η 1 ⟩ η 1 , {\displaystyle {\boldsymbol {\beta }}_{2}={\boldsymbol {v}}_{2}-\langle {\boldsymbol {v}}_{2},{\boldsymbol {\eta }}_{1}\rangle {\boldsymbol {\eta }}_{1},} η 2 = β 2 ‖ β 2 ‖ {\displaystyle {\boldsymbol {\eta }}_{2}={{\boldsymbol {\beta }}_{2} \over \|{\boldsymbol {\beta }}_{2}\|}} β 3 = v 3 − ⟨ v 3 , η 1 ⟩ η 1 − ⟨ v 3 , η 2 ⟩ η 2 , {\displaystyle {\boldsymbol {\beta }}_{3}={\boldsymbol {v}}_{3}-\langle {\boldsymbol {v}}_{3},{\boldsymbol {\eta }}_{1}\rangle {\boldsymbol {\eta }}_{1}-\langle {\boldsymbol {v}}_{3},{\boldsymbol {\eta }}_{2}\rangle {\boldsymbol {\eta }}_{2},} η 3 = β 3 ‖ β 3 ‖ {\displaystyle {\boldsymbol {\eta }}_{3}={{\boldsymbol {\beta }}_{3} \over \|{\boldsymbol {\beta }}_{3}\|}} ⋮ {\displaystyle \vdots } ⋮ {\displaystyle \vdots } β n = v n − ∑ i = 1 n − 1 ⟨ v n , η i ⟩ η i , {\displaystyle {\boldsymbol {\beta }}_{n}={\boldsymbol {v}}_{n}-\sum _{i=1}^{n-1}\langle {\boldsymbol {v}}_{n},{\boldsymbol {\eta }}_{i}\rangle {\boldsymbol {\eta }}_{i},} η n = β n ‖ β n ‖ {\displaystyle {\boldsymbol {\eta }}_{n}={{\boldsymbol {\beta }}_{n} \over \|{\boldsymbol {\beta }}_{n}\|}} 这样就得到 s p a n { v 1 , … , v n } {\displaystyle \mathrm {span} \{{\boldsymbol {v}}_{1},\ldots ,{\boldsymbol {v}}_{n}\}} 上的一组正交基 { β 1 , … , β n } {\displaystyle \{{\boldsymbol {\beta }}_{1},\ldots ,{\boldsymbol {\beta }}_{n}\}} ,以及相应的标准正交基 { η 1 , … , η n } {\displaystyle \{{\boldsymbol {\eta }}_{1},\ldots ,{\boldsymbol {\eta }}_{n}\}} 。 例 考察如下欧几里得空间Rn中向量的集合,欧氏空间上内积的定义为<a, b> = bTa: S = { v 1 = ( 3 1 ) , v 2 = ( 2 2 ) } . {\displaystyle S=\lbrace {\boldsymbol {v}}_{1}={\begin{pmatrix}3\\1\end{pmatrix}},{\boldsymbol {v}}_{2}={\begin{pmatrix}2\\2\end{pmatrix}}\rbrace .} 下面作Gram-Schmidt正交化,以得到一组正交向量: β 1 = v 1 = ( 3 1 ) {\displaystyle {\boldsymbol {\beta }}_{1}={\boldsymbol {v}}_{1}={\begin{pmatrix}3\\1\end{pmatrix}}} β 2 = v 2 − p r o j β 1 v 2 = ( 2 2 ) − p r o j ( 3 1 ) ( 2 2 ) = ( − 2 / 5 6 / 5 ) {\displaystyle {\boldsymbol {\beta }}_{2}={\boldsymbol {v}}_{2}-\mathrm {proj} _{{\boldsymbol {\beta }}_{1}}\,{\boldsymbol {v}}_{2}={\begin{pmatrix}2\\2\end{pmatrix}}-\mathrm {proj} _{\begin{pmatrix}3\\1\end{pmatrix}}\,{\begin{pmatrix}2\\2\end{pmatrix}}={\begin{pmatrix}-2/5\\6/5\end{pmatrix}}} 下面验证向量 β 1 {\displaystyle {\boldsymbol {\beta }}_{1}} 与 β 2 {\displaystyle {\boldsymbol {\beta }}_{2}} 的正交性: ⟨ β 1 , β 2 ⟩ = ⟨ ( 3 1 ) , ( − 2 / 5 6 / 5 ) ⟩ = − 6 5 + 6 5 = 0. {\displaystyle \langle {\boldsymbol {\beta }}_{1},{\boldsymbol {\beta }}_{2}\rangle =\left\langle {\begin{pmatrix}3\\1\end{pmatrix}},{\begin{pmatrix}-2/5\\6/5\end{pmatrix}}\right\rangle =-{\frac {6}{5}}+{\frac {6}{5}}=0.} 将这些向量单位化: η 1 = 1 10 ( 3 1 ) {\displaystyle {\boldsymbol {\eta }}_{1}={1 \over {\sqrt {10}}}{\begin{pmatrix}3\\1\end{pmatrix}}} η 2 = 1 8 5 ( − 2 / 5 6 / 5 ) {\displaystyle {\boldsymbol {\eta }}_{2}={1 \over {\sqrt {8 \over 5}}}{\begin{pmatrix}-2/5\\6/5\end{pmatrix}}} 于是 { η 1 , η 2 } {\displaystyle \{{\boldsymbol {\eta }}_{1},{\boldsymbol {\eta }}_{2}\}} 就是 s p a n { v 1 , v 2 } {\displaystyle \mathrm {span} \{{\boldsymbol {v}}_{1},{\boldsymbol {v}}_{2}\}} 的一组标准正交基底。 不同的形式 随着内积空间上内积的定义以及构成内积空间的元素的不同,Gram-Schmidt正交化也表现出不同的形式。 例如,在实向量空间上,内积定义为: ⟨ a , b ⟩ = b T a {\displaystyle \langle {\boldsymbol {a}},{\boldsymbol {b}}\rangle ={\boldsymbol {b}}^{T}{\boldsymbol {a}}} 在复向量空间上,内积定义为: ⟨ a , b ⟩ = b H a {\displaystyle \langle {\boldsymbol {a}},{\boldsymbol {b}}\rangle ={\boldsymbol {b}}^{H}{\boldsymbol {a}}} 函数之间的内积则定义为: ⟨ f ( x ) , g ( x ) ⟩ = ∫ − ∞ ∞ f ( x ) g ( x ) d x {\displaystyle \langle f(x),g(x)\rangle =\int _{-\infty }^{\infty }f(x)g(x)dx} 与之对应,相应的Gram-Schmidt正交化就具有不同的形式。 参见 数学主题 内积空间 内积 正交 QR分解 外部链接 Hazewinkel, Michiel (编), Orthogonalization, 数学百科全书, Springer, 2001, ISBN 978-1-55608-010-4 Harvey Mudd College Math Tutorial on the Gram-Schmidt algorithm Earliest known uses of some of the words of mathematics: G (页面存档备份,存于互联网档案馆) Demos: Gram Schmidt process in plane and Gram Schmidt process in space Gram-Schmidt orthogonalization applet (页面存档备份,存于互联网档案馆) NAG Gram–Schmidt orthogonalization of n vectors of order m routine (页面存档备份,存于互联网档案馆) Proof: Raymond Puzio, Keenan Kidwell. "proof of Gram-Schmidt orthogonalization algorithm" (version 8). PlanetMath.org. (页面存档备份,存于互联网档案馆) Wikiwand in your browser!Seamless Wikipedia browsing. On steroids.Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.Wikiwand for ChromeWikiwand for EdgeWikiwand for Firefox
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.