【问题标题】:Error while getting Identity matrix after performing matrix multiplication between a matrix and its inverse在矩阵与其逆矩阵之间执行矩阵乘法后获取单位矩阵时出错
【发布时间】:2016-10-13 09:08:36
【问题描述】:

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

【问题讨论】:

    标签: math error-handling matrix-multiplication matrix-inverse cublas


    【解决方案1】:

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

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

    【讨论】:

    • 不,实际上有时不可能在计算机上用浮点/双精度类型精确表示一个数字。例如'0.1'
    • 如果我提交程序并附上可能的错误(例如这个)到我的指南,可以吗?由于验证方法(恒等矩阵)并非 100% 准确。
    • 很好。检查浮点数结果的标准方法是“大约等于”预定义的允许错误,例如 1e-4。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多