gpt4 book ai didi

python - 如何在 LU 分解中找到 'L + U' 的范数

转载 作者:行者123 更新时间:2023-12-04 04:09:50 27 4
gpt4 key购买 nike

我是 Python 3 的新手,目前正在学习 LU 分解以及如何在 Python 中表达其功能。我们在类里面遇到了一个问题,该问题涉及编写代码以找到矩阵 A 的 LU 分解(使用 scipy)以及该分解中“L+U”的范数。我了解如何使用 scipy.linalg.lu 获得 P L 和 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 的返回是三个独立的矩阵:PLU .您可以将其分配给 3 个变量,计算加法,然后计算范数,而不是将它们作为元组分配给变量 Q:

def norm_LU(A):

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

关于python - 如何在 LU 分解中找到 'L + U' 的范数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61922746/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com