官术网_书友最值得收藏!

Linear algebra with NumPy

Linear algebra is a branch of mathematics concerned with vector spaces and the mappings between those spaces. NumPy has a package called linalg that supports powerful linear algebra functions. We can use these functions to find eigenvalues and eigenvectors or to perform singular value decomposition:

>>> A = np.array([[1, 4, 6],
 [5, 2, 2],
 [-1, 6, 8]])
>>> w, v = np.linalg.eig(A)
>>> w # eigenvalues
array([-0.111 + 1.5756j, -0.111 – 1.5756j, 11.222+0.j])
>>> v # eigenvector
array([[-0.0981 + 0.2726j, -0.0981 – 0.2726j, 0.5764+0.j],
 [0.7683+0.j, 0.7683-0.j, 0.4591+0.j],
 [-0.5656 – 0.0762j, -0.5656 + 0.00763j, 0.6759+0.j]])

The function is implemented using the geev Lapack routines that compute the eigenvalues and eigenvectors of general square matrices.

Another common problem is solving linear systems such as Ax = b with A as a matrix and x and b as vectors. The problem can be solved easily using the numpy.linalg.solve function:

>>> A = np.array([[1, 4, 6], [5, 2, 2], [-1, 6, 8]])
>>> b = np.array([[1], [2], [3]])
>>> x = np.linalg.solve(A, b)
>>> x
array([[-1.77635e-16], [2.5], [-1.5]])

The following table will summarise some commonly used functions in the numpy.linalg package:

主站蜘蛛池模板: 来宾市| 乌兰县| 贵州省| 青川县| 洛川县| 达州市| 鄄城县| 静安区| 永川市| 安顺市| 遂平县| 无锡市| 佛坪县| 鄱阳县| 綦江县| 莎车县| 贵溪市| 吴旗县| 灵丘县| 南木林县| 石首市| 连州市| 加查县| 洪洞县| 嘉祥县| 廉江市| 故城县| 靖安县| 叶城县| 三门县| 莱州市| 杭州市| 樟树市| 新沂市| 泽州县| 澜沧| 盈江县| 色达县| 永兴县| 将乐县| 库伦旗|