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解析xml模块封装代码
Feb 07 Python
介绍Python的Urllib库的一些高级用法
Apr 30 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
Sep 28 Python
在python中使用正则表达式查找可嵌套字符串组
Oct 24 Python
python安装numpy&安装matplotlib& scipy的教程
Nov 02 Python
Python3 操作符重载方法示例
Nov 23 Python
hmac模块生成加入了密钥的消息摘要详解
Jan 11 Python
Python双向循环链表实现方法分析
Jul 30 Python
python用BeautifulSoup库简单爬虫实例分析
Jul 30 Python
PyQt5+python3+pycharm开发环境配置教程
Mar 24 Python
keras 自定义loss model.add_loss的使用详解
Jun 22 Python
Python调用C/C++的方法解析
Aug 05 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
星际原理概述
2020/03/04 星际争霸
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
php图片添加水印例子
2016/07/20 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
2018/10/23 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
javascript 验证日期的函数
2010/03/18 Javascript
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
Javascript图像处理—为矩阵添加常用方法
2012/12/27 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
javascript拖拽应用实例(二)
2016/03/25 Javascript
JavaScript判断数组是否存在key的简单实例
2016/08/03 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
Python随机生成彩票号码的方法
2015/03/05 Python
Python使用gensim计算文档相似性
2016/04/10 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
python 调用Google翻译接口的方法
2020/12/09 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
高中的自我鉴定
2013/12/16 职场文书
企业元宵节主持词
2014/03/25 职场文书
出国留学计划书
2014/04/27 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技