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