python中matrix函数_使用python解线性矩阵方程(numpy中的matrix类)
这学期有一门运筹学,讲的两大块儿:线性优化和非线性优化问题。在非线性优化问题这里涉及到拉格朗日乘子法,经常要算一些非常变态的线性方程,于是我就想用python求解线性方程。查阅资料的过程中找到了一个极其简单的解决方式,也学到了不少东西。先把代码给出。
import numpy as np
# A = np.mat('1 2 3;2 -1 1;3 0 -1')
A = np.array([[1, 2, 3], [2, -1, 1], [3, 0, -1]])
b = np.array([9, 8, 3])
x = np.linalg.solve(A, b)
print(x)
是不是很简洁?因为调用了强大的包numpy~ 我们想解决的问题是求解矩阵方程$Ax=b$。在这里调用numpy中的线性代数包np.linalg,使用其中的function->solve(A, b)。几行代码就解决了问题。在这里solve函数有两个输入,第一个输入是矩阵,可以采用numpy里的矩阵数据类型或者最常用的数组数据类型。第二个输入是右端项b,一个一维numpy数组即可。函数返回方程的解,shape和b是相同的。如果矩阵A是奇异的或者不是方阵,函数就会报错。
好了,问题得到了绝佳的解决,大不了把python当计算器来用呗~
下面是补充知识:numpy中的matrix类
matrix类是numpy中的一个过时的类,可能会在未来被移除。因为现在大多数人都会用更加灵活好用的ndarray,移除它也是可以理解的。
>>> a = np.matrix('1 2; 3 4')
>>> a
matrix([[1, 2],
[3, 4]])
>>> np.matrix([[1, 2], [3, 4]])
matrix([[1, 2],
[3, 4]])
matrix有两种构造方式,从第二种我们看到和一般的数组类型一模一样,在这里我们就能窥到matrix其实就是继承了ndarray,基于ndarray。拿matrix进行线性代数运算是因为它有很多方便的函数。
matrix.T transpose:返回矩阵的转置矩阵
matrix.H hermitian (conjugate) transpose:返回复数矩阵的共轭元素矩阵
matrix.I inverse:返回矩阵a逆矩阵
matrix.A base array:返回矩阵基于的数组
matrix.AI flattened ndarray: 返回展平的数组
其他的很多类方法不再介绍,以上四个是最基本的类似语法糖的函数。
需要注意的是,ndarray类型同样能方便地进行转置和求逆。
A = np.array([[1, 2], [3, 4]])
print(A.T)
A_I = np.linalg.inv(A)
python中matrix函数_使用python解线性矩阵方程(numpy中的matrix类)相关推荐
- python中累加函数_对Python实现累加函数的方法详解
对Python实现累加函数的方法详解 发布时间:2020-10-26 00:02:44 来源:脚本之家 阅读:120 作者:岚漾忆雨 这个需求比较奇怪,要求实现Sum和MagaSum函数,实现以下功能 ...
- python指数运算函数_分享Python中用于计算指数的exp()方法实例教程
exp()方法返回指数x: ex. 语法 以下是exp()方法的语法:import math math.exp( x ) 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math ...
- python3中zip函数_用python实现矩阵转置,python3 中zip()函数
前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...
- python调用dll函数_从Python调用DLL函数
我想从Python调用DLL中的函数.但我有个错误:"Attribute Error function not found" 这是我的代码:import os import cty ...
- python一些常用函数_【python】常用的一些内置函数
1.cmp cmp(A,B)函数,比较A,B的大小,如果A大于B,返回1,A小于B返回-1,A等于B返回0 print cmp(12,33) >>>-1 print cmp(&quo ...
- python 不执行函数_解决python调用自己文件函数/执行函数找不到包问题
写python程序的时候很多人习惯创建一个utils.py文件,存放一些经常使用的函数,方便其他文件调用,同时也更好的管理一些通用函数,方便今后使用.或是两个文件之间的class或是函数调用情况. 就 ...
- python调用matlab函数_从python调用MATLAB函数
我知道这是一个老问题,已经得到答复. 但是我一直在寻找相同的东西(对于Mac),发现有很多选择与matlab交互的方法和成熟度不同. 这是我发现的: pymat 使用matlab引擎(libeng)进 ...
- python调用matlab函数_从 Python 调用 MATLAB 函数的三种方法
0. 实验环境Ubuntu 16.04 Matlab R2015b 1. 借助于 mlab 库 安装方法非常简单,只需一行命令 sudo pip install mlab 即可. import num ...
- python的gmtime函数_关于python:是否有time.gmtime()的反函数将UTC元组解析为自纪元以来的秒数?...
python的时间模块似乎有点杂乱无章. 例如,以下是docstring中的方法列表: 1 2 3 4 5 6 7 8 9 10 11time() -- return current time in ...
最新文章
- BlueZ--内核层+应用层
- android支持第三方jar包,以及Eclipse如何导入jar包
- Spring Cloud比较好的博文地址
- 【渝粤题库】广东开放大学 文化活动策划与组织 形成性考核
- C语言,产生一组数字,并将其写入txt文档中
- 上海电力学院linux大作业,上海电力电路大作业2重点.docx
- 2017年4月14日
- 看看华为 Java 编程的军规...
- 机械臂动力学建模(2)- Kane凯恩算法
- jetson nano使用python读取解析GPS数据(GPRMC,GPGGA)。
- android怎么改名字,手把手教你如何修改安卓软件的图标和名字
- 慧之声科技- 程序员的爱情故事
- python编写错误怎么修改_在Python的Django框架中编写错误提示页面
- html5 3d 签到墙,签到小程序/微信签到/扫码签到/3D签到墙
- 手机淘宝的flexible设计与实现
- 【Spring】切入点表达式、函数
- 苹果外接屏幕鼠标移动方向问题
- tableau数据分析
- 模拟ic设计工程师面试总结
- 【附源码】Java计算机毕业设计幼儿园管理系统(程序+LW+部署)
热门文章
- php分页类 seo,HTML_写一个对搜索引擎友好的文章SEO分页类,使用jsp/php/asp等动态程序生成 - phpStudy...
- logo下方显示技术支持信息_艺术与实用性的结合,iQunix Spider 屏幕显示器支架评测...
- 第九讲 二阶齐次常系数线性ODE
- 盛佳:搜索是有目的的发现,发现是无目的的搜索
- 接口压测初识java GC
- shell脚本练习,创建数据文件注册用户并将用户信息存入文件内,用于模拟登录时使用...
- C#枚举中的位运算权限分配浅谈
- 2017.2.12【初中部 GDKOI】模拟赛B组 T4:pot
- 代码中设置excel自定义格式为[红色]的处理方法
- Objective-C学习笔记2013[NSString]字符串[可变字符串中,加用app减用delete]