python中的矩阵运算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的矩阵运算相关的知识,希望对你有一定的参考价值。

参考技术A NumPy支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
首先安装NumPy,安装过pandas,它会自动安装它的依赖,就不需要安装NumPy了。

Jupyter中的Python矩阵基本运算的学习记录

目录

Jupyter中的Python矩阵基本运算的学习记录

实验目录:

python矩阵操作

1.引入numpy,以np作为简写:

import numpy as np

2.使用mat函数创建一个2*3矩阵:

a=np.([[1,2,3],[4,5,6]])
a


3.使用 shape 可以获取矩阵的大小

a.shap


4.使用下标读取矩阵中的元素:

a.T


5.进行行列转换。

#进行行列转换
a.transpose()
#查看
a.T


实际上:官方文档建议使用二维数组代替矩阵来进行矩阵运算,因为二维数组用的比较多,而且基本可以取代矩阵。比如:可见矩阵和数组基本上都可以

7.加减法也可以代替

8.但是列表不能这样尽兴加减

从运行结果可以看到,列表的加减并没有对数值进行加减,仅仅是将两个列表拼在了一起

python 矩阵乘法

1.使用二维数组创建两个矩阵A、B

2.矩阵的数乘:矩阵的每一个元素乘以该数

3.dot函数用于矩阵乘法
对于二维数组计算的是矩阵的乘积
对于一维数组计算的是内积
注意交换矩阵的前后位置会造成不同的结果

直接将矩阵相乘会报错

必须要用到dot函数

4.再创建一个二维数组

5.验证矩阵乘法的结合性(AB)C=A(BC)

可以看到结果是一样的

6.加法分配性 (A+B)C=AC+BC C(A+B)=CA+CB


7.数乘的结合性,和上面一样

8.使用eye创建一个单位矩阵

9.一个矩阵A乘以一个单位矩阵,还是它本身

python 矩阵转置

矩阵的转置:将矩阵的行变为列,列变为行

1.创建一个矩阵A

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

3.验证一下第一个性质 (A’)’=A

4.再创建两个尺寸相同的矩阵

5.验证矩阵转置的第二个性质:(A+B)’ = A’ + B’ (A-B)’ = A’ - B’

6.验证矩阵转置的第三个性质:(KA)’=KA’

7.验证矩阵转置的第四个性质:(AB)’=B’A’

python 求方程的迹

方程的迹就是主对角元素之和

1.引入numpy
2.创建一个方阵(行数等于列数的矩阵)

3.用trace计算方程的迹

4.再创建一个方阵F

5.验证一下方阵的迹等于方阵转置的迹

6.验证一下方阵的乘积的迹相等

7.验证一下方阵的和的迹等于方阵的迹的和

python方阵的行列式计算方法

用numpy模块的linalg.det方法来计算方阵的行列式
1.行列式的计算方法:二阶方阵行列式

2.行列式的计算方法:三阶方阵行列式

3.引入numpy模块(省略)
4.创建两个方阵E,F(省略)
5.使用det方法求得方阵E和F的行列式

python 求逆矩阵/伴随矩阵

逆矩阵:

设A是数域上的n阶方阵,若在相同数域上存在另一个n阶矩阵B,使得:AB=BA=E。则我们称B是A的逆矩阵,而A则被称为可逆矩阵。当矩阵A的行列式|A|不等于0时才存在可逆矩阵。

伴随矩阵:

A的伴随矩阵可按如下步骤定义:
1.把D的各个元素都替换成它相应的代数余子式;
(代数余子式:在n阶行列式A中,把(i,j)元aij所在的第i行和第j列划去后,留下来的n-1阶行列式叫做(i,j)元的余子式,记着Mij,即 Aij=(-1)^ij Mij, Aij叫做(i,j)元aij的代数余子式)
注意:其中Aij为一个数值,并非矩阵

1.求矩阵的逆,先引入numpy
2.创建一个方阵A

3.使用linalg。det求得方阵的行列式

4.使用linalg.inv求得方阵A的逆矩阵

5.利用公式:

numpy的计算方法:

python 解多元一次方程

用python 的 numpy 包中的 linalg.solve()方法解多元一次方程

1.首先看一下我们要解的方程,将这个方程格式调整好,按照x-y-z常数项的顺序排列

x+2y+z=7
2x-y+3z=7
3x+y+2z=18组 :

2.将未知数的系数写下来,排成一个矩阵a,如下:

3.常数项构成一个一维数组(向量)

4.使用linalg.solve方法求解方程,参数a指的是系数矩阵,参数b指的是常数项矩阵

5.使用点乘的方法法验证得到的解对不对,系数乘以位置数可以得到常数项

以上是关于python中的矩阵运算的主要内容,如果未能解决你的问题,请参考以下文章

python中的矩阵运算

Python之Numpy:线性代数/矩阵运算

python矩阵运算操作大全(非常全)!

python Numpy库相关矩阵运算

利用python进行矩阵运算

Numpy中的矩阵运算+聚合操作+arg运算(2019.1.17)