我有一个矩阵,它“几乎”像一个上三角形,只是最后一行有非零元素。我想对该矩阵执行 QR 分解。
有谁知道这种矩阵的“名称”?而且由于我不想对这样的矩阵使用内置的 matlab QR 函数,任何人都可以建议一个更好的算法供我使用吗?
我有一个矩阵,它“几乎”像一个上三角形,只是最后一行有非零元素。我想对该矩阵执行 QR 分解。
有谁知道这种矩阵的“名称”?而且由于我不想对这样的矩阵使用内置的 matlab QR 函数,任何人都可以建议一个更好的算法供我使用吗?
查看http://web.stanford.edu/group/SOL/papers/ggms74.pdf的第 5 部分,了解如何在您希望分解的矩阵中添加一行时更新 QR 分解。您可能会发现完全消化并不容易。
我认为科学计算第 6 章的算法 6.16 - An Introduction using Maple and MATLAB将为您解决问题,当您向要分解的矩阵添加一行时,允许您在 MATLAB 中更新现有的 QR 分解。这是 MATLAB m 文件http://www.cs.cornell.edu/cv/GVL4/M-Files/Chapter%206/Chap6.htm。
如果矩阵几乎是三角形的,您只需更新 QR 即可去除不需要的非零值。您可以通过使用 Givens 旋转来做到这一点(参见 Golub 和 Van-Loan,“矩阵计算”第 4 版,第 6.5 章)。
您还可以使用 MATLAB 的“qrinsert”并将附加行添加到 QR 分解。