- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 Python 的新手,我想知道它们之间的区别是什么
inv(A)
和
A.I
两者都返回包含矩阵 A 的逆矩阵的 Numpy 数组。
A.I
在我看来它正在从存储矩阵逆矩阵的矩阵类中访问一个变量;但是,这意味着每次更改 A 时,都必须重新计算 A 的倒数(这对我来说似乎不合逻辑)。
最佳答案
A.I
和 numpy.linalg.inv
不一样。
A.I
是一个 property这叫matrix.getI :
def getI(self):
M,N = self.shape
if M == N:
from numpy.dual import inv as func
else:
from numpy.dual import pinv as func
return asmatrix(func(self))
所以getI
要么调用numpy.dual.inv (方阵的乘法逆矩阵)或 numpy.dual.pinv (Moore-Penrose 伪逆)取决于矩阵的形状。
如果您跟踪定义(在 dual.py 中),您会发现numpy.dual.inv
是 numpy.linalg.inv
和 numpy.dual.pinv
是 numpy.linalg.pinv
>.
In [69]: s = np.random.random((3,4))
In [70]: t = np.matrix(s)
In [71]: t.I
Out[71]:
matrix([[ 1.09509751, -0.56685735, 0.51704085],
[-1.59777153, 0.2777383 , 1.25579378],
[ 0.81899054, 0.7594223 , -0.82760378],
[ 0.02845906, 0.50418885, -0.2091376 ]])
In [72]: np.linalg.inv(t)
...
LinAlgError: Array must be square
此外,np.linalg.inv
可以应用于 numpy 数组(并返回一个 numpy 数组),也可以应用于 numpy 矩阵。 matrix.I
属性特定于 numpy 矩阵,并返回另一个 numpy 矩阵。
In [60]: x = np.random.random((3,3))
In [62]: y = np.matrix(x)
In [64]: type(y.I)
Out[64]: <class 'numpy.matrixlib.defmatrix.matrix'>
In [65]: type(np.linalg.inv(x))
Out[65]: <type 'numpy.ndarray'>
一个属性,如 A.I
在语法上看起来像一个属性,但它实际上调用一个函数(在本例中为 A.getI
)。所以倒数的值没有被存储。每次 Python 计算 A.I
时,都会调用函数 A.getI()
,并返回函数的结果。
参见 Properties: attributes managed by get/set methods有关属性的更多信息。
关于python - Scipy inv(A) vs A.I,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14250051/
我有一个矩阵形状 (4000, 4000),我想取逆矩阵。 (对于如此大的矩阵,我对逆矩阵的直觉会崩溃。) 起始矩阵的值大小为 e-10,具有以下值:打印矩阵 给出输出 [[ 2.19885119e
我的 JavaScript 函数如下: function myClickEvent(params) { var inv = $("#" + params["inv"]); inv.on
我需要知道当玩家从另一个插件运行命令时是否有办法清除玩家的库存。我认为您可以使用 PlayerCommandPreprocessEvent 但我自己无法获得它。我需要一些帮助来解决我的问题。谢谢:)
我是 Python 的新手,我想知道它们之间的区别是什么 inv(A) 和 A.I 两者都返回包含矩阵 A 的逆矩阵的 Numpy 数组。 A.I 在我看来它正在从存储矩阵逆矩阵的矩阵类中访问一个变量
我正在实现 LinearTransformation类,继承自 numpy.matrix并使用 numpy.matrix.I计算变换矩阵的逆矩阵。 有谁知道 numpy 在尝试计算逆矩阵之前是否检查矩
特别是遵循此处的教程:https://kelvinlawrence.net/book/Gremlin-Graph-Guide.html#walk (3.3.2) 我不明白这句话outE().inV()
下面的矩阵是奇异的,据我所知尝试反转它应该会导致 numpy.linalg.linalg.LinAlgError: Singular matrix 但是,我确实得到了一些输出矩阵。请注意,输出矩阵是一
我在 Python 中使用逆矩阵函数 inv()。我正在计算 3x3 矩阵的逆矩阵,但是当我将结果与原始矩阵相乘时,我没有得到单位矩阵,为什么? 示例: AA = [[1,6,5],[2,3,1],[
嗯,我正在用java编写一个模拟主题的伪随机数测试,我需要计算卡方的倒数,所以我有alpha和度as you can see here . 我正在看的书,使用Excel函数Excel ChiSQ.IN
我有一个 MutableDenseMatrix,Q。 theta1 和 theta2 是 SymPy 类型的 symbol。 In[12]: Q Out[12]: [cos(theta1), -si
下面的矩阵是奇异的,据我所知尝试反转它应该会导致 numpy.linalg.linalg.LinAlgError: Singular matrix 但是,我确实得到了一些输出矩阵。请注意,输出矩阵是一
求对角矩阵的逆非常简单,不需要复杂的方法。 scipy.linalg.inv 在应用更复杂的方法之前是否检查矩阵是否为对角线,还是我需要自己检查? 最佳答案 如你所见the Github code o
我正在尝试使用 numpy.linalg.inv() 函数反转二维矩阵。然而,每当我运行它时,它似乎就停止了。由于我使用的是尺寸为 40989x52 的矩阵,我最初认为这是一个问题,因此我尝试等待它处
我正在尝试使用 Matlab 内置函数“inv”来计算方阵的逆。 matlab inv() 是否使用任何重新排序算法(inv 内部且用户不指定)来计算逆? 提前致谢.. 最佳答案 可能会进行行旋转以最
我在编写执行音频处理的 SSE 方法时遇到问题。我在这里根据英特尔的论文实现了一个 SSE 随机函数: http://software.intel.com/en-us/articles/fast-ra
我正在 HPC 上反转非常大的矩阵。显然,这对 RAM 有很高的要求。为了避免内存不足错误,作为临时解决方案,我一直在请求大量内存 (TB)。我如何使用 numpy.linalg.inv 根据输入矩阵
作为疾病风险模型的一部分,我试图从一篇论文(在 Python/numpy 中)实现计算,其中一部分是以下矩阵计算: 在哪里: X an [n.m]。 m 的大小合理 (1..200),但 n 相当大
我正在使用对数深度算法,该算法导致someFunc(clipspace.z)被写入深度缓冲区,并且没有隐式透视划分。 我正在执行RTT/后处理,因此稍后在片段着色器中,我想重新计算eyespace.x
使用 JProfiler 分析在 Oracle IAS 上运行的应用程序,进入 JEE & Probes -> JDBC -> Hot Spots,在“Unknown”树下有一个名为“Hot Spot
我创建了一个奇异矩阵。 mat = np.array([[ 1, 8, 50], [ 8, 64, 400], [ 50, 400, 2500]]) 已经知道 mat
我是一名优秀的程序员,十分优秀!