我正试图在Sage中创建一个维度nxn
矩阵。但矩阵中的每个元素都必须是1/n
。 n的大小约为7000。
首先,我尝试使用sagemethod中的构建创建一个矩阵,然后将矩阵与1/n
相乘。这非常慢并且崩溃我的jupyter笔记本内核。
T =matrix.ones(7000) * 1/n
我尝试的第二件事是按列表理解创建所有元素。
T = matrix(RDF,[[1/l for x in range(l)] for row in range(l)])
这似乎也是我的电脑无法处理的事情。
@JamesKPolk给了我一个有效的解决方案。
T = matrix(RDF, 6000, 6000, lambda i,j: 1/6000)
如何使用零并添加一个没有你想要的数组,例如如果N = 7000
然后:
import numpy as np
N=7000
temp_array = np.zeros((N,N))
main_array = (1/N) + temp_array
print(main_array)