gpt4 book ai didi

matrix - 如何使用 BLAS 执行向量矩阵乘法?

转载 作者:行者123 更新时间:2023-12-04 11:36:52 27 4
gpt4 key购买 nike

BLAS 定义了 GEMV(矩阵向量乘法)2 级运算。如何使用 BLAS 库执行向量矩阵乘法?

这可能很明显,但我不知道如何使用 BLAS 运算进行乘法运算。我本来希望进行 GEVM 操作。

最佳答案

(M x N) 矩阵与 (N x 1) 向量的矩阵向量乘法将产生 (M x 1) 向量。总之a*A(MxN)*X(Nx1) + b*Y(Mx1) -> Y(Mx1) .当然你可以用INCXINCY当您的向量包含在矩阵中时。

为了定义向量矩阵乘法向量应该被转置。即 a*X(1xM)*A(MxN) + b*Y(1xN) -> Y(1xN) .基本上你没有一个向量,而是一个单行矩阵。

从这点出发,有两种可能。

要么使用 3 级“GEMM”

?gemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)

使用
?gemm('N', 'N', 1, N, M, a, X, 1, A, M, b, Y, 1)

或者多做一些数学运算。考虑到 (X*A)^T = A^T * X^T行矩阵 X转换为向量 X^T(MX1)。还有 Y转置是向量 Y^T(Nx1) .当然在内存方面 XX^T以相同的方式依次存储。这意味着您可以再次使用 GEMV使用转置矩阵 A
?gemv('T', M, N, a, A, M, X, 1, b, Y, 1)

关于matrix - 如何使用 BLAS 执行向量矩阵乘法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29472362/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com