Python矩阵基本运算

文章目录

  • 一、python矩阵操作
  • 二、python 矩阵乘法
  • 三、python 矩阵转置
  • 四、python 求方阵的迹
  • 五、python 方阵的行列式计算方法
  • 六、python 求逆矩阵 / 伴随矩阵
  • 七、python 解多元一次方程

一、python矩阵操作

  1. 引入numpy, 使用mat函数创建一个2X3矩阵
#引入numpy
import numpy as np
#使用mat函数创建一个2×3矩阵
a=np.mat([[1,2,3],[4,5,6]])
a

Python矩阵基本运算_第1张图片

  1. 使用 shape 可以获取矩阵的大小
#使用shape可以获取矩阵的大小
a.shape

在这里插入图片描述

  1. 使用下表读取矩阵中的元素
#使用下标读取矩阵中的元素
a.T

在这里插入图片描述

  1. 进行行列转换
#进行行列转换
a.transpose()

a.T

在这里插入图片描述

  1. 使用二维数组代替矩阵来进行矩阵运算
#用二维数组代替矩阵
b=np.array([[1,2,3],[4,5,6]])
b

b.T

Python矩阵基本运算_第2张图片

  1. 加减法
#加减法
a+a

b+b

在这里插入图片描述

  1. 列表是不能这么尽兴加减
#列表不能尽兴加减
c=[[1,2,3],[4,5,6]]
c+c

在这里插入图片描述

二、python 矩阵乘法

  1. 使用二维数组创建两个矩阵 A 和 B
#使用二维数组创建两个矩阵A和B
A=np.array([[1,2,3],[4,5,6]])
B=A.T

A

B

Python矩阵基本运算_第3张图片

  1. 矩阵每个元素乘以该数
#矩阵每个元素乘以该数
2*A

2*B

Python矩阵基本运算_第4张图片

  1. dot 函数用于矩阵乘法,对于二维数组,它计算的是矩阵乘积,对于一维数组,它计算的是内积
A*B

np.dot(A,B)

np.dot(B,A)

Python矩阵基本运算_第5张图片

  1. 创建一个二维数组
#创建一个二维数组
C=np.array([[1,2],[1,3]])
C

Python矩阵基本运算_第6张图片

  1. 验证一个矩阵乘法的结合性:(AB)C=A(BC)
#验证矩阵乘法的结合性 (AB)C=A(BC)
np.dot(np.dot(A,B),C)

np.dot(A,np.dot(B,C))

Python矩阵基本运算_第7张图片

  1. 加法的分配性:(A+B)C=AC+BC、C(A+B)=CA+CB
#验证加法的分配性 (A+B)C=AC+BC  C(A+B)=CA+CB
D=B-1
D

np.dot(A,B+D)

np.dot(A,B)+np.dot(A,D)

Python矩阵基本运算_第8张图片

  1. 数乘的结合性
#验证数乘的结合性
2*(np.dot(A,B))

np.dot(A,2*B)

np.dot(2*A,B)

np.dot(A,2*B)

Python矩阵基本运算_第9张图片

  1. 使用 eye 创建一个单位矩阵
#使用 eye 创建一个单位矩阵
I=np.eye(3)
I

Python矩阵基本运算_第10张图片

  1. 矩阵 A 乘以一个单位矩阵
#矩阵 A 乘以一个单位矩阵
np.dot(A,I)

在这里插入图片描述

三、python 矩阵转置

  1. 使用属性 T 来得到矩阵 A 的转置矩阵
A.T

在这里插入图片描述

  1. 验证:(A’)’=A
A.T.T

在这里插入图片描述

  1. 验证(A±B)’=A’±B’
(B+D).T

B.T+D.T

Python矩阵基本运算_第11张图片

  1. 验证(KA)’=KA’
10*A.T

(10*A).T

Python矩阵基本运算_第12张图片

  1. 验证(A×B)’=B’×A’
np.dot(A.T,B.T)

np.dot(B.T,A.T)

Python矩阵基本运算_第13张图片

四、python 求方阵的迹

  1. 创建一个方阵(行数等于列数的矩阵)
E=np.array([[1,2,3],[4,5,6],[7,8,9]])
E

Python矩阵基本运算_第14张图片

  1. trace 计算方阵的迹
np.trace(E)

在这里插入图片描述

  1. 创建一个方阵 F
F=E-2
F

在这里插入图片描述

  1. 验证一下方阵的迹等于方阵的转置的迹
np.trace(E)

np.trace(E.T)

Python矩阵基本运算_第15张图片

  1. 验证一下方阵的乘积的迹
np.trace(np.dot(E,F))

np.trace(np.dot(F,E))

在这里插入图片描述

  1. 验证一下方阵的和的迹等于方阵的迹的和
np.trace(E+F)

np.trace(E)+np.trace(F)

在这里插入图片描述

五、python 方阵的行列式计算方法

  1. det 方法求得方阵 E 和方阵 F 的行列式
np.linalg.det(E)

np.linalg.det(F)

在这里插入图片描述

  1. 求得方阵 C
C

np.linalg.det(C)

Python矩阵基本运算_第16张图片

六、python 求逆矩阵 / 伴随矩阵

  1. 创建一个方阵
A=np.array([[1,-2,1],[0,2,-1],[1,1,-2]])
A

Python矩阵基本运算_第17张图片

  1. 使用 linalg.det 求得方阵的行列式
A_abs=np.linalg.det(A)
A_abs

在这里插入图片描述

  1. 使用 linalg.inv 求得方阵 A 的逆矩阵
B=np.linalg.inv(A)
B

Python矩阵基本运算_第18张图片

  1. 公式法计算
A_bansui=B*A_abs
A_bansui

Python矩阵基本运算_第19张图片

七、python 解多元一次方程

  1. 将未知数的系数写下来,排列成一个矩阵 a
a=[[1,2,1],[2,-1,3],[3,1,2]]
a=np.array(a)
a

Python矩阵基本运算_第20张图片

  1. 常数项构成一个一维数组
b=[7,7,18]
b=np.array(b)
b

Python矩阵基本运算_第21张图片

  1. 使用linalg.solve 方法解方程
x=np.linalg.solve(a,b)
x

在这里插入图片描述

  1. 使用点乘的方法可以验证一下
np.dot(a,x)

在这里插入图片描述

你可能感兴趣的:(python,线性代数)