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 |