首页 > 解决方案 > 使用对角矩阵计算对称秩 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 (Intel) 仅计算A * B^T

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

标签: clapackblasintel-mkl

解决方案


推荐阅读