给定一个稠密矩阵内找到其零空间基的最佳方法是什么?
基于这个基础,我可以说某些 cols 在内是线性相关的吗?换句话说,在计算了零空间基础后,哪些列才能获得非奇异矩阵?
参考是赞赏。
给定一个稠密矩阵内找到其零空间基的最佳方法是什么?
基于这个基础,我可以说某些 cols 在内是线性相关的吗?换句话说,在计算了零空间基础后,哪些列才能获得非奇异矩阵?
参考是赞赏。
确定矩阵零空间的标准方法是使用 QR 分解或 SVD。如果准确性至关重要,则首选 SVD;QR分解更快。
使用 SVD,如果,则对应于小的奇异值的列(即的小对角线条目)构成了零空间的 a 基础。这里的相关公差是人们认为的“小”奇异值。例如,MATLAB 需要小到,其中与机器精度有关(参见MATLAB 文档中的此处)。
使用 QR 分解,如果的秩是,那么列构成的零空间,假设 QR 分解是秩揭示。要确定,请计算的主对角线上其大小超过容差的条目数(类似于 SVD 方法中使用的条目数)。
不要使用 LU 分解。在精确算术中,这是一种可行的方法,但对于浮点算术,数值误差的累积使其不准确。
维基百科在这里涵盖了这些主题。
如果 (例如)随机行的索引集并使用正交分解来节省一些工作。(QR 分解是其中是平方且是秩为的其余列为零。使用置换的 QR 分解将增强稳定性;然后必须更详细地考虑置换食谱。)
的最后列)跨越的低维子空间。该子空间包含的零空间。现在选择另一个不相交的随机索引集并计算的 QR 分解。将左边得到的空空间乘以,得到一个可能更低维迭代直到的维度不再减小。那么你可能有正确的空空间,可以通过计算来检查。如果这还不能忽略不计,请对最重要的行进行进一步的迭代。
编辑:一旦你有了的正交分解和旋转的线性独立列的最大集合实际上,未选择作为主元的索引