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中的矩阵运算的主要内容,如果未能解决你的问题,请参考以下文章