0

据我了解,MATLAB 的 mldivide 函数使用多种算法来求解线性系统,对所涉及的矩阵进行各种检查以查看适用的算法。这些细节对用户是隐藏的。

我记得我已经看到有一些方法可以让 MATLAB 在运行时输出此过程的详细信息,在其中打印出检查结果和它决定的算法(LU、Cholesky、来自 LAPACK 的东西,即使对于稀疏系统也是如此) ?)。尽管我尽了最大努力搜索 MATLAB 论坛、stackoverflow、文档和网络,但我再也找不到此信息。我知道我在某个地方看到过。我希望这里有人知道如何做到这一点。

如果做不到这一点,谁能告诉我 mldivide 会为以下选择什么算法?对于某个整数 L,我在稀疏 (2L x 2L) 矩阵中有一个五对角系统

S = spdiags(myDiagonals,-2:2,2*L,2*L);

还有一个稀疏的右手边,有四个非零条目。

b = spalloc(2*L,1,4);

两者通常都包含复杂的条目,并且 S 它不是对称的或 Hermitian 或 Toeplitz,但我不确定其他哪些限定符可能导致 MATLAB 选择特定算法。我计算倒数

S\b

我很欣赏任何有关 mldivide 在这种情况下所做的事情或如何让 MATLAB 输出其算法选择的细节的见解。谢谢。

4

0 回答 0