首页 > 编程知识 正文

Python矩阵向量运算

时间:2023-11-19 08:38:28 阅读:292978 作者:STDN

本文将详细介绍基于Python的矩阵向量运算,包括其基础概念、矩阵、向量的定义与表示方法、矩阵向量加减乘法、矩阵转置、逆矩阵、行列式等相关内容。

一、概念及基础知识

矩阵是一个按照长方阵列排列的复数或实数集合,通常用大写字母表示,其元素用小写字母表示。矩阵中的每个元素用 m(i,j) 表示,其中i表示矩阵的行数,j表示矩阵的列数。

向量是一个有序数列,通常用小写字母粗体表示,如 $vec{x}$ 。向量中的每个元素分别用 x1、x2、...xn 表示。


import numpy as np

#定义矩阵、向量
a = np.array([[1, 2], [3, 4]])
b = np.array([1, 2])

print('矩阵a:n', a)
print('向量b:n', b)

二、矩阵向量加减运算

矩阵向量加减法是指将一个向量加到矩阵的每一行或每一列上,或将矩阵加到一个向量上。只有当矩阵和向量的维度匹配时才能进行加减运算,即矩阵的列数等于向量的行数。


#矩阵向量加法
c = a + b.reshape(-1, 1)
print('矩阵a加向量b:n', c)

#矩阵向量减法
d = a - b.reshape(-1, 1)
print('矩阵a减向量b:n', d)

三、矩阵向量乘法

矩阵向量乘法是指在矩阵的每一行或每一列上乘以向量。只有当矩阵的列数等于向量的行数时才能进行乘法运算。

矩阵向量乘法有两种方式,分别是左乘和右乘。

左乘:向量在矩阵左侧,即按照行进行乘法运算。


#矩阵左乘向量
e = b.dot(a)
print('向量b左乘矩阵a:n', e)

右乘:向量在矩阵右侧,即按照列进行乘法运算。


#矩阵右乘向量
f = a.dot(b)
print('矩阵a右乘向量b:n', f)

四、矩阵转置

矩阵转置是指将矩阵的行向量转化为列向量,将列向量转化为行向量,即将矩阵的行列交换。转置后的矩阵用大写字母T表示。


#矩阵转置
g = a.T
print('矩阵a的转置:n', g)

五、逆矩阵与行列式

逆矩阵是指对于一个矩阵A,存在一个矩阵B,使得AB=BA=I,其中I为单位矩阵。如果矩阵A存在逆矩阵,那么称A为可逆矩阵或非退化矩阵。


#逆矩阵及行列式
h = np.linalg.inv(a)
det_a = np.linalg.det(a)

print('矩阵a的逆矩阵:n', h)
print('矩阵a的行列式:n', det_a)

六、总结

本文主要介绍了Python的矩阵向量运算,其中包括基础概念、矩阵、向量的定义与表示方法、矩阵向量加减乘法、矩阵转置、逆矩阵、行列式等相关内容。

通过本文的介绍,读者可以掌握基本的矩阵向量运算方法,为后续深入学习提供了基础。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。