2011-07-22 33 views

Trả lời

54

Có, gói NumPy rất phổ biến có a function to do this. Ví dụ họ:

Giải hệ phương trình 3 * x0 + x1 = 9x0 + 2 * x1 = 8:

>>> import numpy as np 
>>> a = np.array([[3,1], [1,2]]) 
>>> b = np.array([9,8]) 
>>> x = np.linalg.solve(a, b) 
>>> x 
array([ 2., 3.]) 

https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.linalg.solve.html

+2

Tôi có thể sử dụng np.linalg.solve (a, b) chức năng để giải quyết hệ thống phương trình modulo 2 (trên trường Galois)? Hoặc nếu bạn biết một gói khác có thể giải quyết vấn đề đó thì sẽ rất hữu ích :) – giliev

+0

"giải quyết" của numpy sẽ không giải các hệ phương trình có nhiều phương trình hơn biến (trường hợp sử dụng của tôi). Cho rằng, sử dụng sympy thay thế. – Tiago

7

Bạn có thể sử dụng phương pháp bình phương tối thiểu trong python để giải quyết hệ phương trình ví dụ để giải quyết phương trình 3x + 4y = 75x + 6y = 8

>>> import numpy 
>>> a=[[3,4],[5,6]] 
>>> b=[7,8] 
>>> numpy.linalg.lstsq(a,b) 
(array([-5. , 5.5]), array([], dtype=float64), 2, array([ 9.27110906, 0.21572392])) 
Các vấn đề liên quan