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 相关文章推荐
Python模块搜索概念介绍及模块安装方法介绍
Jun 03 Python
Python爬虫利用cookie实现模拟登陆实例详解
Jan 12 Python
Python入门_条件控制(详解)
May 16 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
Nov 23 Python
Python中的random.uniform()函数教程与实例解析
Mar 02 Python
如何通过python画loss曲线的方法
Jun 26 Python
django-初始配置(纯手写)详解
Jul 30 Python
python 变量初始化空列表的例子
Nov 28 Python
使用pyshp包进行shapefile文件修改的例子
Dec 06 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
详解pytorch创建tensor函数
Mar 22 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
php输出指定时间以前时间格式的方法
2015/03/21 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
2013/06/04 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
2015/01/07 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
2020/08/10 Javascript
python正则分组的应用
2013/11/10 Python
Python字符串的常见操作实例小结
2019/04/08 Python
python requests指定出口ip的例子
2019/07/25 Python
python web框架中实现原生分页
2019/09/08 Python
python计算导数并绘图的实例
2020/02/29 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
师范生自荐信
2013/10/27 职场文书
毕业生求职找工作的自我评价范文
2013/11/27 职场文书
食堂员工工作职责
2013/12/18 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
蜗居观后感
2015/06/11 职场文书
获奖感言范文
2015/07/31 职场文书
详解Python中__new__方法的作用
2022/03/31 Python