相关疑难解决方法(0)

25
推荐指数
3
解决办法
11万
查看次数

没有Numpy的矩阵求逆

我想在不使用numpy.linalg.inv的情况下反转矩阵.

原因是我使用Numba加速代码,但是不支持numpy.linalg.inv,所以我想知道我是否可以使用'经典'Python代码反转矩阵.

使用numpy.linalg.inv,示例代码如下所示:

import numpy as np
M = np.array([[1,0,0],[0,1,0],[0,0,1]])
Minv = np.linalg.inv(M)
Run Code Online (Sandbox Code Playgroud)

python matrix inverse numba

20
推荐指数
4
解决办法
3万
查看次数

有没有办法用numpy有效地反转矩阵数组?

通常我会在for循环中反转一个3x3矩阵的数组,如下例所示.不幸的是for循环很慢.有没有更快,更有效的方法来做到这一点?

import numpy as np
A = np.random.rand(3,3,100)
Ainv = np.zeros_like(A)
for i in range(100):
    Ainv[:,:,i] = np.linalg.inv(A[:,:,i])
Run Code Online (Sandbox Code Playgroud)

python numpy linear-algebra matrix-inverse

8
推荐指数
2
解决办法
8018
查看次数

使用符号反转矩阵3x3

A具有以下矩阵,例如:

在此输入图像描述

我想做一些矩阵操作而不添加数字,因为它们可能会有所不同,我想从中得到一般方程式.

我怎样才能得到类似的东西.如果我想做乘法或简单的操作似乎很好,但似乎没有什么工作的逆.

我试过很多像:

from sympy import *
from numpy import matrix
from numpy import linalg
from sympy import Matrix

a1, a2, a3, b1, b2, b3, c1, c2, c3, x, y, z = symbols('a1 a2 a3 b1 b2 b3 c1 c2 c3 x y z')
A = matrix( [[a1,a2,a3],[b1,b2,b3],[c1,c2,c3]]) # Creates a matrix.
B = matrix( [[x],[y],[z]])
C= A*B  #That works fine
A_inverse = A.inv() #Doesn't work
Run Code Online (Sandbox Code Playgroud)

python variables matrix sympy

6
推荐指数
1
解决办法
3638
查看次数