我可以找到常见的 Moore-Penrose 算法,但找不到 Drazin 或 Bott-Duffin 广义逆,除了一些非常特殊的情况,对我的学习目的无用。
这两种算法中的至少一种是否有 Matlab 或 C 代码?
我可以找到常见的 Moore-Penrose 算法,但找不到 Drazin 或 Bott-Duffin 广义逆,除了一些非常特殊的情况,对我的学习目的无用。
这两种算法中的至少一种是否有 Matlab 或 C 代码?
以下论文描述了如何修改 Gauss-Jordan 消元以形成 Drazin 逆:
我不知道实现该方法的 Matlab 或 C 库;然而,这篇论文中的算法似乎并不难实现。
此外,本文有几篇论文讨论了在参考文献中计算 Drazin 逆的有效算法。
我还能够在 SO 上找到类似的问题,其中一个答案引用了另一篇论文 ,该论文具有用于计算二变量多项式矩阵的 Drazin 逆的 Matlab 代码,这可能是一种矫枉过正。当我阅读这篇论文时,它基于用于寻找 Drazin 逆的 Greville 算法(那里列出的算法也非常简单):
在进行文献综述时,我还能够找到另一篇包含 Mathematica 代码的论文,用于在里面找到多项式矩阵的 Drazin 逆。同样,这对您来说可能是矫枉过正。不过,我想,你可以为你的常量矩阵情况做的修改和优化不应该太激烈:
我最不自信的是一个使用梯度神经网络GNN_Drazin找到 Drazin 逆的 Matlab 包。我个人没有足够的知识来判断这种使用神经网络的数值方法的可行性,也没有足够的知识来判断包本身的质量。