swift 中的矩阵乘法 - simd

matrix multiplication in swift - simd

let matrix = simd_double4x4([[10.0, 8.0, 7.0, 8.0], [10.0, 9.0, 19.0, 9.0], [8.0, 7.0, 10.0, 8.0], [8.0, 7.0, 10.0, 8.0]])
        
        let rhs = SIMD4<Double>(100.0, 130.0, 120.0, 120.0)
        
        let result = simd_mul(matrix.inverse, rhs)
        
        print(result)

此代码适用于 2x2 和 3x3 矩阵来求解方程。但是当涉及到 4x4 矩阵时,我无法得到结果。当我在 4x4 方程求解器的网站上输入相同的值时,我得到了结果,但是在 swift 中我无法得到它,它只是打印 -> SIMD4(-nan, -nan, -nan, -nan)

结果正确。不可能反转你的特定矩阵,行列式为零。

将最后一行更改为类似 8.0, 7.0, 10.0, 9.0 的内容,然后重试。

这是一些在线计算器的输出结果。