LU factorization with decreasing elements on the main diagonal of U
1 次查看(过去 30 天)
显示 更早的评论
Does select P so that is decreasing?
If not, how can I request it?
0 个评论
回答(1 个)
Bruno Luong
2023-9-25
编辑:Bruno Luong
2023-9-25
Obviously not
A=[1 10 9;
5 1 9;
2 8 1]
[L,U,P]=lu(A)
But you can fix the progression of abs(diag(U)) in any arbitray decrasing sequance you want, just scale appropiately L.
Here I select the sequene of U(1,1).*2.^(-(1:n-1))
% Fix it, assuming A is not singular
Ukk = abs(U(1,1));
for k=2:size(U,1)
s = Ukk/(2*abs(U(k,k)));
U(k,:) = s*U(k,:);
L(:,k) = L(:,k)/s;
Ukk = abs(U(k,k));
end
L
U
P'*L*U % close to A
In some sense the question of scaling U alone is trivial and sort of useless if you don't specify what L should be.
Note that MATLAB returns L such that diag(L) are 1.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!