python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python矩阵乘法运算

关于python的矩阵乘法运算

作者:請叫我做雷锋

这篇文章主要介绍了关于python的矩阵乘法运算,矩阵是一个数字阵列,一个二维数组,n行r列的阵列称为n*r矩阵。如果n==r则称为方阵,需要的朋友可以参考下

一、矩阵乘法

矩阵乘法为 A@Bnp.dot(A,B) ,若为对应元素相乘则用 A*Bnp.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]])

到此这篇关于关于python的矩阵乘法运算的文章就介绍到这了,更多相关python矩阵乘法运算内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文