如果我有两个矩阵 a 和 b,是否有任何函数可以找到矩阵 x,当点乘以 a 时得到 b?寻找 python 解决方案,用于 numpy 数组形式的矩阵。
2 回答
绝地无双
TA贡献1946条经验 获得超4个赞
这个寻找 X 的问题等同于A*X=B
搜索“A 的逆矩阵”,即一个矩阵,例如X = Ainverse * B
。
Ainverse
有关信息,请注意数学A^(-1)
(“A 的幂 -1”,但您可以改为说“A 的倒数”)。
在 numpy 中,这是一个用于查找矩阵逆矩阵的内置函数a
:
import numpy as np ainv = np.linalg.inv(a)
您需要注意某些矩阵不是“可逆的”,最明显的例子(大致)是:
非正方形矩阵
表示投影的矩阵
在某些情况下,numpy 仍然可以近似某些值。
哆啦的时光机
TA贡献1779条经验 获得超6个赞
ifA是满秩方阵
import numpy as np
from numpy.linalg import inv
X = inv(A) @ B
如果不是,那么这样的矩阵不存在,但我们可以对其进行近似
import numpy as np
from numpy.linalg import inv
X = inv(A.T @ A) @ A.T @ B
添加回答
举报
0/150
提交
取消