我目前正在使用自己的C ++ / Mex代码和Matlab开发,但我的项目变得越来越大,我正在考虑切换到合适的线性代数库。我已经阅读了关于犰狳的非常好的东西,但我找不到我项目所需的一些基本功能。
我理解Armadillo链接到LAPACK和BLAS库,但我找不到Armdaillo's API中的矩阵指数函数,也找不到LAPACK functions中的矩阵指数函数。
有人能告诉我是否有附加计算器用Armadillo计算矩阵指数?如果是这样,我们将非常感谢一个简短的示例代码。
答案 0 :(得分:4)
矩阵指数是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;
}
但它当然取决于我从expmat
获取函数指针的事实
R package exmp。完整文件is here on Github也包含枚举Ward_2
。
答案 1 :(得分:4)
这已添加为expmat
到最新版本,请参阅
http://arma.sourceforge.net/docs.html#expmat
答案 2 :(得分:3)
这是John Burkardt的c / c ++实现的一个端口,它是19个可疑的犰狳之一......