python numpy逆_numpy.linalg.inv返回奇异矩阵的逆函数 - python
下面的矩阵是单数,并且AFAIK尝试将其求反应导致
numpy.linalg.linalg.LinAlgError: Singular matrix
但是我得到了一些输出矩阵。请注意,输出矩阵是无意义的结果,因为它具有一行0(这是不可能的,因为矩阵的逆本身应该是可逆的)!
我是否在这里缺少与浮点精度有关的东西,或者与真实逆相反的伪逆的计算?
$ np.__version__
'1.13.1'
$ np.linalg.inv(np.array([[2,7,7],[7,7,7],[8,7,7]]))
array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 3.43131400e+15, -2.05878840e+16, 1.71565700e+16],
[ -3.43131400e+15, 2.05878840e+16, -1.71565700e+16]])```
参考方案
在后台,NumPy和SciPy(以及许多其他软件)都退回到线性方程求解器的LAPACK实现(或C转换)(在本例中为GESV)。
由于GESV首先执行LU分解,然后检查U矩阵的对角线是否有确切的零,因此很难在分解中达到理想的零。这就是为什么您不会遇到奇异矩阵错误的原因。
除此之外,如果要与其他矩阵相乘,则永远不要求逆矩阵,而是求解AX=B。
在SciPy自版本0.19起,scipy.linalg.solve使用GESVX的“专家”驱动程序GESV,该驱动程序还会报告条件编号并发出警告。如果缺少奇点,这类似于matlab的行为。
In [7]: sp.linalg.solve(np.array([[2,7,7],[7,7,7],[8,7,7]]), np.eye(3))
...\lib\site-packages\scipy\linalg\basic.py:223: RuntimeWarning: scipy.linalg.solve
Ill-conditioned matrix detected. Result is not guaranteed to be accurate.
Reciprocal condition number: 1.1564823173178713e-18
' condition number: {}'.format(rcond), RuntimeWarning)
Out[7]:
array([[ 0.00000000e+00, -1.00000000e+00, 1.50000000e+00],
[ 3.43131400e+15, -2.05878840e+16, 1.71565700e+16],
[ -3.43131400e+15, 2.05878840e+16, -1.71565700e+16]])
numpy.savetxt“元组索引超出范围”? - python
我试图在文本文件中写几行,这是我使用的代码:import numpy as np # Generate some test data data = np.arange(0.0,1000.0,50.0) with file('test.txt', 'w') as outfile: outfile.write('…用Python计算稀疏矩阵的Cholesky分解 - python
我正在尝试实现Reinsch's Algorithm(pp 4)。由于工作矩阵是稀疏的,所以我使用的是scipy.sparse模块,但是正如您所看到的,Reinsch的算法需要稀疏矩阵的Cholesky分解(我们称其为my_matrix)才能求解某些系统,但是我不能找到与此有关的任何东西。当然,在同一算法中,我可以使用scipy.sparse.li…numpy loadtxt单行/行作为列表 - python
我只有一个数据文件,例如: 1.2 2.1 3.2 我使用numpy版本1.3.0 loadtxt加载它 a,b,c = loadtxt("data.dat", usecols(0,1,2), unpack=True) 输出是浮点数而不是数组 a = 1.2 我希望它将是: a = array([1.2]) 如果我读取了多行文件,则该文件…设置Jupyter笔记本电脑的最大内核数 - python
我与同事共享一台计算机。他们在那里运行并行计算,我需要运行Jupyter。我可能只使用几个核心,而不是全部。但是,每次运行在Jupyter中使用numpy的单元时,它都会尝试使用尽可能多的内核。在运行同事的计算时,Python占用了一半的内核。我试图将Jupyter进程的nice设置为19,以便其Python子进程继承niceness值,并且不尝试使用所有内…Python输出numpy数组作为base64编码的字符串而不是jpg - python
我有一个简单的Python3脚本,它使用以下命令从numpy数组创建图像...cv2.imwrite("finalImage.jpg", numpyArray) 这可以正常工作,但是现在我希望输出的是base64编码的字符串,而不是jpg图像。我知道我可以将输出的jpg图像转换为base64字符串,但是有一种方法可以直接执行此操作,因此我…
python numpy逆_numpy.linalg.inv返回奇异矩阵的逆函数 - python相关推荐
- python numpy逆_关于python:为什么numpy和scipy中的矩阵求逆函数对于大的二次矩阵返回不同的结果?...
可以说我定义了一个大的二次矩阵(例如150x150). 一次它是一个numpy数组(矩阵A),一次是scipy稀疏数组(矩阵B). 1 2 3 4 5 6 7 8 9 10 11 12import n ...
- python numpy逆_Python使用numpy计算矩阵特征值、特征向量与逆矩阵
原标题:Python使用numpy计算矩阵特征值.特征向量与逆矩阵 Python扩展库numpy.linalg的eig()函数可以用来计算矩阵的特征值与特征向量,而numpy.linalg.inv() ...
- python numpy逆_python-具有numpy的N * M * M张量的矢量化(部分)逆
所以我有一个张量的索引为a [n,i,j]的维度为(N,M,M)的张量,我想为N中的每个n求M * M方阵部分的值. 例如,假设我有 In [1]: a = np.arange(12) a.shape ...
- python numpy库_numpy库学习总结(基础知识)
最近在学习Python中OpenCV库,学习花了很多时间,发现基础知识很重要,尤其是numpy这个库,在进行程序开发时,处理大量类似数组这种数据结构时,它的重要性等同于Python中的列表,像前篇我们 ...
- python numpy pandas 书 全_夯基固本学Python—Numpy与Pandas
数据分析绝对绕不过的三个包是numpy.scipy和pandas.numpy是Python的数值计算扩展,专门用来处理矩阵,它的运算效率比列表更高效.scipy是基于numpy的科学计算包,包括统计. ...
- python numpy np.convolve()函数(返回两个一维序列的离散线性卷积)
文章目录 from numpy.core.numeric() 计算流程 from numpy.core.numeric() def convolve(a, v, mode='full'):" ...
- python numpy遍历_NumPy 迭代数组
NumPy 迭代数组 NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. 接下来我们使用 arange() ...
- python numpy库是第三方库吗_浅谈python的第三方库——numpy(终)
本文作为numpy系列的总结篇,继续介绍numpy中常见的使用小贴士 1 手动转换矩阵规格 转换矩阵规格,就是在保持原矩阵的元素数量和内容不变的情况下,改变原矩阵的行列数目.比如,在得到一个5x4的矩 ...
- Python NumPy教程
Welcome to Python NumPy tutorial. In our previous tutorial, we learned about Python switch case. In ...
最新文章
- .NET Core开发日志——配置
- scale 和 transform-origin 实现线条从左侧进入,右侧离开效果
- assm的结构_Oracle ASSM三级位图块结构
- iview render的时候可以写控件的基本格式
- [转]浅谈MS-SQL锁机制
- 高通发布一系列新型WiFi芯片:兼容WiFi 6技术
- 第20章 TCP的成块数据流
- c语言s_gets函数作用,C语言中gets_s(),gets(),fgets()函数的比较。
- 听北大公开课庄明科老师《大学生职业素养提升》第一集:《自我效能感》的笔记
- Asis CTF 2016 b00ks(堆溢出NULL byte off-by-one)
- Unity网格编程篇(二) 非常详细的Mesh编程入门文章
- PCB设计时如何选择合适的叠层方案
- 【Proteus仿真】Arduino UNO + PCF8563 +LCD1602时间显示
- oracle变mysql,Oracle变换成为Mysql注意事项
- 如何安装和使用A-ops工具?
- 【vue】详情页数据请求
- 如何在wpf中使用winform控件或者winform的自定义控件
- FPGA开发过程中常见的一些文件后缀
- GNU Make 使用手册(中译版)
- 步进电机、步进电机驱动器常见问题解答
热门文章
- Lucene提供的条件判断查询[转]
- 计算机网络——TCP/IP参考模型和五层参考模型
- Mybatis中example的使用
- 【剑指offer】面试题57 - II:和为s的连续正数序列(Java)
- MySQL小问题:导入employee测试数据
- Leetcode--90. 子集Ⅱ
- nacicat for mysql查询_navicat for mysql怎么用
- 记录用户转成超级用户的文件名字_一分钟了解Linux用户
- html 链接section,HTML section 标签
- keras.metrics中的accuracy