我目前正在使用自己的 C++/Mex 代码和 Matlab 进行开发,但我的项目越来越大,我正在考虑切换到合适的线性代数库。我读过很多关于 Armadillo 的好东西,但我找不到我的项目需要的一些基本功能。
我了解 Armadillo 链接到 LAPACK 和 BLAS 库,但我在 Armdaillo's API 中找不到矩阵指数函数, 也不在 LAPACK functions .
谁能告诉我是否有使用 Armadillo 计算矩阵指数的附加组件?如果是这样,将不胜感激一个简短的示例代码。
最佳答案
矩阵指数是 Matlab 的东西。所以Octave实现了它。所以其他自由软件项目看的是什么 Octave借用了这个实现并重新实现了它。
我经常使用 R和 Armadillo通过 RcppArmadillo包(我是合著者)。在最近的一项工作中,我需要 expm()
并借用它供 Armadillo 使用。来自 R package exmp .
代码是这样的:
arma::mat expm(arma::mat x) {
arma::mat z(x.n_rows, x.n_cols);
(*expmat)(x.begin(), x.n_rows, z.begin(), Ward_2);
return z;
}
但这当然取决于我从
R package exmp .完整文件 is here on Github它也有枚举 Ward_2
。
关于c++ - 矩阵指数与 Armadillo ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24220999/