《Python Cookbook 3rd》笔记(3.10):矩阵与线性代数运算
矩阵与线性代数运算
问题
你需要执行矩阵和线性代数运算,比如矩阵乘法、寻找行列式、求解线性方程组等等。
解法
NumPy 库有一个矩阵对象可以用来解决这个问题。
矩阵类似于 3.9 小节中数组对象,但是遵循线性代数的计算规则。下面的一个例子
展示了矩阵的一些基本特性:
>>> import numpy as np
>>> m = np.matrix([[1,-2,3],[0,4,5],[7,8,-9]])
>>> m
matrix([[ 1, -2, 3],[ 0, 4, 5],[ 7, 8, -9]])>>> # Return transpose
>>> m.T
matrix([[ 1, 0, 7],[-2, 4, 8],[ 3, 5, -9]])
>>> # Return inverse
>>> m.I
matrix([[ 0.33043478, -0.02608696, 0.09565217],[-0.15217391, 0.13043478, 0.02173913],[ 0.12173913, 0.09565217, -0.0173913 ]])
>>> # Create a vector and multiply
>>> v = np.matrix([[2],[3],[4]])
>>> v
matrix([[2],[3],[4]])
>>> m * v
matrix([[ 8],[32],[ 2]])
>>>
可以在 numpy.linalg 子包中找到更多的操作函数,比如:
>>> import numpy.linalg
>>> # Determinant
>>> numpy.linalg.det(m)
-229.99999999999983
>>> # Eigenvalues
>>> numpy.linalg.eigvals(m)
array([-13.11474312, 2.75956154, 6.35518158])
>>> # Solve for x in mx = v
>>> x = numpy.linalg.solve(m, v)
>>> x
matrix([[ 0.96521739],[ 0.17391304],[ 0.46086957]])
>>> m * x
matrix([[ 2.],[ 3.],[ 4.]])
>>> v
matrix([[2],[3],[4]])
>>>
讨论
很显然线性代数是个非常大的主题,已经超出了本书能讨论的范围。但是,如果你需要操作数组和向量的话, NumPy 是一个不错的入口点。可以访问 NumPy官网获取更多信息。
《Python Cookbook 3rd》笔记(3.10):矩阵与线性代数运算相关推荐
- python3 矩阵运算_3.10 矩阵与线性代数运算
## 问题 你需要执行矩阵和线性代数运算,比如矩阵乘法.寻找行列式.求解线性方程组等等. ## 解决方案 NumPy库有一个矩阵对象可以用来解决这个问题.矩阵类似于3.9小节中数组对象,但是遵循线性代 ...
- 3.10矩阵与线性代数运算
问题: 你需要执行矩阵和线性代数运算,比如矩阵乘法.寻找行列式.求解线性方程组等等. 解决方案: Numpy库有一个矩阵对象可以用来解决这个问题. 矩阵类似于3.9小节中数组对象,但是遵循 ...
- Machine Learning with Python Cookbook 学习笔记 第9章
Chapter 9. Dimensionality Reduction Using Feature Extraction 前言 本笔记是针对人工智能典型算法的课程中Machine Learning w ...
- 《Python Cookbook 3rd》笔记汇总
文章目录 一.数据结构 二.字符串和文本 三.数字.日期和时间 四.迭代器与生成器 五.文件与IO 一.数据结构 标题 关键词 1.1:拆分序列后赋值给多个变量 可迭代对象.拆分赋值 1.2:拆分任意 ...
- 《Python Cookbook 3rd》笔记(1.4):查找最大或最小的N个元素
<Python Cookbook 3rd>1.4:查找最大或最小的N个元素 问题 怎样从一个集合中获得最大或者最小的N个元素列表? 解法 heapq 模块有两个函数:nlargest()和 ...
- Machine Learning with Python Cookbook 学习笔记 第8章
Chapter 8. Handling Images 前言 本笔记是针对人工智能典型算法的课程中Machine Learning with Python Cookbook的学习笔记 学习的实战代码都放 ...
- Python Cookbook 3rd Edition Documentation
Python Cookbook 3rd Edition Documentation 文章目录 第一章:数据结构和算法 1.1 解压序列赋值给多个变量 问题 解决方案 讨论 1.2 解压可迭代对象赋值给 ...
- 《Python cookbook》笔记二
<Python cookbook>笔记二 第二章 字符串和文本 -使用多个界定符分割字符串- 你需要将一个字符串分割为多个字段,但是分隔符 (还有周围的空格) 并不是固定 的. # str ...
- Machine Learning with Python Cookbook 学习笔记 第6章
Chapter 6. Handling Text 本笔记是针对人工智能典型算法的课程中Machine Learning with Python Cookbook的学习笔记 学习的实战代码都放在代码压缩 ...
最新文章
- 扩增子图表解读6韦恩图:比较组间共有和特有OTU或分类单元
- 深入理解Java中的内存泄漏
- Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源
- AWS — Nitro System
- c语言编程员工管理的代码,员工信息管理完整(含附源代码).doc
- python 减少可调用对象的参数个数
- Makefile写法
- ThreadLocal 详解
- CBitMap的用法 from http://www.cnblogs.com/toconnection/archive/2012/08/04/mfc.html
- $.ajax()方法详解(网上引用)
- Avalonia跨平台入门第二十篇之语音播放问题
- CF993E Nikita and Order Statistics
- python dataframe索引转成列_如何将 Pandas DataFrame 的索引转换为列
- Android Theme.Dialog 到光 AppCompatDialog
- C#获得SQLServer服务器名、数据库名、表名、以及字段名
- 堆排序代码详解(Java实现)
- selenium+python+eclipse 实现 “问卷星”网站,登录与检查登录示例!
- 中小学教师计算机培训心得,小学教师信息技术培训心得体会2篇
- CentOS 7 部署RabbitMQ 服务
- loss 加权_为每个类别/实例编写自定义损失加权,对,的,loss
热门文章
- 安卓工控主板运行时会自动重启_工控主板在工业自动化中的应用
- 中天数相减获得差_Power BI 了解DAX中LASTDATE和MAX之间的区别
- 【转】C#实现SM3国密加密
- OpenCR arduino problem list
- 第十节:委托和事件(2)(泛型委托、Func和Action、事件及与委托的比较)
- rsyslog syslog详解
- java构造方法的签名_如何在 Java 中构造对象(学习 Java 编程语言 034)
- 【Python 标准库学习】多种操作系统接口和常用路径操作库 — os 与 os.path
- Hexo 博客本地预览报错:Error: listen EADDRINUSE 0.0.0.0:4000
- 三星sec.android.soagent,3.0降级2.5教程