NumPyで2元1次方程式の解を求める

NumPyの行列計算って強力なんすね。いろいろ試してみてる。

3x + 2y = 14
x + y = 6

こういう2元1次方程式の解を求める場合。
NumPyだとnumpy.linalg.solveで逆行列の積を求められるので係数のarrayを作って使えばいいらしい。

>>> A = numpy.array([[3, 2], [1, 1]])
>>> P = numpy.array([14, 6])
>>> X = numpy.linalg.solve(A, P)
>>> X.astype(int)
array([2, 4])

x = 2, y = 4となる。
これは便利だなー。