用对角矩阵计算对称秩k更新的最快方法

问题描述

我想用等式更新对称矩阵C

C = alpha*A*D*A^T + beta*C

其中A是n×k的通用矩阵,D是对角矩阵。

使用BLAS和LAPACK进行计算的最有效方法是什么?是否有类似syrk(netlib)的东西,但是允许对角乘数?可能通过BLAS 3级扩展?

使用MKL,您可以计算

B = A*D

然后使用MKL的扩展名gemmt(英特尔)仅计算A * B^T的下三角部分

但这似乎不是最有效的方法,因为B = A * D计算是不必要的额外工作。我想知道是否有专门的内核,因为这似乎是一种常见的计算。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...