Hướng dẫn find eigenvalues of the matrix python - tìm các giá trị riêng của python ma trận

linalg.eig(a)[source]#eig(a)[source]#

Tính toán giá trị riêng và các hàm riêng bên phải của một mảng vuông.

Tham số (Mạnh, m, m) mảnga(…, M, M) array

Ma trận mà các giá trị riêng và các hàm riêng phải sẽ được tính toán

Returnsw (…, m) mảngw(…, M) array

Các giá trị riêng, mỗi lần lặp lại theo sự đa dạng của nó. Các giá trị riêng không nhất thiết phải được đặt hàng. Mảng kết quả sẽ thuộc loại phức tạp, trừ khi phần tưởng tượng bằng không trong trường hợp nó sẽ được đúc thành một loại thực. Khi A có thật, các giá trị riêng kết quả sẽ là thật (0 phần tưởng tượng) hoặc xảy ra trong các cặp liên hợp

V (…, m, m) mảng(…, M, M) array

Các eigenvector được chuẩn hóa (đơn vị độ dài), sao cho cột v[:,i] là eigenvector tương ứng với eigenvalue w[i].

Risislinalgerror

Nếu tính toán eigenvalue không hội tụ.

Xem thêm

eigvals

Giá trị riêng của một mảng không đối xứng.

eigh

Eigenvalues ​​và eigenvector của một mảng Hermitian đối xứng thực sự hoặc phức tạp (đối xứng liên hợp).

eigvalsh

Eigenvalues ​​của một mảng Hermitian đối xứng thực sự hoặc phức tạp (đối xứng liên hợp).

>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([1., 2., 3.])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
0

Chức năng tương tự trong SCIPY cũng giải quyết vấn đề eigenvalue tổng quát.

>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([1., 2., 3.])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
1

Lựa chọn tốt nhất cho các ma trận bình thường đơn nhất và không phải là người khác.

Ghi chú

Mới trong phiên bản 1.8.0.

Các quy tắc phát sóng áp dụng, xem tài liệu

>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([1., 2., 3.])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
2 để biết chi tiết.

Điều này được thực hiện bằng cách sử dụng các thói quen Lapack

>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([1., 2., 3.])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
3 để tính toán giá trị riêng và hàm riêng của các mảng vuông chung.

Số W là một giá trị riêng của A Nếu có tồn tại một vectơ v sao cho

>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([1., 2., 3.])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
4. Do đó, các mảng a, w và v thỏa mãn các phương trình
>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([1., 2., 3.])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
5 cho \ (i \ in \ {0, ..., m-1 \} \).\(i \in \{0,...,M-1\}\).

Mảng v của các hàm riêng có thể không có thứ hạng tối đa, nghĩa là, một số cột có thể phụ thuộc tuyến tính, mặc dù lỗi vòng tròn có thể làm che khuất thực tế đó. Nếu các giá trị riêng đều khác nhau, thì về mặt lý thuyết, các hàm riêng được độc lập tuyến tính và có thể được chéo hóa bằng cách chuyển đổi độ tương tự bằng cách sử dụng V, i.e,

>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([1., 2., 3.])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
6 là đường chéo.

Đối với các ma trận bình thường không phải là người, chức năng SCIPY

>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([1., 2., 3.])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
1 được ưa thích vì ma trận V được đảm bảo là đơn nhất, điều này không phải là trường hợp khi sử dụng
>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([1., 2., 3.])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
8. Hệ số Schur tạo ra một ma trận hình tam giác trên chứ không phải là ma trận đường chéo, nhưng đối với các ma trận bình thường, chỉ cần đường chéo của ma trận hình tam giác trên, phần còn lại là lỗi Roundoff.

Cuối cùng, người ta nhấn mạnh rằng V bao gồm các hàm riêng bên phải (như ở bên phải) của a. Một vector y thỏa mãn

>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([1., 2., 3.])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
9 cho một số Z được gọi là một hàm riêng bên trái của A, và nói chung, các hàm riêng bên trái và phải của ma trận không nhất thiết phải chuyển (có lẽ là liên hợp) của nhau.

Người giới thiệu

G. Strang, Đại số tuyến tính và các ứng dụng của nó, tái bản lần 2, Orlando, FL, Academy Press, Inc., 1980, khác nhau pp.

Ví dụ

>>> from numpy import linalg as LA

(Gần như) ví dụ tầm thường với các giá trị điện tử và vectơ điện tử thực sự.

>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([1., 2., 3.])
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

Ma trận thực sự sở hữu các giá trị điện tử và vectơ điện tử phức tạp; Lưu ý rằng các giá trị điện tử là những liên hợp phức tạp của nhau.

>>> w, v = LA.eig(np.array([[1, -1], [1, 1]]))
>>> w; v
array([1.+1.j, 1.-1.j])
array([[0.70710678+0.j        , 0.70710678-0.j        ],
       [0.        -0.70710678j, 0.        +0.70710678j]])

Ma trận có giá trị phức tạp với các giá trị điện tử thực (nhưng các vectơ điện tử có giá trị phức tạp); Lưu ý rằng

>>> w, v = LA.eig(np.array([[1, -1], [1, 1]]))
>>> w; v
array([1.+1.j, 1.-1.j])
array([[0.70710678+0.j        , 0.70710678-0.j        ],
       [0.        -0.70710678j, 0.        +0.70710678j]])
0, tức là, A là Hermiti.

>>> a = np.array([[1, 1j], [-1j, 1]])
>>> w, v = LA.eig(a)
>>> w; v
array([2.+0.j, 0.+0.j])
array([[ 0.        +0.70710678j,  0.70710678+0.j        ], # may vary
       [ 0.70710678+0.j        , -0.        +0.70710678j]])

Hãy cẩn thận về lỗi làm tròn!

>>> a = np.array([[1 + 1e-9, 0], [0, 1 - 1e-9]])
>>> # Theor. e-values are 1 +/- 1e-9
>>> w, v = LA.eig(a)
>>> w; v
array([1., 1.])
array([[1., 0.],
       [0., 1.]])

Làm thế nào để bạn tìm thấy giá trị riêng của một ma trận trong Python?

Eig () để tìm các giá trị riêng và eigenvector cho mảng vuông đã cho ...
Cú pháp: numpy.linalg.eig ().
Tham số: một mảng vuông ..
Trả về: Nó sẽ trả về hai giá trị đầu tiên là eigenvalues và thứ hai là eigenvector ..

Làm thế nào để bạn tìm thấy các giá trị riêng của một ma trận bằng cách sử dụng numpy?

Đây là các bước:..
Tạo một mảng numpy mẫu đại diện cho một tập hợp các biến / tính năng độc lập giả ..
Quy mô các tính năng ..
Tính ma trận hiệp phương sai N x N.Lưu ý rằng chuyển đổi của ma trận được thực hiện.Người ta có thể sử dụng NP.....
Tính toán giá trị riêng và hàm riêng bằng cách sử dụng linalg numpy.Phương pháp EIG ..

Làm thế nào để bạn tìm thấy các giá trị riêng của một ma trận?

Làm thế nào để bạn xác định giá trị riêng của ma trận hình vuông A?Chúng tôi sử dụng phương trình DET (A - I) = 0 và giải cho.Tính tất cả các giá trị có thể của λ, là giá trị riêng của ma trận A.det(A – λI) = 0 and solve for λ. Calculate all the possible values of λ, which are the required eigenvalues of matrix A.

Chức năng để có được cả eigenvalues và eigenvector của một ma trận trong Python là gì?

Tính toán giá trị riêng và các hàm riêng bên phải của một mảng vuông.