重新复习了一遍Python下有关矩阵的计算内容,整合成本博客。内容包括矩阵操作(创建矩阵、矩阵加减法)、矩阵乘法、矩阵转置(求转置矩阵)、求方阵的迹、方阵的行列式计算方法、逆矩阵/伴随矩阵、解多元一次方程。

因为要借助numpy库,如果之前没有安装过的同学,可以使用pip install numpy安装。

(一)Python矩阵操作

1.先引入numpy,以后的教程中,我们都引用为np作为简写

python求矩阵的迹 如何用python计算矩阵_python求矩阵的迹


2.使用mat函数创建一个2X3矩阵

python求矩阵的迹 如何用python计算矩阵_numpy_02


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

python求矩阵的迹 如何用python计算矩阵_python求矩阵的迹_03


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

python求矩阵的迹 如何用python计算矩阵_python_04


5.进行行列转换

python求矩阵的迹 如何用python计算矩阵_python_05


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

python求矩阵的迹 如何用python计算矩阵_numpy_06


7.加减法也是一样的

python求矩阵的迹 如何用python计算矩阵_矩阵转置_07


8.当然列表是不能这么尽兴加减的:

python求矩阵的迹 如何用python计算矩阵_numpy_08


(二) python矩阵乘法

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

python求矩阵的迹 如何用python计算矩阵_python求矩阵的迹_09


2.先来一个矩阵的数乘,其实见识矩阵的每一个元素乘以该数

python求矩阵的迹 如何用python计算矩阵_python求矩阵的迹_10


3.dot函数用于矩阵乘法,对于二维数组,它计算的是矩阵乘积,对于一维数组,它计算的是内积。注意交换矩阵的前后位置会导致不同的结果,看下面的例子

python求矩阵的迹 如何用python计算矩阵_线性代数_11


4.再创建一个二维数组

python求矩阵的迹 如何用python计算矩阵_线性代数_12


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

python求矩阵的迹 如何用python计算矩阵_线性代数_13


python求矩阵的迹 如何用python计算矩阵_numpy_14


6.接着看一下对加法的分配性 (A+B)C=AC+BC,C(A+B)=CA+CB

python求矩阵的迹 如何用python计算矩阵_numpy_15


7.数乘的结合性,也一样啦

python求矩阵的迹 如何用python计算矩阵_numpy_16


8.接着我们用到一个新知识,使用eye创建一个单位矩阵,单位矩阵的定义就是看下面的步骤

python求矩阵的迹 如何用python计算矩阵_numpy_17


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

python求矩阵的迹 如何用python计算矩阵_numpy_18


(三)python矩阵转置

1.先创建一个矩阵

python求矩阵的迹 如何用python计算矩阵_矩阵转置_19


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

python求矩阵的迹 如何用python计算矩阵_矩阵转置_20


3.我们验证第一个性质:(A’)’=A

python求矩阵的迹 如何用python计算矩阵_python_21


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

python求矩阵的迹 如何用python计算矩阵_矩阵转置_22


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

python求矩阵的迹 如何用python计算矩阵_矩阵转置_23


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

python求矩阵的迹 如何用python计算矩阵_python求矩阵的迹_24


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

python求矩阵的迹 如何用python计算矩阵_矩阵转置_25

(四)python求方阵的迹

1.创建一个方阵(方阵也就是行数等于列数的矩阵)

python求矩阵的迹 如何用python计算矩阵_python_26


2.用trace计算方阵的迹

python求矩阵的迹 如何用python计算矩阵_线性代数_27


3.再创建一个方阵F

python求矩阵的迹 如何用python计算矩阵_numpy_28


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

python求矩阵的迹 如何用python计算矩阵_python求矩阵的迹_29


5.验证一下方阵的乘积的迹等于

python求矩阵的迹 如何用python计算矩阵_矩阵转置_30


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

python求矩阵的迹 如何用python计算矩阵_线性代数_31

(五)python方阵的行列式计算方法

1.创建两个方阵

python求矩阵的迹 如何用python计算矩阵_矩阵转置_32


2.使用det方法求得方阵E和方阵F的行列式

python求矩阵的迹 如何用python计算矩阵_线性代数_33


python求矩阵的迹 如何用python计算矩阵_python_34

(六) python求逆矩阵/伴随矩阵

1.创建一个方阵

python求矩阵的迹 如何用python计算矩阵_线性代数_35


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

python求矩阵的迹 如何用python计算矩阵_矩阵转置_36


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

python求矩阵的迹 如何用python计算矩阵_线性代数_37


4.接着我们利用公式:

python求矩阵的迹 如何用python计算矩阵_矩阵转置_38


numpy的计算方法:

python求矩阵的迹 如何用python计算矩阵_矩阵转置_39

(七) python解多元一次方程

方程组为

python求矩阵的迹 如何用python计算矩阵_python求矩阵的迹_40


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

python求矩阵的迹 如何用python计算矩阵_numpy_41


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

python求矩阵的迹 如何用python计算矩阵_python_42


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

python求矩阵的迹 如何用python计算矩阵_矩阵转置_43


4.使用点乘的方法可以验证一下解的正确性,系数乘以未知数可以得到常数项。

python求矩阵的迹 如何用python计算矩阵_python求矩阵的迹_44