这里使用的库是 LinearAlgebra ,对 144*144 的矩阵 temp 进行 svd 分解,重新乘起来的结果为 a, 对 temp 的逆进行 svd 分解,重新乘起来的结果为 b。a 和 temp 近似相等,b 和 inv(temp) 近似相等,tempinv(temp) 为单位矩阵,但是 ab的结果不但不等于单位矩阵,还相差很远,如图的 norm 所示,这是
这是什么问题呢?是矩阵乘法出了什么问题嘛?
这里使用的库是 LinearAlgebra ,对 144*144 的矩阵 temp 进行 svd 分解,重新乘起来的结果为 a, 对 temp 的逆进行 svd 分解,重新乘起来的结果为 b。a 和 temp 近似相等,b 和 inv(temp) 近似相等,tempinv(temp) 为单位矩阵,但是 ab的结果不但不等于单位矩阵,还相差很远,如图的 norm 所示,这是
这是什么问题呢?是矩阵乘法出了什么问题嘛?
甚至只是替换一点,计算的结果都不同
可能你的矩阵 temp
比较病态,推荐阅读
非常感谢您的回复!
确实 temp 会比较病态,但是既然 a 和 temp 近似相等,b 和 temp 的逆近似相等,temp * inv(temp) 都没问题,那为啥 a 和 b 矩阵乘法的结果会很奇怪呢?
再次感谢!
temp * inv(temp)
已经很奇怪了,如果正常矩阵得到的norm
应当是12.0