X对角线XDX ^ T的快速矩阵乘法

时间:2019-03-11 21:51:41

标签: c++ matrix matrix-multiplication

考虑对X an n by m矩阵和D an m x m对角矩阵进行XDX ^ T的快速矩阵乘法。这里m >> n(假设n大约为1000,m大约为100000)。在我的应用程序中,X是一个固定矩阵,并且D的值可以在每次迭代时更改。

什么是最快的计算方法?目前,我只是在用C ++进行简单的乘法。

编辑:我应该澄清一下我当前的过程,它不是“简单乘法”。特别是,我将X乘以D的对角线条目的平方根,得到A:= XD ^ {1/2}。然后,我直接计算A * t(A)(这是n乘m矩阵与其转置的乘积。)

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您知道D是对角线,则可以进行简单乘法。希望您不会将零相乘。