Python 执行矩阵与线性代数运算


Posted in Python onAugust 01, 2020

问题

你需要执行矩阵和线性代数运算,比如矩阵乘法、寻找行列式、求解线性方程组等等。

解决方案

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 官网 http://www.numpy.org 获取更多信息。

以上就是Python 执行矩阵与线性代数运算的详细内容,更多关于Python 矩阵与线性代数运算的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Django中几种重定向方法
Apr 28 Python
浅谈python中截取字符函数strip,lstrip,rstrip
Jul 17 Python
深入浅析python定时杀进程
Jun 06 Python
python+selenium实现京东自动登录及秒杀功能
Nov 18 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
Python格式化日期时间操作示例
Jun 28 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
Dec 05 Python
对Xpath 获取子标签下所有文本的方法详解
Jan 02 Python
基于python的socket实现单机五子棋到双人对战
Mar 24 Python
使用Python函数进行模块化的实现
Nov 15 Python
Pytorch之保存读取模型实例
Dec 30 Python
详解python破解zip文件密码的方法
Jan 13 Python
Python实现数字的格式化输出
Aug 01 #Python
Python实现一个简单的递归下降分析器
Aug 01 #Python
Python 如何在字符串中插入变量
Aug 01 #Python
Python打印不合法的文件名
Jul 31 #Python
Django+Uwsgi+Nginx如何实现生产环境部署
Jul 31 #Python
Python 如何测试文件是否存在
Jul 31 #Python
Python高并发解决方案实现过程详解
Jul 31 #Python
You might like
第1次亲密接触PHP5(1)
2006/10/09 PHP
用php实现选择排序的解决方法
2013/05/04 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
javascript的 {} 语句块详解
2016/02/27 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
树结构之JavaScript
2017/01/24 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
JS实现简单的星期格式转换功能示例
2018/07/23 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
django输出html内容的实例
2018/05/27 Python
python爬取哈尔滨天气信息
2018/07/14 Python
Python字典生成式、集合生成式、生成器用法实例分析
2020/01/07 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
Python爬虫UA伪装爬取的实例讲解
2021/02/19 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
高中生第一学年自我鉴定
2014/09/12 职场文书
党员民主评议总结
2014/10/20 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
出纳岗位职责
2015/01/31 职场文书
可可西里观后感
2015/06/08 职场文书
运动会通讯稿50字
2015/07/20 职场文书
党风廉政建设心得体会
2019/05/21 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL