我有一组列向量我想得到标准正交基对于这些向量的范围。我使用修改后的 Gram-Schmidt 进行正交化。如果是一个线性组合和, 当我们正交化,它将返回一个-向量。我的问题是什么时候向量应该被视为数字零?
我试图在将预测减去之前的基础后计算残差的范数并将其与范数进行比较,如果这个比率小于某个数字(比如 1%),那么我可以将其视为-向量。但是这种方法效果不好。有没有人可以帮我解决这个问题?我不喜欢使用 SVD,因为它太贵了,在这种情况下我需要良好的准确性和效率。非常感谢!
我有一组列向量我想得到标准正交基对于这些向量的范围。我使用修改后的 Gram-Schmidt 进行正交化。如果是一个线性组合和, 当我们正交化,它将返回一个-向量。我的问题是什么时候向量应该被视为数字零?
我试图在将预测减去之前的基础后计算残差的范数并将其与范数进行比较,如果这个比率小于某个数字(比如 1%),那么我可以将其视为-向量。但是这种方法效果不好。有没有人可以帮我解决这个问题?我不喜欢使用 SVD,因为它太贵了,在这种情况下我需要良好的准确性和效率。非常感谢!
您要做的是定义(相对)阈值确定向量何时为零:
例如,如果元素是精确的,但您以双精度进行计算,那么 必须肯定被认为是零。
在实践中,您可能希望选择明显大于,但 0.01 似乎相当大,除非您的向量的条目只是不完全知道。