Tag: lapack blas

用CBLAS / LAPACK进行C中的对称矩阵求逆

我在C中编写一个需要矩阵和向量乘法的算法。 我有一个矩阵Q (W x W),它是通过将矢量J (1 x W)的转置与其自身相乘并添加使用标量a缩放的单位矩阵I而 创建的 。 Q = [(J ^ T)* J + aI]。 然后我必须将Q的倒数乘以向量G以得到向量M. M =(Q ^( – 1))* G. 我正在使用cblas和clapack来开发我的算法。 当使用随机数(类型float)填充矩阵Q并使用例程sgetrf_和sgetri_反转时 ,计算的逆是正确的 。 但是当矩阵Q是对称的时,你乘以(J ^ T)x J就是这种情况,计算出的逆是错误的! 。 我知道从C调用lapack例程时数组的行主要(在C中)和列主要(在FORTRAN中)格式,但对于对称矩阵,这应该不是问题,因为A ^ T = A. 我已经在下面附加了我的C函数代码用于矩阵求逆。 我相信有更好的方法来解决这个问题。 谁能帮我这个? 使用cblas的解决方案会很棒…… 谢谢。 void InverseMatrix_R(float *Matrix, int W) { int LDA = W; int […]