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 相关文章推荐
Pycharm学习教程(1) 定制外观
May 02 Python
python利用socketserver实现并发套接字功能
Jan 26 Python
Django rest framework实现分页的示例
May 24 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 Python
Python3中函数参数传递方式实例详解
May 05 Python
Python安装与基本数据类型教程详解
May 29 Python
python3 map函数和filter函数详解
Aug 26 Python
python反转列表的三种方式解析
Nov 08 Python
django有外键关系的两张表如何相互查找
Feb 10 Python
python正则表达式的懒惰匹配和贪婪匹配说明
Jul 13 Python
Python3中最常用的5种线程锁实例总结
Jul 07 Python
python模板入门教程之flask Jinja
Apr 11 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
DedeCms模板安装/制作概述
2007/03/11 PHP
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
JS文本框不能输入空格验证方法
2013/03/19 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
JS如何生成动态列表
2020/09/22 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
python查看模块安装位置的方法
2018/10/16 Python
python常用函数与用法示例
2019/07/02 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
python Django的web开发实例(入门)
2019/07/31 Python
Django中URL的参数传递的实现
2019/08/04 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
python 导入数据及作图的实现
2019/12/03 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
大学校庆邀请函
2014/01/11 职场文书
装修致歉信
2014/01/15 职场文书
食堂标语大全
2014/06/11 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
2019自荐信该如何写呢?
2019/07/05 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书