我想创建3D对角线矩阵。我已经成功地用numpy例程numpy.fill_diagonal(numpy.zeros((N, N, N)), n)创建了一个,但是它不允许选择对角线来填充。换句话说,我想找到这个numpy例程的3D推广:https://numpy.org/doc/stable/reference/generated/numpy.diag.html。谢谢
我正在尝试创建一个函数,它对2-D矩阵求幂,并将结果保存在3D数组中,其中第一维是指数。这一点很重要,因为我求幂的矩阵的行代表了图上不同顶点的信息。例如,如果我们有A,A^2,A^3,每个都是shape (50,50),我想要一个矩阵D= (3,50,50),这样我就可以使用D:,1,:来检索关于节点1的所有信息,并能够对其进行矩阵乘法。csr_matrix.toarray(temp),axis=0) # this does not work
return result 然而,这是不起作用的,因为
我有一个很大的3D矩阵来表示代理在3D空间中的位置。如果矩阵上没有代理,则矩阵的值为0;如果矩阵上有代理,则矩阵的值为1。例如,我有一个位置矩阵100x100x100,如果我知道我的代理在位置(x,y,z),我会这样做: positions_matrix = numpy.zeros((100, 100, 100))
positions_matrix[x - 1: x + 2, y - 1: y + 2, z - 1: z + 2] +