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之数据类型总结
Sep 24 Python
线程和进程的区别及Python代码实例
Feb 04 Python
python提取页面内url列表的方法
May 25 Python
Python2.x利用commands模块执行Linux shell命令
Mar 11 Python
Python for Informatics 第11章 正则表达式(一)
Apr 21 Python
python中实现数组和列表读取一列的方法
Apr 03 Python
pytorch: tensor类型的构建与相互转换实例
Jul 26 Python
python数据处理 根据颜色对图片进行分类的方法
Dec 08 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
python dict乱码如何解决
Jun 07 Python
Python非单向递归函数如何返回全部结果
Dec 18 Python
Python图片验证码降噪和8邻域降噪
Aug 30 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/24 PHP
PHP在线书签系统分享
2016/01/04 PHP
php打包网站并在线压缩为zip
2016/02/13 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
Javascript限制网页只能在微信内置浏览器中访问
2014/11/09 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
js倒计时显示实例
2016/12/11 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
详解Nodejs内存治理
2018/05/13 NodeJs
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
Django1.7+python 2.78+pycharm配置mysql数据库教程
2014/11/18 Python
对python中return和print的一些理解
2017/08/18 Python
pytorch permute维度转换方法
2018/12/14 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
Django框架请求生命周期实现原理
2020/11/13 Python
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
专业实习自我鉴定
2013/10/29 职场文书
年度考核自我鉴定
2013/11/09 职场文书
优秀生推荐信范文
2013/11/28 职场文书
新年联欢会主持词
2014/03/27 职场文书
房屋租赁协议书范本
2014/04/10 职场文书
2014年终个人工作总结
2014/11/07 职场文书
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android