在矩阵与其逆矩阵之间执行矩阵乘法后获取单位矩阵时出错

Error while getting Identity matrix after performing matrix multiplication between a matrix and its inverse

我使用 CUBLAS 对包含随机浮点(单精度)值的 N x N 矩阵执行矩阵求逆,最多 6 位小数。在获得逆矩阵(并使用 this website 验证)后,我将获得的逆矩阵与原始矩阵(使用 CUDA 矩阵乘法程序)相乘,希望得到精确的恒等矩阵。但是单位矩阵有一些错误。你能解释一下为什么会这样吗?我什至在下面附上了我的程序的输出。

您看到的是数值错误。由于计算精度有限,这种情况很常见。你可以从这里开始。

https://en.m.wikipedia.org/wiki/Numerical_error