我正在使用OpenCL计算矩阵的特征向量。AMD有一个特征值计算的示例,所以我决定使用反迭代法来获取特征向量。我遵循了这里描述的算法,并注意到为了解决第4步,我需要解一个线性方程组(或计算一个矩阵的逆)。在GPU上使用OpenCL最好的方法是什么?有哪些示例/参考资料我应该查看? 编辑:抱歉,我应该提到我的矩阵是对称三对角的。从我所读的内容来看,这可能很重要,也许能简化整个过程。
矩阵是三对角矩阵这一事实非常重要——它将问题的复杂度从O(N^3)降低到O(N)。同时,它也是对称的,这可能会带来一些加速效果,但不会像三对角性那样显著。解决三对角系统的方法在这里:http://en.wikipedia.org/wiki/Tridiagonal_matrix_algorithm。此外,请注意,您不需要存储矩阵的所有N^2个元素,因为其中几乎所有元素均为零。您只需要一个长度为N的向量(用于对角线)和两个长度为N-1的向量(用于子对角线和超对角线)。由于您的矩阵是对称的,子对角线和超对角线是相同的。希望这有所帮助...