Professional Documents
Culture Documents
np.array(object, dtype=None, ndmin=0
Trong đó:
Object: một mảng 2 chiều, ta có thể sử dụng một list của list.
dtype: kiểu dữ liệu của các phần tử trong ma trận
ndmin: số chiều tối thiểu khi return object, nên đặt = 2 để tiện cho việc indexing
ma trận cho Machine Learning.
Ta khởi tạo vector như ma trận nhưng chỉ có 1 cột (mảng 1 chiều). Ta có thể
xem đây là 1 List.
Trong đó, U,V là các ma trận trực giao, Σ là ma trận đường chéo không vuông với
các phần tử trên đường chéo σ1 ≥ σ2≥⋯≥σr ≥ 0 = 0=⋯=0 σ1 ≥ σ2≥ ⋯ ≥ σr≥ 0=
0=⋯=0 và r là rank của ma trận A. Lưu ý rằng mặc dù Σ không phải ma trận vuông,
ta vẫn có thể coi nó là ma trận chéo nếu các thành phần khác không của nó chỉ
nằm ở vị trí đường chéo, tức tại các vị trí có chỉ số hàng và chỉ số cột là như nhau.
Số lượng các phần tử khác 0 trong Σ chính là rank của ma trận A.
Ma Trận A được Phân tích thành hai ma trận Q và R ( Q và R được gọi là hai Ma
Trận Trực Ảo)
B = Q.dot(R)
Theo phân tích Cholesky, một ma trận vuông X có thể được biểu diễn dưới
dạng tích của ma trận tam giác dưới L và chuyển vị của nó tức LT:
X = L*LT
Cách để tìm ma trận tam giác dưới L (công thức tham khảo)
15.5 Tìm trị riêng và vector riêng
# eigendecomposition
from numpy import array
from numpy.linalg import eig
# define matrix
A = array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
print(A)
# factorize
values, vectors = eig(A)
print(values)
print(vectors)
[ 5 2]
A= 9 2
5 2 λ 0 5−λ 2
|[ ] [ ]| |[
det|A−λI| = det 9 2 − 0 λ = det 9 2−λ ]|
= (5−λ)(2−λ)−18 =(λ−8)(λ+1)=0
λ=8
λ = -1
giá trị riêng là [ 8. -1.]
khi đã có giá trị riêng rồi ta đi tìm vector riêng:
với λ = 8
5 2 x x 5 x+2 y x
[ ][ ] [ ] [
Av = 9 2 y = 8 y => 9 x+2 y =¿8 y ] []
X=2,y=3
[ 2]
V1 = 3