是否有任何库或免费可用的代码可以计算a的行列式small (6x6
),双精度矩阵完全在 GPU 上?
这是计划,您将需要缓冲 100 个这些微小矩阵并启动一次内核以立即计算所有这些矩阵的行列式。
我不会编写实际的代码,但这应该会有所帮助。
1) 启动 # 个块 = # 个矩阵。每个块计算每个矩阵的行列式。
2) det(A) = det(A11 * A22 - A21 * A12);其中 A 是 6x6,A11、A12、A21、A22 是 A 的 3x3 子矩阵。
3)写一个device对 3x3 矩阵进行矩阵乘法的函数
4) 3x3 矩阵的 det 计算起来很简单:使用这里的公式 https://reference.wolfram.com/language/ref/Det.html.
EDIT:显然(2)仅在 A21 * A12 == A12 * A21 时才有效
另一种选择如下
1) 通过高斯消元法进行 LU 分解 http://www.personal.psu.edu/jhm/f90/lectures/lu.html对于每个 6x6 矩阵
2)将U的对角线元素相乘得到行列式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)