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简单实现子网掩码转换的方法
Apr 13 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
Dec 05 Python
Python matplotlib绘制饼状图功能示例
Sep 10 Python
使用Python为中秋节绘制一块美味的月饼
Sep 11 Python
Django集成celery发送异步邮件实例
Dec 17 Python
Python如何访问字符串中的值
Feb 09 Python
python:批量统计xml中各类目标的数量案例
Mar 10 Python
python实现五子棋程序
Apr 24 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 Python
python飞机大战游戏实例讲解
Dec 04 Python
Python实现一个论文下载器的过程
Jan 18 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
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
2016/06/24 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
使用BootStrapValidator完成前端输入验证
2016/09/28 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
Jquery EasyUI $.Parser
2017/06/02 jQuery
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
微信小程序实现评论功能
2018/11/28 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
[46:59]完美世界DOTA2联赛PWL S2 GXR vs Ink 第二场 11.19
2020/11/20 DOTA
python指定写入文件时的编码格式方法
2018/06/07 Python
python中提高pip install速度
2020/02/14 Python
在Python中实现字典反转案例
2020/12/05 Python
一款利用css3的鼠标经过动画显示详情特效的实例教程
2014/12/29 HTML / CSS
HTML5几个设计和修改的页面范例分享
2015/09/29 HTML / CSS
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
英语简历自我评价
2014/01/26 职场文书
教师读书活动总结
2014/05/07 职场文书
提拔干部考察材料
2014/05/26 职场文书
商务经理岗位职责
2014/07/30 职场文书
会议新闻稿
2015/07/17 职场文书
应届生个人的求职(自荐信范文2篇)
2019/08/23 职场文书
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers