Python中矩阵转置,求逆和一些运算

Python中矩阵转置,求逆和一些运算

在Python中,常用的进行矩阵运算的库是numpy。numpy里面有与矩阵相关的定义函数,一种是array();另一种是matrix()。问题来了,array()是创建矩阵的函数吗。显然这个函数不是创建矩阵的函数,它的功能只是创建一个数组而已。但是因为在Python里面数组和矩阵非常相似,导致很多人进入了一个误区,把array()创建的数组当做的矩阵。所以如果用array()创建的数组进行矩阵的运算的话,很显然得出的结果是错误的。因此为了进行正确的矩阵运算,就得创建正确的矩阵。
因此,接下来将讲解Python里面矩阵的创建和运算。

矩阵创建

使用的是matrix()函数

from numpy import *

a = matrix([1, 0])              # 创建行矩阵矩阵
b = matrix([[0, 1],[1, 0]])     # 创建二维矩阵,注意:有两层中括号。
h = matrix([[1, 2],[3, 4]])

矩阵转置

有两个函数都能进行矩阵转置。一种是“ .T ”(注意这里是用点号调用转置函数T);另外一种是调用transpose():

c = a.T
f = transpose(a)

注意:这两种函数不只是对一维矩阵有效,对于多维矩阵仍然有效。

将结果输出:

print(c)
print(f)

得出的结果是:
在这里插入图片描述

矩阵求逆

这就是矩阵转置的操作,然后就是矩阵的求逆操作。使用的是“ .I ”(注意这个地方是大写的i,不是小写的L)。

g = h.I                         # 求矩阵的逆

计算结果如下:
在这里插入图片描述

矩阵运算

最后我将进行一些简单的矩阵操作,并且和数组操作进行对比。这个结果非常的明显。

from numpy import *

a = matrix([1, 0])              # 创建行矩阵矩阵
b = matrix([[0, 1],[1, 0]])     # 创建二维矩阵,注意:有两层中括号。
h = matrix([[1, 2],[3, 4]])
c = a.T                         # 矩阵的转置
f = transpose(a)
g = h.I                         # 求矩阵的逆

a1 = array([1, 0])
b1 = array([[0, 1],[1, 0]])
c1 = array([[1],[0]])


d = a*b*c                       # 矩阵运算
e = a*b*b*c
d1 = a1*b1*c1                   # 数组运算
e1 = a1*b1*b1*c1

print('====矩阵运算====')
print('矩阵相乘:')
print(d)                        # 矩阵运算结果
print(e)
print('矩阵转置:')
print(c)
print(f)
print('矩阵求逆:')
print(g)
print('====数组运算====')
print('对应的数组相乘')
print(d1)                       # 数组运算结果,无法做到正确的矩阵运算
print()
print(e1)

在这里插入图片描述
从以上结果可以很清楚的看出在Python中数组和矩阵的区别,希望大家以后不要犯我一样的错误。

Python,可以使用numpy库来进行矩阵的转置运算。通常可以使用matrix函数或array函数来创建矩阵。matrix函数创建的是二维矩阵,而array函数创建的是数组。在numpy,可以使用T属性或transpose函数来进行矩阵的转置运算。具体的操作如下所示: 1. 首先,导入numpy库: `import numpy as np` 2. 创建矩阵: - 使用matrix函数创建二维矩阵: `a = np.matrix([[1, 2, 3], [4, 5, 6]])` - 使用array函数创建数组: `b = np.array([1, 2, 3])` 3. 进行转置运算: - 使用T属性进行转置: `c = a.T` - 使用transpose函数进行转置: `d = np.transpose(a)` 最后,得到的转置结果就是矩阵a的转置矩阵。可以使用print函数打印出转置结果进行验证。例如: ```python print(c) print(d) ``` 这样就可以输出矩阵a的转置结果了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python实现的矩阵转置与矩阵相乘运算示例](https://download.csdn.net/download/weixin_38655810/12863805)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python矩阵转置求逆和一些运算](https://blog.csdn.net/Maple_XW/article/details/106166151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值