网站建设广告,wordpress 总访问量,厦门seo网站排名优化,安卓市场下载手机版相信大家在平时的期末考试中一定少不了对某某向量组执行标准正交化类型的题目。今天我们从这个题目入手#xff0c;说明这个如何执行施密特正交化#xff0c;以及为什么要进行正交化。 一、例子
例子#xff1a;设 a 1 [ 1 2 − 1 ] a_1\begin{bmatrix}1\\2\\-1\end{bmat…相信大家在平时的期末考试中一定少不了对某某向量组执行标准正交化类型的题目。今天我们从这个题目入手说明这个如何执行施密特正交化以及为什么要进行正交化。 一、例子
例子设 a 1 [ 1 2 − 1 ] a_1\begin{bmatrix}1\\2\\-1\end{bmatrix} a1 12−1 a 2 [ − 1 3 1 ] a_2\begin{bmatrix}-1\\3\\1\end{bmatrix} a2 −131 a 3 [ 4 − 1 0 ] a_3\begin{bmatrix}4\\-1\\0\end{bmatrix} a3 4−10 使用施密特正交化将这组向量标准正交化。
答标准正交向量组应该满足
向量的长度为1向量之间相互正交
选定一个基准向量 A 1 a 1 [ 1 2 − 1 ] A_1a_1\begin{bmatrix}1\\2\\-1\end{bmatrix} A1a1 12−1 对第二个向量分解为正交和与 A 1 A_1 A1 共线的两个向量其中与 A 1 A_1 A1 共线的向量因为已经能够用 A 1 A_1 A1 进行表示所以应该剔除只保留与 A 1 A_1 A1 正交的分量 A 2 A 2 − P A 1 A 2 A 2 − A 1 A 1 T A 1 T A 1 A 2 5 3 [ − 1 1 1 ] A_2A_2-P_{A_1}A_2A_2-\frac{A_1A_1^T}{A_1^TA_1}A_2\frac{5}{3}\begin{bmatrix}-1\\1\\1\end{bmatrix} A2A2−PA1A2A2−A1TA1A1A1TA235 −111 同理 A 3 A 3 − A 2 A 2 T A 2 T A 2 A 3 − A 3 A 3 T A 3 T A 3 A 3 2 [ 1 0 1 ] A_3A_3-\frac{A_2A_2^T}{A_2^TA_2}A_3-\frac{A_3A_3^T}{A_3^TA_3}A_32\begin{bmatrix}1\\0\\1\end{bmatrix} A3A3−A2TA2A2A2TA3−A3TA3A3A3TA32 101 已经正交化的向量应该更新到下一个阶段的计算。 接下来对向量组的每个成员进行单位化。 单位化的长度可以随便缩小总之保证模长度为1即可也就是说前面的诸如 2 2 2 和 5 3 \frac{5}{3} 35 完全不用考虑其存在。 e 1 A 1 ∣ A 1 ∣ 1 6 [ 1 2 − 1 ] e 2 A 2 ∣ A 2 ∣ 1 3 [ − 1 1 1 ] e 3 A 3 ∣ A 3 ∣ 1 2 [ 1 0 1 ] e_1\frac{A1}{|A1|}\frac{1}{\sqrt 6}\begin{bmatrix}1\\2\\-1\end{bmatrix}\\ e_2\frac{A2}{|A2|}\frac{1}{\sqrt 3}\begin{bmatrix}-1\\1\\1\end{bmatrix}\\ e_3\frac{A3}{|A3|}\frac{1}{\sqrt 2}\begin{bmatrix}1\\0\\1\end{bmatrix} e1∣A1∣A16 1 12−1 e2∣A2∣A23 1 −111 e3∣A3∣A32 1 101
如果你动手计算的话你会发现得到正交化的结果并不容易。所以为什么我们要废这么大功夫去实现这样的一个分解接下来就是对这个问题进行解答。
二、正交化的应用
谈到正交化 Q R QR QR 分解是经常一起谈论的。 Q R QR QR 分解是将一个矩阵分解为正交矩阵 Q Q Q 和上三角矩阵 R R R 的过程。很多方法可以实现这样的一个分解上面的例子我们就使用到了施密特正交化的方法。下面是各种方法的比较
方法描述优缺点使用场景Gram-Schmidt过程是一种迭代方法逐列地将原始矩阵的列向量正交化直观但是可能数值不稳定尤其是当 A A A的列近似线性相关时小到中型矩阵Householder变换利用对称反射来逐步将矩阵变换为上三角形式的方法通常比Gram-Schmidt过程更数值稳定。是许多数值线性代数库如LAPACK的标准方法大型、满秩的密集矩阵Givens旋转通过旋转来逐步零化矩阵元素达到上三角形式通常用于稀疏矩阵或特定结构的矩阵因为可以有选择地零化矩阵的元素大型、稀疏矩阵列主元 Q R QR QR分解在 Q R QR QR分解中引入列主元策略每一步中选择“最大”的列作为下一个正交向量可以提高施密特正交化过程的稳定性列线性相关或者近似相关
施密特正交化在很多地方都有应用这里只讨论与 Q R QR QR 有关的话题。对一个矩阵执行施密特正交化事实上就是在求取 Q R QR QR 分解中的 Q Q Q 矩阵因为正交矩阵 Q Q Q 的特殊性可以很轻松的通过 A A A 与正交矩阵 Q Q Q 求得 R R R 矩阵。 对于上三角矩阵所有位于主对角线以下的元素必须为零对于下三角矩阵所有位于主对角线以上的元素必须为零。主对角线是否为零与是否为上下三角没有直接关系。 Q R QR QR 求解线性方程组有哪些帮助
节省空间具有数值稳定性解无解方程
我并不认为 Q R QR QR 分解相对于直接求解 A A A 的逆有更高的效率。考虑线性方程组 A x b Axb Axb A x b ⇒ Q R x b ⇒ R x Q T b Axb\Rightarrow QRxb\Rightarrow RxQ^Tb Axb⇒QRxb⇒RxQTb 令 y Q T b yQ^Tb yQTb有些人就下以下结论对于不同的 b b b 我们只需要将其简单的乘以 Q T Q^T QT 再通过回代Back substitution就可以得到新的方程的解而不需要重新计算 A − 1 A^{-1} A−1事实上我们也可以通过提前计算 A − 1 A^{-1} A−1 来避免求逆的过程。真正有意义的是节省存储空间。 Q R QR QR 分解只需要存储一个列向量 Q T Q^T QT 和上三角矩阵有很多零可以不存储而后者既要存储 A A A还需要存储 A − 1 A^{-1} A−1
2.1 Q R QR QR 分解有更好的数值稳定性
相对于高斯消元法 Q R QR QR 分解更具有数值稳定性。数值稳定性Numerical Stability是指数值算法在小的扰动下如计算机的舍去误差下得到的解仍然是近似于真实的解。看一个具体的例子说明这个数值稳定性概念
考虑系数矩阵 A A A 和 结果向量 b b b 组成的线性方程组 A x b Axb Axb 的解 A [ 1 1 1 1.0001 ] b [ 2 2.0001 ] A\begin{bmatrix}11\\11.0001\end{bmatrix} \quad b\begin{bmatrix}2\\2.0001\end{bmatrix} A[1111.0001]b[22.0001] 容易得出 x [ 1 1 ] x\begin{bmatrix}1\\1\end{bmatrix} x[11]当扰动作用于 b b b 变成 b ′ b b′ b ′ [ 2 2 ] b\begin{bmatrix}2\\2\end{bmatrix} b′[22] 这个解变成了 x ′ [ 2 0 ] x\begin{bmatrix}2\\0\end{bmatrix} x′[20]和原来的 x [ 1 1 ] x\begin{bmatrix}1\\1\end{bmatrix} x[11] 相差甚远尽管我们的扰动只是 0.0001 0.0001 0.0001。为什么我们说高斯消元法的数值稳定性差呢高斯消元法会用到某一行的倍数减去另一个行如果乘数是基于非常小的主元计算的乘数会非常大所有依赖这个乘数的元素的误差都会放大而 Q R QR QR 分解的过程中只涉及向量投影并不涉及高斯消元的小主元问题所以我们说 Q R QR QR 分解具有比高斯消元法更大的数值稳定性。
2.2 计算对称三角矩阵的全部特征值
待补充 [1] https://programmersought.com/article/41251945673/