M我们拥有
inv(M).T == inv(M.T)(逆的转置等于转置的逆)。
由于
np.linalg.inv是可广播的,因此您可以通过简单地转置
A,调用
inv和转置结果来解决您的问题:
B = np.linalg.inv(A.T).T
例如:
>>> N, K = 2, 3>>> A = np.random.randint(1, 5, (N, N, K))>>> Aarray([[[4, 2, 3], [2, 3, 1]], [[3, 3, 4], [4, 4, 4]]])>>> B = np.linalg.inv(A.T).T>>> Barray([[[ 0.4 , -4. , 0.5 ], [-0.2 , 3. , -0.125]], [[-0.3 , 3. , -0.5 ], [ 0.4 , -2. , 0.375]]])
您可以按预期检查
Bmatch的逆数组的值
A:
>>> all(np.allclose(B[:, :, i], np.linalg.inv(A[:, :, i])) for i in range(K))True
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)