python numpy逆_python-使用numpy的矩阵逆

使用python和numpy进行矩阵求逆:

>>> import numpy as np

>>> b = np.array([[2,3],[4,5]])

>>> np.linalg.inv(b)

array([[-2.5, 1.5],

[ 2. , -1. ]])

并非所有矩阵都可以求逆。 例如,奇异矩阵是不可逆的:

>>> import numpy as np

>>> b = np.array([[2,3],[4,6]])

>>> np.linalg.inv(b)

LinAlgError: Singular matrix

奇异矩阵问题的解决方案:

尝试捕获奇异矩阵异常,并继续进行直到找到满足您先前条件并且也是可逆的转换为止。

为何不能总是进行矩阵求逆的直觉; 就像在奇异矩阵中一样:

想象一台旧的高架电影放映机,它通过胶片将明亮的光线照到白墙上。 胶片中的像素投影到墙上的像素。

如果我将胶片投影停止在一个帧上,您将在墙上看到胶片的像素,请您根据看到的内容重新生成胶片。 您说这很容易,只要对执行投影的矩阵求逆即可。 矩阵的逆是投影的反转。

现在想象一下放映机是否损坏,我在胶片前放了一个变形的镜头。 现在,多个像素被投影到墙上的同一位置。 我再次要求您“使用矩阵逆函数撤消此操作”。 你说:“我不能因为你因为镜头畸变而破坏了信息,我不能回到原来的状态,因为矩阵要么是奇异的要么是退化的。”

仅当过程可以逆转而不会丢失信息时,可用于将某些数据转换为其他数据的矩阵才是可逆的。 如果矩阵不能被反转,则可能是使用猜测和检查方法而不是使用保证无损转换的过程定义投影。

如果您使用的是启发式算法或不尽人意的数学精度,则必须定义另一个过程来管理和隔离变形,以便可以恢复通过布朗运动进行的编程。

资源:

[http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.inv.html#numpy.linalg.inv]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值