Python 如何找到';L+;U';在LU分解中

Python 如何找到';L+;U';在LU分解中,python,Python,我是Python3新手,目前正在学习LU分解以及如何用Python表达其函数。我们被作为a类问题给出,该问题涉及编写代码,以找到矩阵a(使用scipy)的LU分解以及该分解中的“L+U”范数。我知道如何用scipy.linalg.lu获得pl和U,但在得到答案后,我很难理解如何将L和U相加。这是我到目前为止的代码 from numpy import array, sqrt import scipy as sp from scipy.linalg import norm def sci

我是Python3新手,目前正在学习LU分解以及如何用Python表达其函数。我们被作为a类问题给出,该问题涉及编写代码,以找到矩阵
a
(使用scipy)的LU分解以及该分解中的“L+U”范数。我知道如何用scipy.linalg.lu获得pl和U,但在得到答案后,我很难理解如何将L和U相加。这是我到目前为止的代码

from numpy import array, sqrt
import scipy as sp
from scipy.linalg import norm   



def scipy_LU(A):

    Q = sp.linalg.lu(A)
    print(Q)


elements_of_A = list(map(float, input(). split(' '))) 
order = int(sqrt(len(elements_of_A)))
A = array(elements_of_A).reshape(order, order)
print(round(norm(L+U, 1), 4))

scipy.linalg.lu
的返回是三个独立的矩阵:
p
L
U
。您可以将其分配给3个变量,计算加法,然后计算范数,而不是将它们作为元组分配给变量
Q

def norm_LU(A):

    P, L, U = sp.linalg.lu(A)
    L_plus_U = L + U
    return norm(L_plus_U)

你的问题到底是什么?在你的代码示例中,
L
U
没有定义。啊,谢谢你,我明白你的意思了