繁体   English   中英

Octave 的默认 LU 分解函数错误

[英]Octave's default LU factorization function error

这个论坛的新手。

我正在尝试以完整的旋转方式运行八度音程的 LU 分解函数:

[L, U, p, q] = lu(A)

对于矩阵 AI,我不断收到此错误:

“返回列表中未定义元素编号 4”

元素 4 是列排列矩阵 问:这是怎么回事? 为什么不显示? 提前致谢

如果矩阵A已满,则lu函数不会在 Octave 中执行列交换强调我的):

当使用两个或三个输出参数和一个备用 [原文如此] 输入矩阵调用时, lu不会尝试执行保持稀疏性的列排列。 使用第四个输出参数调用,返回保留稀疏性的列转换Q ,使得P * A * Q = L * U

因此,如果为稀疏矩阵提供第四个输出参数,则仅对稀疏矩阵执行完全旋转以最大化稀疏性。 上面的引用使用“ A ”,但根据链接的 Octave 文档部分顶部提供的函数签名,我相信他们的意思是写“ S ”:“ [L, U, P, Q] = lu (S) ” .

默认情况下,似乎没有完整矩阵的完整旋转选项。

我会注意到 MATLAB 对其lu第四个输出具有相同的行为:

列置换... . 使用此输出来减少稀疏矩阵因子中的填充(非零值的数量)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM