如何理解西皮·利纳格·吕吕系数?

2024-09-29 20:15:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我如何手动重建由lu_factor分解的矩阵a?(A=PLU

我目前的尝试都失败了,因为设置了matrixp。以下是我目前所掌握的情况:

A = np.random.rand(3,3)
lu, piv = lu_factor(A)

U = np.triu(lu)
L = np.tril(lu, -1)
L[np.diag_indices_from(L)] = 1.0

我在寻找使这条线打印为真的矩阵:

^{pr2}$

任何提示/链接/建议都将不胜感激!在


Tags: np情况矩阵random手动pivdiaglu
1条回答
网友
1楼 · 发布于 2024-09-29 20:15:54

排列向量需要按顺序解释。如果piv=[1,2,2],则需要按顺序执行以下操作(使用从零开始的索引):

  1. 行0随行1更改
  2. 新行1随第2行和
  3. 新的第2排保持不变。在

在代码中,这可以做到:

P = np.eye(3)
for i, p in enumerate(piv):
    Q = np.eye(3,3)
    q = Q[i,:].copy()
    Q[i,:] = Q[p,:]
    Q[p,:] = q
    P = np.dot(P, Q)

对于piv=[1,2,2]p

^{pr2}$

这可能不是一种很快的计算方法,但它确实能解决问题。在

相关问题 更多 >

    热门问题