lu

语法

lu(obj, [permute=false])

参数

obj 是一个不包含 NULL 值的矩阵。

permute 是一个布尔值。默认值为 false。

详情

实现矩阵的 LU 分解。

如果 permute 为 false,返回三个矩阵,依次是 L, U, P,满足条件 obj = P' * L * U。P 是置换矩阵;L 是下三角矩阵,其对角线元素均为1;U 是上三角矩阵。

如果 permute 为 true,返回两个矩阵,依次是 L,U,满足条件 obj = L * U。

例子

A = matrix([[2, 5, 8, 7], [5, 2, 2, 8], [7, 5, 6, 6], [5, 4, 4, 8]]);

P, L, U = lu(A);
P;
#0 #1 #2 #3
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
L;
#0 #1 #2 #3
1 0 0 0
0.875 1 0 0
0.25 0.72 1 0
0.625 0.12 0.233871 1
U;
#0 #1 #2 #3
8 2 6 4
0 6.25 0.75 4.5
0 0 4.96 0.76
0 0 0 0.782258
L, U = lu(A, true);
L;
#0 #1 #2 #3
0.25 0.72 1 0
0.625 0.12 0.233871 1
1 0 0 0
0.875 1 0 0
U;
#0 #1 #2 #3
8 2 6 4
0 6.25 0.75 4.5
0 0 4.96 0.76
0 0 0 0.782258