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实例之wxpython中Frame使用方法
Jun 09 Python
利用Python绘制数据的瀑布图的教程
Apr 07 Python
Python实现的堆排序算法示例
Apr 29 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 Python
基于python实现语音录入识别代码实例
Jan 17 Python
Django使用rest_framework写出API
May 21 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
matplotlib图例legend语法及设置的方法
Jul 28 Python
python基于pygame实现飞机大作战小游戏
Nov 19 Python
golang特有程序结构入门教程
Jun 02 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
全国FM电台频率大全 - 2 天津市
2020/03/11 无线电
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
php实现memcache缓存示例讲解
2013/12/04 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
Javascript实现单例模式
2016/01/24 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
给我一面国旗 python帮你实现
2019/09/30 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
澳大利亚领先的在线礼品网站:Gifts Australia
2020/08/15 全球购物
公司市场部岗位职责
2013/12/02 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
信访工作汇报材料
2014/10/27 职场文书
合作合同协议书范本
2015/01/27 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
Apache Hudi集成Spark SQL操作hide表
2022/03/31 Servers
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技