numpy.linalg, scipy.linalg scipy.optimize.
, 1
(2, 2, 12)
(3, 4, 19)
(4, 5, 24)
3x + 2y + 2 = z numpy.linalg.solve
>>> a = np.array([[2, 2, 1],
[3, 4, 1],
[4, 5, 1]])
>>> b = np.array([12, 19, 24])
>>> np.linalg.solve(a, b)
array([ 3., 2., 2.])
, 2
(3, 4, 19)
(4, 5, 24)
(5, 6, 29)
...
>>> a = np.array([[3, 4, 1], [4, 5, 1], [5, 6, 1]])
>>> b = np.array([19, 24, 29])
>>> np.linalg.solve(a, b)
array([ 0.73333333, 4.26666667, -0.26666667])
, ? , a - 2, [2., 3., 1.] . . ...
, 3
(5, 6, 29)
(6, 7, 34)
(7, 8, 39)
...
>>> a = np.array([[5, 6, 1], [6, 7, 1], [7, 8, 1]])
>>> b = np.array([29, 34, 39])
>>> np.linalg.solve(a, b)
LinAlgError: Singular matrix
, , .
>>> np.linalg.det(a)
0.0
>>> 1. / np.linalg.det(a)
inf
, ax = b, , x = inv(a)b inv(a) . a , inv(a) .
>>> np.linalg.inv(a)
LinAlgError: Singular matrix
, , .
>>> np.linalg.lstsq(a,b)
(array([ 2., 3., 1.]),
array([], dtype=float64),
2,
array([ 1.61842911e+01, 2.62145599e-01, 2.17200830e-16]))
, [2., 3., 1.], , ! , , @wim , a , , EG: a .