Octave的默认LU分解函数错误

问题描述 投票:0回答:1

此论坛的新手。

我正在尝试像这样完全旋转来运行八度的LU分解功能:

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

对于矩阵A,我一直得到这个错误:

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

元素4是列置换矩阵Q。这是怎么回事?为什么不显示?在此先感谢

function error-handling octave
1个回答
0
投票

如果矩阵A已满,则lu函数does not perform column exchanges in Octave重点挖掘):

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

So full pivoting仅在为稀疏矩阵提供第四个输出参数时才对稀疏矩阵最大化稀疏性执行。上面的引号使用“ A

”,但是根据链接的Octave文档部分顶部提供的功能签名,我认为它们的意思是写“ S”:“ [L, U, P, Q] = lu (S)”。

我会注意到MATLAB对于fourth output of its lu具有相同的行为:

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

© www.soinside.com 2019 - 2024. All rights reserved.