计算矩阵指数最快的方法是什么

问题描述 投票:0回答:2

我需要计算大小高达 1000*1000 的矩阵的矩阵指数(https://en.wikipedia.org/wiki/Matrix_exponential)。 到目前为止,在 python 中,scipy.linalg.expm (https://docs.scipy.org/doc/scipy/reference/ generated/scipy.linalg.expm.html) 对我来说是最快的选择。我已经尝试过C++中的犰狳(https://arma.sourceforge.net/)和FastExpm(https://juliapackages.com/p/fastexpm)和ExponentialUtilities(https://docs.sciml.ai) /ExponentialUtilities/stable/)在 Julia 中。事实证明它们都比 scipy.linalg.expm 慢。

这真的是最快的方法吗?有谁知道更好的选择吗?

python matrix julia linear-algebra exponential
2个回答
0
投票

需要注意的一件事是,您通常不需要矩阵指数,而是需要

exp(A)*v
,在这种情况下,您可以使用 krylov 方法更快地获得结果。您可能还想尝试使用 Julia 的
exp
和 MKL 包。


0
投票

您可以尝试

cuexpm
用于矩阵指数的 CUDA GPU 加速库 https://github.com/maximilianbehr/cuexpm.

© www.soinside.com 2019 - 2024. All rights reserved.