python中最基本的线性代数方程

python中最基本的线性代数方程,python,numpy,scipy,linear-algebra,Python,Numpy,Scipy,Linear Algebra,假设我有以下方程组: x + y = 3 5x - y = 3 这里x=1和y=2。使用scipy或其他线性代数解算器,最基本的方法是什么。例如,类似于: A = np.array([1,1],[5,-1]) A'inverse = [3,3] # how to do this? 可以使用Numpy的线性代数部分: 将numpy导入为np A=np.数组(([1,1],[5,-1])) #求一个矩阵的逆 B=np.linalg.inv(A) #数组([[0.16666667,0.16666

假设我有以下方程组:

x  + y = 3
5x - y = 3
这里
x=1
y=2
。使用scipy或其他线性代数解算器,最基本的方法是什么。例如,类似于:

A = np.array([1,1],[5,-1])
A'inverse = [3,3] # how to do this?

可以使用Numpy的线性代数部分:

将numpy导入为np
A=np.数组(([1,1],[5,-1]))
#求一个矩阵的逆
B=np.linalg.inv(A)
#数组([[0.16666667,0.16666667],
#       [ 0.83333333, -0.16666667]])
#计算B和A的矩阵乘法:期望相同的矩阵
np.matmul(B,A)
#非常接近0和1
#数组([[1.00000000e+00,2.77555756e-17],
#[-5.55111512e-17,1.00000000 E+00]]
#转换为整数
np.int32(np.matmul(B,A))
#数组([[1,0],
#[0,1]],dtype=int32)

根据Amird建议使用
np.linalg

import numpy as np
A = np.array(([1,1],[5,-1]))    # initialize 2x2 matrix
B = np.array([3,3])             # initialize the (x,y) column vector 
A_inv = np.linalg.inv(A)        # get A'
np.matmul(A_inv,B)              # Ax = B --> x = A'B
# array([1., 2.])

在这里我们可以看到答案是
X=1,Y=2
,这正是我们所期望的。

最好的方法是自己做基础研究。您可以使用历史上最强大的搜索工具。我会很乐意推荐任何一款更受欢迎的。文档字符串包括一个例子。@WarrenWeckesser谢谢你的建议,是的,我已经用类似于
numpy.linalg