假设我有两个矩阵(以 Common Lisp 数组的形式) foo 和 bar ,这样:
(defvar foo #2A((2 1 6) (7 3 4)))
(defvar bar #2A((3 1) (6 5) (2 3)))
Run Code Online (Sandbox Code Playgroud)
我想使用 BLAS 执行矩阵乘法,而不使用 Matlisp、GSLL、LLA 等包装器。这样我就得到一个包含结果的数组:
#2A((24 25) (47 34))
Run Code Online (Sandbox Code Playgroud)
我应该采取哪些步骤来执行此类操作?
我的理解是,我应该从 REPL 调用 BLAS 矩阵乘法函数,并将我的参数 foo 和 bar 传递给它。
在 R 中,我可以轻松地这样做:
foo %*% bar
Run Code Online (Sandbox Code Playgroud)
我怎样才能在 Common Lisp 中做到这一点?
免责声明:1)我使用 SBCL 2)我不是经验丰富的计算机科学家