LU
LU
矩阵的 LU 因数分解为下三角矩阵和上三角矩阵的乘积。
bool matrix::LU(
matrix& L, // 下三角矩阵
matrix& U // 上三角矩阵
);参数
- L 键
[输出] 下三角矩阵。
- U
[输出] 上三角矩阵。
返回值
成功时返回 true,否则返回 false。
举例
matrix matrix_a={{1,2,3,4},
{5,2,6,7},
{8,9,3,10},
{11,12,14,4}};
matrix matrix_l,matrix_u;
//--- LU 分解
matrix_a.LU(matrix_l,matrix_u);
Print("matrix_l\n",matrix_l);
Print("matrix_u\n",matrix_u);
//--- 验算是否 A = L * U
Print("check\n",matrix_l.MatMul(matrix_u));
/*
matrix_l
[[1,0,0,0]
[5,1,0,0]
[8,0.875,1,0]
[11,1.25,0.5904761904761905,1]]
matrix_u
[[1,2,3,4]
[0,-8,-9,-13]
[0,0,-13.125,-10.625]
[0,0,0,-17.47619047619047]]
check
[[1,2,3,4]
[5,2,6,7]
[8,9,3,10]
[11,12,14,4]]
*/