Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何正确实现矩阵乘法和_Python_Arrays_Numpy_Matrix_Graph - Fatal编程技术网

Python 如何正确实现矩阵乘法和

Python 如何正确实现矩阵乘法和,python,arrays,numpy,matrix,graph,Python,Arrays,Numpy,Matrix,Graph,我正在使用平坦的10x10(nxn)邻接矩阵。我们把这个矩阵称为A。这个矩阵表示一个图,我想应用一个边到边的过滤器。此过滤器遵循以下等式: F_ij=[[sum k=1->n[A_ik+A_ki]]-2A_ij]*A_ij 结果应该是另一个10x10矩阵,基本上计算相邻边。我很难得到正确的答案。我拥有的代码是: F = np.zeros([10,10]) for i in range(10): for j in range(10): for k in range(10):

我正在使用平坦的10x10(nxn)邻接矩阵。我们把这个矩阵称为A。这个矩阵表示一个图,我想应用一个边到边的过滤器。此过滤器遵循以下等式:

F_ij=[[sum k=1->n[A_ik+A_ki]]-2A_ij]*A_ij

结果应该是另一个10x10矩阵,基本上计算相邻边。我很难得到正确的答案。我拥有的代码是:

F = np.zeros([10,10])
for i in range(10):
    for j in range(10):
        for k in range(10):
            F[i][j] = ((A[j][k] + A[k][j]) - 2*A[i][j])*A[i][j] 

print(F)

我得到的结果F是:


我做错了什么?

k
循环中不应该有
sum
?e、 g
F[i,j]+=((A[i,k]+A[k,i])…
您可以使用
broadcasting
而不是循环,但首先,您应该正确使用循环。这是基本的python,即使它不是最佳的
numpy
F=((A+A.t).sum(axis=1)-2*A)*A
是我第一次尝试。@hpaulj谢谢你的有用评论。我添加了总结,现在我得到了我想要的。尽管我还有3个for循环。我必须阅读广播方面的内容才能修复它