Các loại ma trận¶
Các cấu trúc ma trận đặc biệt mở ra những lối tắt tính toán và các đảm bảo toán học. File này bao quát ma trận đơn vị, đường chéo, đối xứng, tam giác, trực giao, xác định dương, thưa, và ngẫu nhiên — những loại xuất hiện trong ước lượng hiệp phương sai, thuật toán đồ thị, chính quy hóa, và xích Markov.
-
Không phải mọi ma trận đều giống nhau. Các cấu trúc khác nhau mang đến cho ma trận những tính chất đặc biệt khiến việc tính toán nhanh hơn, dễ lập luận hơn, hoặc cả hai. Dưới đây là các loại bạn sẽ gặp nhiều nhất.
-
Một ma trận vuông có cùng số hàng và số cột (\(n \times n\)). Hầu hết các tính chất thú vị (định thức, trị riêng, nghịch đảo) chỉ áp dụng cho ma trận vuông.
-
Ma trận đơn vị \(I\) là một ma trận vuông với số 1 trên đường chéo và 0 ở mọi nơi khác. Nó là phép biến đổi "không làm gì": \(AI = IA = A\) với mọi ma trận \(A\) tương thích.
-
Ma trận không \(O\) có tất cả các phần tử bằng không. Nó ánh xạ mọi vector thành vector không, phá hủy tất cả thông tin.
-
Ma trận đường chéo là ma trận có tất cả đều bằng không ngoại trừ trên đường chéo chính. Nhân một vector với ma trận đường chéo chỉ đơn giản co giãn từng thành phần một cách độc lập, khiến nó rất hiệu quả.
- Ma trận đối xứng bằng với chuyển vị của chính nó: \(A = A^T\), nghĩa là \(A_{ij} = A_{ji}\). Ma trận đối xứng có tính chất đặc biệt là các vector riêng của chúng luôn vuông góc với nhau. Ma trận hiệp phương sai luôn đối xứng.
- Ma trận tam giác có tất cả các phần tử bằng không ở một bên của đường chéo. Tam giác dưới có các phần tử không ở phía trên, tam giác trên có các phần tử không ở phía dưới. Chúng rất cần thiết để giải các hệ phương trình một cách hiệu quả thông qua phép thế xuôi hoặc thế ngược.
-
Định thức của ma trận tam giác chỉ đơn giản là tích các phần tử trên đường chéo.
-
Ma trận trực giao có tính chất chuyển vị bằng với nghịch đảo: \(Q^TQ = QQ^T = I\).
-
Điều này có nghĩa là bạn có thể "hoàn tác" phép biến đổi chỉ bằng cách chuyển vị, một thao tác tính toán rẻ. Các cột của nó trực chuẩn (độ dài đơn vị và vuông góc với nhau).
-
Ma trận thưa có hầu hết các phần tử bằng không, trong khi ma trận dày đặc có hầu hết các phần tử khác không.
-
Trong thực tế, nhiều ma trận thực tế cực kỳ thưa.
-
Một mạng xã hội với một triệu người dùng có thể được biểu diễn dưới dạng ma trận \(10^6 \times 10^6\), nhưng mỗi người chỉ kết nối với một vài người khác, nên gần như tất cả các phần tử đều bằng không.
-
Ma trận hoán vị nhận được bằng cách sắp xếp lại các hàng của ma trận đơn vị. Nhân với nó sẽ xáo trộn các phần tử của một vector. Mỗi hàng và mỗi cột có đúng một số 1 và phần còn lại là 0.
-
Ví dụ, ma trận dưới đây di chuyển phần tử 3 đến vị trí 1, phần tử 1 đến vị trí 2, và phần tử 2 đến vị trí 3:
- Ma trận Toeplitz có cùng giá trị dọc theo mỗi đường chéo (trên trái xuống dưới phải). Hãy chú ý mỗi đường chéo là hằng số:
-
Cấu trúc này xuất hiện trong xử lý tín hiệu và phép tích chập, bởi vì trượt một bộ lọc cố định trên một tín hiệu tương đương với việc nhân với một ma trận Toeplitz.
-
Ma trận xoay vòng (circulant) là một ma trận Toeplitz đặc biệt với mỗi hàng là một dịch vòng của hàng phía trên. Khi một hàng chạm đến cuối, nó vòng quanh:
-
Ma trận xoay vòng có liên hệ chặt chẽ với biến đổi Fourier rời rạc (DFT) và là trung tâm của cách phép tích chập vòng hoạt động.
-
Ma trận Hermite tương đương với ma trận đối xứng trên trường phức: \(A = A^\ast\) (với \(A^\ast\) là chuyển vị liên hợp).
-
Với ma trận thực, Hermite và đối xứng là như nhau. Bạn sẽ gặp chúng trong tính toán lượng tử và xử lý tín hiệu.
-
Ma trận unita tương đương với ma trận trực giao trên trường phức: \(U^\ast U = UU^\ast = I\). Cũng như ma trận trực giao bảo toàn độ dài trong không gian thực, ma trận unita bảo toàn độ dài trong không gian phức.
-
Ma trận lũy đẳng thỏa mãn \(A^2 = A\). Áp dụng phép biến đổi hai lần cũng như áp dụng một lần, khiến nó trở thành một phép chiếu. Một khi bạn đã chiếu, chiếu lại không thay đổi gì.
-
Ma trận lũy linh thỏa mãn \(A^k = O\) (ma trận không) với lũy thừa \(k\) nào đó. Áp dụng phép biến đổi đủ lần và mọi thứ sụp đổ thành không. Ví dụ:
- Ma trận Boolean (hay ma trận nhị phân) chỉ chứa các số 0 và 1. Nó biểu diễn các mối quan hệ có/không. Ví dụ, trong một đồ thị với 3 nút, ma trận kề ghi lại các nút được kết nối:
-
Ở đây, nút 1 kết nối đến nút 2 và 3, nhưng nút 2 và 3 không kết nối với nhau.
-
Ma trận Vandermonde được xây dựng từ các lũy thừa liên tiếp của một tập hợp các giá trị. Với các giá trị \(x_1, x_2, x_3\):
-
Cấu trúc này xuất hiện trong nội suy đa thức: tìm đa thức duy nhất đi qua một tập hợp các điểm cho trước.
-
Ma trận Hessenberg là "gần như" tam giác, với các phần tử bằng không bên dưới đường chéo thứ nhất:
- Nó là một dạng trung gian hữu ích để tính toán các trị riêng một cách hiệu quả. Đưa ma trận về dạng Hessenberg trước tiên giúp các thuật toán lặp hội tụ nhanh hơn.
Bài tập lập trình (dùng CoLab hoặc notebook)¶
-
Tạo một ma trận trực giao (ma trận xoay), nhân nó với chuyển vị của nó, và xác minh bạn nhận được ma trận đơn vị. Thử các góc khác nhau.
-
Tạo một ma trận đối xứng và xác minh nó bằng với chuyển vị của nó. Sau đó tính các trị riêng và kiểm tra các vector riêng có vuông góc với nhau không.