gpt4 book ai didi

Python np.diag() 出现内存错误

转载 作者:太空宇宙 更新时间:2023-11-03 14:08:13 25 4
gpt4 key购买 nike

我想实现以下方程(Horn-Schunck 方法的精确解):

Exact solution of the Horn-Schunck Method

我的代码:

def HS_exact(Ix, Iy, It, u, v, lamda):
M = u.shape[0]
N = u.shape[1]
nabla = np.zeros((M,N))
nabla = spnabla(M,N)
transpose = np.transpose(nabla)
u_0 = u
v_0 = v
Ix = Ix.flatten()
Iy = Iy.flatten()
diag_Ix_squared = np.diag(Ix*Ix)
diag_Ix_Iy = np.diag(Ix*Iy)
diag_Iy_squared = np.diag(Iy*Iy)
tmp = lamda*diag_Ix_squared
A11 = transpose*nabla + tmp
A12 = lamda*diag_Ix_Iy
A21 = lamda*diag_Ix_Iy
A22 = transpose*nabla + lamda*diag_Iy_squared

当我尝试创建 diag_Ix_squared 时发生错误。我是 python 新手,不知道如何处理大数组。

最佳答案

现在我知道问题出在哪里了。我使用密集矩阵而不是稀疏矩阵。

 Ix_flat = Ix.flatten()
Iy_flat = Iy.flatten()
diag_Ix_squared = sp.spdiags(Ix_flat*Ix_flat, 0, M*N, M*N)

这解决了我的问题。谢谢你们的帮助。

关于Python np.diag() 出现内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48707352/

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