Python 如何找到';L+;U';在LU分解中
我是Python3新手,目前正在学习LU分解以及如何用Python表达其函数。我们被作为a类问题给出,该问题涉及编写代码,以找到矩阵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
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
没有定义。啊,谢谢你,我明白你的意思了