python下的橡皮线_python线性代数常用操作
开始前,请确保导入了numpy module
如果没有,可以看这里:HinanawiTenshi:PyCharm导入numpyzhuanlan.zhihu.com
注:为了方便食用,我大多代码加了print(),直接复制运行即可看到结果^3^
开始:
首先写下这一行:
import numpy as np # 给包取别名以简化代码
建立矩阵
# 建立一个矩阵
a = np.mat([[1, 2, 3],
[4, 5, 6]])
# 也可以用二维数组
b = np.array([[1, 2, 3],
[4, 5, 6]])
# a的规模
a.shape # (2, 3)
得到矩阵行、列、元素
# 得到a的行
for i in range(2):
print(a[i])
# 得到a的列
for i in range(3):
print(a[:, i])
# 得到a的每个元素
for i in range(2):
for j in range(3):
print(a[i, j], end=' ')
print('')
小知识:
I = np.eye(3) #得到 3*3的单位矩阵
矩阵加、乘
加
a = np.mat([
[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
])
b = np.mat([
[2, 3, 4],
[2, 3, 4],
[2, 3, 4],
])
print(a+b)
乘
a = np.mat([[1, 2, 3],
[4, 5, 6]])
b = np.mat([
[1, 4],
[2, 5],
[3, 6]
])
c = a * b
d = b * a
print(c)
print(d)
# 也可以这样写
a = np.array([[1, 2, 3],
[4, 5, 6]])
b = np.array([
[1, 4],
[2, 5],
[3, 6]
])
print(np.dot(a, b))
矩阵转置
a = np.mat([
[1, 2, 3],
[4, 5, 6]]
)
b = np.mat([
[5, 7],
[5, 7],
[5, 7],
])
a_T = a.T
b_T = b.T
print(a_T)
print(b_T)
# check that (A×B)'= B'×A'
leftMatrix = (a * b).T
rightMatrix = b_T * a_T
print(leftMatrix)
print(rightMatrix)
矩阵的逆
a = np.mat([
[1, 2, 0],
[2, 1, 2],
[0, 2, 1],
])
print(np.linalg.inv(a))
# check
b = np.linalg.inv(a) * a
print(b)
矩阵的秩
a = np.mat([
[1, 2, 0],
[2, 1, 2],
[0, 2, 1],
])
b = np.mat([
[1, 0, 0],
[0, 1, 2],
[0, 0, 0],
])
c = np.mat([
[1, 1, 1],
[0, 0, 0],
[0, 0, 0],
])
print(np.linalg.matrix_rank(a))
print(np.linalg.matrix_rank(b))
print(np.linalg.matrix_rank(c))
矩阵的迹(对角线上元素的和)
a = np.mat([
[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
])
print(np.trace(a))
计算行列式
a = np.mat([
[1, 2, 0],
[2, 1, 2],
[0, 2, 1],
])
b = np.mat([
[1, 1, 1],
[1, 1, 1],
[1, 1, 1],
])
print(np.linalg.det(a))
print(np.linalg.det(b))
伴随矩阵
a = np.mat([
[1, 2],
[3, 4],
])
a_inv = np.linalg.inv(a)
a_det = np.linalg.det(a)
a_companion = a_det * a_inv
print(a_companion)
解方程
# 方程:Ax=b
# x+y+z=4
# x-y+z=2
# 3x-4y-2z=-5
import numpy as np
# 系数矩阵
A = np.mat([
[1, 1, 1],
[1, -1, 1],
[3, -4, -2],
])
# b
b = np.array([4, 2, -5])
# 这样写也行
# b = np.mat([
# [4],
# [2],
# [-5],
# ])
# x
x = np.linalg.solve(A, b)
print(x)
求特征值、特征向量
a = np.mat([
[1, 0, -1],
[0, 2, 0],
[-1, 0, 1],
])
val, vec = np.linalg.eig(a) # 分别储存特征值,特征向量
print(val)
print(vec)
奇异值分解
A = np.mat([
[-1, 0],
[1, 1],
[0, 1],
])
U, S, V = np.linalg.svd(A)
print(U)
print(S)
print(V)
python下的橡皮线_python线性代数常用操作相关推荐
- python如何输出日期_Python日期常用操作
Python日期与字符串互转 1⃣️str -> date importdatetime detester = '2017-01-01' d1 = datetime.datetime.strpt ...
- python下的橡皮线_python下载吴恩达deep learning编程习题
在cousera上注册deep learning后,可下载课后习题. 1.进入编程环境后,单击左上角的file-open,进入文件管理模式 2. 点击红圈文件夹进入根目录 3. 在根目录处右上角new ...
- python和R对dataframe的常用操作的差异:head、tail、shape、dim、nrow、ncol、descirbe、summary、str
python和R对dataframe的常用操作的差异:head.tail.shape.dim.nrow.ncol.descirbe.summary.str # python df.head() # R ...
- python通过什么连接数据库_python中常用的各种数据库操作模块和连接实例
这篇文章主要介绍了python中常用的各种数据库操作模块和连接实例,包括sqlite3.oracle.mysql.excel,需要的朋友可以参考下 工作中,经常会有用python访问各种数据库的需求, ...
- python数据处理常用函数_Python中常用操作字符串的函数与方法总结
Python中常用操作字符串的函数与方法总结 这篇文章主要介绍了Python中常用操作字符串的函数与方法总结,包括字符串的格式化输出与拼接等基础知识,需要的朋友可以参考下 例如这样一个字符串 Pyth ...
- pythonlist基本操作_Python list 常用操作
Python list 常用操作 1.list 定义 >>> li = ["a", "b", "mpilgrim", &q ...
- Python基础教程:字符串的常用操作
在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...
- scipy是python下的什么_Python下科学计算包numpy和SciPy的安装
Python下大多数工具包的安装都很简单,只需要执行 "python setup.py install"命令即可.然而,由于SciPy和numpy这两个科学计算包的依赖关系较多,安 ...
- linux 指定库名 登录mysql_linux下对应mysql数据库的常用操作
ssh管理工具连接mysql数据库. 一.连接mysql数据库: 通过shh管理工具,登录linux的用户名,密码,进入ssh的命令行界面后,执行如下命令: mysql -u 数据库用户名 -p 然后 ...
最新文章
- 图的最短路径dijkstra算法
- LeetCode Linked List Random Node(蓄水池采样算法)
- 安装开源项目 MultiType (基于 RecyclerView)出现的各种问题 -- 自己的第一篇博客...
- ERP员工入登记查询(六)
- 发布订阅之fanout
- Android Studio 开发安卓软件时下载的工程项目 Sync with gradle 失败
- 网络基础:ACL访问控制例表
- ICCV2019 | 腾讯优图13篇论文入选,其中3篇被选为Oral
- 驳《IT开发工程师的悲哀》
- [USACO13DEC]牛奶调度Milk Scheduling
- js错误: XXX变量 is not a function
- php 获取当前action,ThinkPHP3.2.2获取当前Action名称
- 删除顽固node_modules
- 5. Browser 对象 - Screen 对象
- 您的组织策略阻止我们为您完成此操作。有关详细信息,请联系技术支持。
- 系统集成项目管理工程师知识点总结(错题记录)
- 联想拯救者Y7000,电源键一直红灯。还以为电池出问题了,其实....
- Beacon of BLE
- 【Qt界面个性化】大杀器——qss
- 多边形向内收缩指定距离的实现