首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >矩阵对数算法

问矩阵对数算法
EN

Stack Overflow用户
提问于 2011-05-26 18:49:53
回答 3查看 2.3K关注 0票数 4

在OpenCV中有没有计算矩阵对数的方法?我知道它不能作为一个库函数使用,但是,指向一个好的资源(论文、教科书等)的指针将会很受欢迎。

EN

回答 3

Stack Overflow用户

发布于 2011-05-26 19:05:08

NicholasJ.Higham的"Functions of Matrices: Theory and Computation"有一整章(CH11)专门介绍矩阵对数。它包括算法描述和数值实验结果。

票数 4
EN

Stack Overflow用户

发布于 2011-05-27 18:51:23

事实上,我正在对特征库中的矩阵对数进行编程,该库显然在一些Willow Garage库中使用;对OpenCV不太确定。在我看来,Higham的书(参见aix的答案)是最好的参考,我在他的书中实现了算法11.11。不过,这是一个相当复杂的算法。

对角化(在Alexandre的评论中)是一种易于编程的方法,它非常适合于对称正定矩阵。它也适用于许多通用矩阵。然而,对于特征值相近的矩阵,它是不准确的,对于不可对角化的矩阵,它是失败的。

如果你想要比对角化更健壮但比Higham的算法11.11更简单的东西,那么我建议先做Schur分解,然后再进行反向缩放和平方。这是Higham的书中的算法11.10,并在论文“将矩阵的对数近似到指定的精度”(http://dx.doi.org/10.1137/S0895479899364015,在http://eprints.ma.man.ac.uk/318/预印本)中进行了描述。

票数 3
EN

Stack Overflow用户

发布于 2014-12-01 20:22:55

如果使用OpenCV矩阵,则可以轻松地将它们映射到Eigen3矩阵。请看这篇文章:

OpenCV CV::Mat and Eigen::Matrix

然后,您可以使用Eigen3库中的矩阵对数函数:

http://eigen.tuxfamily.org/dox/unsupported/group__MatrixFunctions__Module.html

它在不支持的模块下,但这不是问题,这只是意味着:

这些模块来自不同用户的贡献。它们是按“原样”提供的,没有任何支持。

-- http://eigen.tuxfamily.org/dox/unsupported/

希望这能对你有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6137354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档