您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > python的矩阵计算
2016-5-5Python的矩阵计算利用python计算矩阵喝汤小王子测绘资源网&测绘之家目录序言......................................................................................................................................3第一章:矩阵操作................................................................................................................4第二章:矩阵乘法................................................................................................................6第三章:矩阵转置..............................................................................................................10第四章:方阵的迹..............................................................................................................12第五章:方阵的行列式计算方法........................................................................................14第六章:逆矩阵/伴随矩阵..................................................................................................16第七章:解多元一次方程...................................................................................................18第八章:计算矩阵距离.......................................................................................................20第九章:求矩阵的秩..........................................................................................................22第十章:求方阵的特征值特征向量.....................................................................................24第十一章:判断正定矩阵...................................................................................................26第十二章:求协方差矩阵...................................................................................................28第十三章:求相关矩阵.......................................................................................................30第十四章:计算向量夹角...................................................................................................31第十五章:从协方差阵计算相关阵.....................................................................................33第十六章:线性组合均值协方差阵.....................................................................................35第十七章:线性组合的协方差............................................................................................38第十八章:线性规划求最优解............................................................................................40第十九章:行列式求解.......................................................................................................45第二十章:求逆序数..........................................................................................................49第二十一章:1.5解方程....................................................................................................51第二十二章:习题1.10求逆矩阵......................................................................................53序言最近想再学习一门编程语言,在网上找找翻翻,看到了python,比较喜欢它的简单方便,学习了它的一些语法,确实简单的不得了,很容易上手,接着想了解一下矩阵的知识,看到百度经验里面,有挺多关于python计算矩阵的方法,就复制过来。整理一下,方便大家以后学习。注:本书的原作者为“Delta数据工作室”,整理校对为“喝汤小王子”,欢迎大家加群交流学习。QQ群:536828975扫码加群:第一章:python矩阵操作今天是这一个系列入门教程的第一篇,简单介绍一下python中是如何操作maxtrix(矩阵)的,然后我们后面就开始用python中的numpy来解决线性代数的问题,比如解方程等,下面我们开始吧:1.我先引入numpy,以后的教程中,我们都引用为np作为简写2.使用mat函数创建一个2X3矩阵3.使用shape可以获取矩阵的大小4.使用下标读取矩阵中的元素5.进行行列转换:6.实际上官方文档建议我们使用二维数组代替矩阵来进行矩阵运算;因为二维数组用得较多,而且基本可取代矩阵。比如:可见矩阵和数组基本上都可以7.加减法也是一样的:8.当然列表是不能这么尽兴加减的:第二章:python矩阵乘法今天我们来使用Python的numpy包进行矩阵的乘法运算,用到了一些矩阵乘法的基本知识,这里我们就不再说矩阵,我们假设你对矩阵都有一定的了解,下面看我们具体的例子。1.使用二维数组创建两个矩阵A和B2.先来一个矩阵的数乘,其实见识矩阵的每一个元素乘以该数3.dot函数用于矩阵乘法,对于二维数组,它计算的是矩阵乘积,对于一维数组,它计算的是内积。注意交换矩阵的前后位置会导致不同的结果,看下面的例子4.再创建一个二维数组5.我们验证一个矩阵乘法的结合性(AB)C=A(BC)6.接着看一下对加法的分配性(A+B)C=AC+BC,C(A+B)=CA+CB7.数乘的结合性,也一样啦:8.接着我们用到一个新知识,使用eye创建一个单位矩阵,单位矩阵的定义就是看下面的步骤9.我们看一下,一个矩阵A乘以一个单位矩阵,还是它本身10.好了,乘法就到这里了,我们下面接着继续讲矩阵的转置第三章:python矩阵转置矩阵的转置很简单,就是将矩阵的行变为列,将列变为行,我们先通过例子看一下矩阵转置是怎么做的。然后验证几个规律。1.先创建一个矩阵A2.我们使用属性T来得到矩阵A的转置矩阵3.我们验证第一个性质:(A')'=A4.再创建两个尺寸相同的矩阵5.验证矩阵转置的第二个性质:(A±B)'=A'±B'6.验证矩阵转置的第三个性质:(KA)'=KA'7.验证矩阵转置的第四个性质:(A×B)'=B'×A'8.第四章:python求方阵的迹怎样求方阵的迹?方阵的迹是什么?方阵的迹就是主对角元素之和,方阵的迹说实话我还不知道它的实际用途,有知道的人麻烦你写在下面的评论里,好了,下面来用numpy计算一下方阵的迹。1.先引入numpy2.创建一个方阵(方阵也就是行数等于列数的矩阵)3.用trace计算方阵的迹4.再创建一个方阵F5.验证一下方阵的迹等于方阵的转置的迹6.验证一下方阵的乘积的迹等于7.验证一下方阵的和的迹等于方阵的迹的和第五章:python方阵的行列式计算方法如何计算方阵的行列式,用到的是numpy模块的linalg.det方法,关于行列式的定义你应该懂,但是其实也不用记住,以后直接用numpy计算就可以了。下面我们看看如何使用numpy计算矩阵的行列式吧:1.行列式的算法:这是二阶方阵行列式2.行列式的算法:这是三阶行列式3.先引入numpy模块4.创建两个方阵5.使用det方法求得方阵E和方阵F的行列式6.7.第六章:python求逆矩阵/伴随矩阵设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B,使得:AB=BA=E。则我们称B是A的逆矩阵,而A则被称为可逆矩阵。当矩阵A的行列式|A|不等于0时才存在可逆矩阵。而伴随矩阵的定义我从网上找到了一个:1.先来求一下矩阵的逆,先引入numpy2.然后创建一个方阵A3.使用linalg.det求得方阵的行列式4.使用linalg.inv求得方阵A的逆矩阵5.接着我们利用公式:numpy的计算方法:第七章:python解多元一次方程用python的numpy包中的linalg.solve()方法解多元一次方程,如果你对矩阵解方程非常熟悉,那么现在只是学习一下这个函数就好了。如果你不是很熟悉用矩阵解方程,你需要看一下线性代数的课本。1.首先看一下我们要解的方程,将这个方程格式调整好,按照x-y-z-常数项的顺序排列2.将未知数的系数写下来,排列成一个矩阵a,如下3.常数项构成一个一维数组(向量)4.使用linalg.solve方法解方程,参数a指的是系数矩阵,参数b指的是常数项矩阵5.我们得到的解对不对呢?使用点乘的方法可以验证一下,系数乘以未知数可以得到常数项第八章:python计算矩阵距离矩阵的距离,这里是的是欧几里得距离,其他距离表示方法我们以后再谈,今天进说一下如何计算两个形状相同矩阵之间的距离。1.创建一个矩阵a和b2.先计算得到他俩的距离矩阵c3.距离矩阵的平方,得到矩阵d4.计算矩阵d的迹5.然后将得到的e进行开方得到距离:你可以手动算一下是不是正确。6.我们用到的原理就是矩阵的迹的性质,在numpy或者scipy中还有计算距离的函数,我们以后再说第九章:python求矩阵的秩矩阵的秩,课本上是这么定义的:定义2.1在矩阵A中,任取k行与k列(k≤m,k≤n),位于这些行列交叉处的k2个元素,不改变它们在矩阵中所处的位置次序而得的k阶行列式,称为矩阵A的k阶子式。定义2.1设
本文标题:python的矩阵计算
链接地址:https://www.777doc.com/doc-2853925 .html