一、矩阵乘法
矩阵乘法为 A@B 或 np.dot(A,B) ,若为对应元素相乘则用 A*B 或 np.multiply(A,B) 。
1. A@B 和 np.dot(A,B)
A = np.array([ [1,2], [3,4] ]) B = np.array([ [1,2], [3,4] ]) C1 = A @ B C2 = np.dot(A,B) print(C1) print('---------') print(C2)
输出为
[[ 7 10] [15 22]] --------- [[ 7 10] [15 22]]
2. A*B 或 np.multiply(A,B)
A = np.array([ [1,2], [3,4] ]) B = np.array([ [1,2], [3,4] ]) C3 = A*B C4 = np.multiply(A,B) print(C3) print('---------') print(C4)
输出为
[[ 1 4] [ 9 16]] --------- [[ 1 4] [ 9 16]]
二、邻接矩阵的相乘的意义
1.定义
假设存在一个 N 个节点的无向图。我们用 G[u][v] = G[v][u] = 1 表示从点 u 到点 v 有连边,否则 G[u][v] = G[v][u] = 0 。
2.问题
如果用这个图的邻接矩阵进行自乘会得到什么呢?
3.理解
4.代码实现
邻接矩阵如下
代码如下
import torch # 构建邻接矩阵 a = [ [0,1,1,1], [1,0,0,1], [1,0,0,1], [1,1,1,0] ] A = torch.tensor(a) A = torch.mm(A,A) print(A)
输出结果如下
tensor([[3, 1, 1, 2], [1, 2, 2, 1], [1, 2, 2, 1], [2, 1, 1, 3]])
原文地址:https://blog.csdn.net/weixin_44646187/article/details/125920973
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did237845