AIToanHoc.comAI Toán Học
Đại số tuyến tính

Ma trận nghịch đảo: khi nào tồn tại, cách tìm và vì sao máy tính ít khi tính nó

Ma trận nghịch đảo hoàn tác một phép biến đổi. Công thức 2×2, cách Gauss–Jordan, ví dụ giải hệ, ma trận gần suy biến và vì sao phần mềm ít khi nghịch đảo.

Wide shot of an engineering classroom in Hai Phong, rows of empty desks and one student seated near a window working with pencil on graph paper, afternoon light

Ma trận nghịch đảo của một ma trận vuông A là ma trận mà khi nhân với A, theo cả hai thứ tự, cho ra ma trận đơn vị. Nếu A là một phép biến đổi, nghịch đảo của nó là phép hoàn tác: xoay 30 độ thì nghịch đảo là xoay ngược 30 độ; kéo giãn gấp đôi thì nghịch đảo là thu nhỏ một nửa. Nghịch đảo tồn tại khi và chỉ khi định thức của A khác 0.

Bài này đi qua điều kiện tồn tại, công thức cho ma trận 2×2, cách tìm nghịch đảo bằng Gauss–Jordan cho ma trận lớn hơn, và một điều giáo trình ít nhấn mạnh: trong tính toán thực tế, phần mềm hầu như không tính nghịch đảo để giải hệ phương trình.

Khi nào một ma trận có nghịch đảo

Một phép biến đổi hoàn tác được khi nó không làm mất thông tin: hai vector khác nhau phải đi tới hai kết quả khác nhau, và mọi vector đích đều phải được đi tới. Với ma trận vuông, hai điều này tương đương nhau và tương đương với một loạt mệnh đề khác mà giáo trình thường gom thành một định lý dài.

Những cách phát biểu hay dùng nhất: định thức khác 0; các cột độc lập tuyến tính; hạng bằng n; hệ A nhân x bằng 0 chỉ có nghiệm x bằng 0; hệ A nhân x bằng b có nghiệm duy nhất với mọi b; 0 không phải trị riêng. Kiểm được một điều là biết tất cả. Khi làm bài, hãy chọn cách kiểm nhanh nhất với ma trận đang có: ma trận 2×2 thì tính định thức, ma trận lớn thì khử Gauss.

Một cách tự kiểm hiểu bài: lấy ba ma trận 2×2 quen thuộc là phép xoay 90 độ, phép kéo giãn trục hoành gấp 3 lần và phép chiếu vuông góc xuống trục hoành. Hai phép đầu hoàn tác được, nghịch đảo lần lượt là xoay ngược 90 độ và thu trục hoành còn một phần ba. Phép chiếu thì không: mọi điểm trên cùng một đường thẳng đứng rơi xuống cùng một chỗ, nên không biết đường về. Định thức của ba ma trận là 1, 3 và 0, khớp đúng với nhận xét đó.

Ma trận không vuông thì không có nghịch đảo theo nghĩa này. Một ma trận 3×2 đưa không gian hai chiều vào ba chiều, không thể phủ hết ba chiều; một ma trận 2×3 ép ba chiều xuống hai, chắc chắn làm mất thông tin. Với chúng, có khái niệm nghịch đảo một phía và giả nghịch đảo, dùng nhiều trong bình phương tối thiểu.

Công thức nghịch đảo 2×2 và một ví dụ kiểm được

Công thức. Ma trận gồm hàng (a, b) và (c, d), với ad − bc khác 0, có nghịch đảo bằng 1 chia (ad − bc) nhân với ma trận gồm hàng (d, −b) và (−c, a). Cách nhớ: đổi chỗ hai số trên đường chéo chính, đổi dấu hai số trên đường chéo phụ, rồi chia cho định thức.

Ví dụ. A gồm hàng (2, 1) và (5, 3). Định thức 2·3 − 1·5 = 1. Nghịch đảo gồm hàng (3, −1) và (−5, 2).

Kiểm. Nhân A với nghịch đảo: hàng một là (2·3 + 1·(−5), 2·(−1) + 1·2) = (1, 0); hàng hai là (5·3 + 3·(−5), 5·(−1) + 3·2) = (0, 1). Đúng là ma trận đơn vị.

Dùng để giải hệ. Hệ 2x + y = 4 và 5x + 3y = 11 viết thành A nhân (x, y) bằng (4, 11). Nhân nghịch đảo vào: x = 3·4 − 1·11 = 1, y = −5·4 + 2·11 = 2. Thay lại: 2 + 2 = 4 và 5 + 6 = 11.

Lưu ý. Ví dụ này được chọn có định thức bằng 1 nên nghịch đảo toàn số nguyên. Trong bài tập thật, nghịch đảo thường có phân số; giữ nguyên phân số, đừng đổi ra số thập phân giữa chừng.

Tìm nghịch đảo ma trận lớn hơn bằng Gauss–Jordan

Với ma trận 3×3 trở lên, cách tính tay ổn định nhất là Gauss–Jordan trên ma trận ghép. Quy trình như sau:

  1. Viết ma trận A bên trái và ma trận đơn vị cùng cỡ bên phải, ngăn bằng một vạch đứng.
  2. Dùng ba phép biến đổi hàng như khi giải hệ để đưa nửa trái về ma trận đơn vị: khử dưới đường chéo trước, rồi chia hàng cho phần tử chốt, rồi khử phía trên đường chéo.
  3. Mọi phép biến đổi phải áp lên toàn bộ hàng, cả nửa trái lẫn nửa phải.
  4. Nếu giữa chừng xuất hiện một hàng toàn 0 ở nửa trái, dừng lại: ma trận không khả nghịch.
  5. Khi nửa trái đã là ma trận đơn vị, nửa phải chính là nghịch đảo của A.
  6. Kiểm bằng cách nhân A với kết quả, ít nhất là một hàng và một cột, để chắc ra 1 trên đường chéo và 0 ở chỗ khác.

Lý do phương pháp đúng: mỗi phép biến đổi hàng tương đương nhân bên trái một ma trận sơ cấp. Chuỗi phép biến đổi đưa A về ma trận đơn vị chính là nghịch đảo của A, và vì cùng chuỗi đó được áp lên ma trận đơn vị ở nửa phải, nửa phải ghi lại đúng tích ấy. Cách dùng ma trận phụ hợp với các phần bù đại số cũng cho kết quả đúng nhưng tốn công hơn nhiều từ cỡ 3×3 trở lên.

Ma trận gần suy biến: khi nghịch đảo tồn tại mà vẫn nguy hiểm

Ví dụ: hệ x + y = 2 và x + 1,0001y = 2,0001 có nghiệm x = 1, y = 1. Định thức bằng 1,0001 − 1 = 0,0001, khác 0, nên nghịch đảo tồn tại. Bây giờ chỉ đổi vế phải thứ hai thêm một phần mười nghìn:

Vế phảiNghiệmNhận xét
(2; 2,0001)x = 1, y = 1Nghiệm gốc
(2; 2,0002)x = 0, y = 2Vế phải đổi 0,0001, nghiệm đổi tới 1 đơn vị
(2; 2)x = 2, y = 0Nghiệm nhảy sang phía ngược lại

Kiểm dòng thứ hai: trừ hai phương trình được 0,0001y = 0,0002, nên y = 2 và x = 0. Hai đường thẳng gần như song song nên một xê dịch rất nhỏ của dữ liệu làm giao điểm chạy rất xa. Mức nhạy này được đo bằng số điều kiện của ma trận; số điều kiện lớn nghĩa là kết quả tính bằng máy có thể mất nhiều chữ số chính xác, dù về lý thuyết nghịch đảo vẫn tồn tại.

Vì sao phần mềm ít khi tính nghịch đảo để giải hệ

Viết nghiệm dưới dạng x bằng A nghịch đảo nhân b rất gọn trên giấy, nên sinh viên dễ nghĩ máy tính cũng làm như vậy. Thực tế, các thư viện tính toán giải hệ bằng phân tích ma trận, phổ biến nhất là phân tích LU, tức ghi lại các bước khử Gauss thành tích một ma trận tam giác dưới và một ma trận tam giác trên, rồi giải hai hệ tam giác.

Có hai lý do. Thứ nhất, tính nghịch đảo đầy đủ tốn nhiều phép tính hơn chỉ giải hệ, và với ma trận thưa như trong mô phỏng kỹ thuật, nghịch đảo thường đặc kín số dù A rất thưa, làm tốn bộ nhớ. Thứ hai, đi qua nghịch đảo thường kém chính xác hơn về số học, nhất là với ma trận có số điều kiện lớn như ví dụ ở trên.

Bài học thực hành: trong lý thuyết và bài tập, nghịch đảo là công cụ tư duy rất tốt; trong code, khi cần giải A nhân x bằng b, hãy dùng hàm giải hệ của thư viện thay vì nghịch đảo rồi nhân. Nếu bạn hỏi chatbot cách giải hệ trong một ngôn ngữ lập trình, chú ý xem nó có gợi ý nghịch đảo không; nếu có, hỏi tiếp "có hàm giải hệ trực tiếp nào ổn định hơn không" và tự đọc tài liệu chính thức của thư viện để kiểm phiên bản hiện hành.

Một ứng dụng dễ hình dung: mật mã Hill và phép hoàn tác

Mật mã Hill, do Lester Hill công bố năm 1929, là ví dụ lớp học kinh điển cho vai trò của nghịch đảo. Mỗi chữ cái đổi thành một số từ 0 tới 25, ghép hai chữ thành một vector, rồi nhân với một ma trận khoá và lấy phần dư khi chia cho 26. Người nhận giải mã bằng cách nhân với nghịch đảo của ma trận khoá, cũng theo phần dư cho 26. Đây là mật mã lịch sử, rất dễ phá, chỉ dùng để học, không dùng để bảo vệ thông tin thật.

Ví dụ với khoá là ma trận A ở trên, hàng (2, 1) và (5, 3). Vector (7, 4) được mã hoá thành (2·7 + 4, 5·7 + 3·4) = (18, 47); lấy phần dư cho 26 được (18, 21). Giải mã bằng nghịch đảo hàng (3, −1) và (−5, 2): (3·18 − 21, −5·18 + 2·21) = (33, −48). Lấy phần dư cho 26: 33 thành 7, còn −48 cộng 52 thành 4. Ta lấy lại đúng (7, 4).

Ví dụ này chạy trơn vì định thức của A bằng 1. Khi tính theo phần dư cho 26, ma trận khoá chỉ đảo ngược được nếu định thức của nó không có ước chung với 26, tức là không chia hết cho 2 và cho 13. Đây là một minh hoạ hay cho ý: "có nghịch đảo hay không" phụ thuộc vào cả hệ số mà bạn đang làm việc trên đó, không chỉ vào bản thân các con số trong ma trận.

Các tính chất và lỗi hay gặp

Nghịch đảo có vài tính chất dùng thường xuyên trong chứng minh và biến đổi; nhầm chúng là lỗi phổ biến.

  • Nghịch đảo của tích đảo thứ tự: nghịch đảo của AB bằng nghịch đảo của B nhân nghịch đảo của A. Muốn tháo giày và tất thì tháo giày trước.
  • Nghịch đảo của chuyển vị bằng chuyển vị của nghịch đảo.
  • Không có nghịch đảo của tổng theo công thức gọn: nghịch đảo của A + B nói chung không bằng tổng hai nghịch đảo.
  • Không "chia ma trận". Viết B chia A là mơ hồ vì không rõ nhân nghịch đảo bên trái hay bên phải, mà hai cách cho kết quả khác nhau.
  • Ma trận trực giao có nghịch đảo bằng chuyển vị. Phép xoay là ví dụ quen nhất; tính chất này giúp tránh hẳn việc nghịch đảo trong đồ hoạ.
  • Quên kiểm định thức trước khi áp công thức 2×2. Định thức bằng 0 thì công thức chia cho 0 và nghịch đảo không tồn tại.

Câu hỏi thường gặp

Ma trận có thể có hai nghịch đảo khác nhau không?

Không. Nếu B và C đều là nghịch đảo của A thì B bằng B nhân (A nhân C) bằng (B nhân A) nhân C bằng C, nhờ tính kết hợp của phép nhân ma trận. Vì vậy nói "nghịch đảo của A" là đúng, không cần nói "một nghịch đảo".

Chỉ cần AB bằng ma trận đơn vị là đủ chưa?

Với ma trận vuông thì đủ: một định lý của đại số tuyến tính bảo đảm khi AB bằng ma trận đơn vị thì BA cũng bằng ma trận đơn vị. Với ma trận chữ nhật thì không; có thể có nghịch đảo một phía mà phía kia không tồn tại, vì kích thước hai tích khác nhau.

Giả nghịch đảo là gì?

Giả nghịch đảo Moore–Penrose mở rộng khái niệm nghịch đảo cho mọi ma trận, kể cả ma trận chữ nhật và suy biến. Nó cho nghiệm bình phương tối thiểu có độ dài nhỏ nhất khi hệ vô nghiệm hoặc vô số nghiệm, và thường được tính qua phân tích giá trị kỳ dị trong các thư viện.

Có nên dùng chatbot để tìm nghịch đảo ma trận 3×3 không?

Nên dùng máy tính đại số hoặc thư viện để lấy con số, và tự làm Gauss–Jordan để luyện. Nếu vẫn hỏi chatbot, hãy nhân kết quả với ma trận gốc để kiểm; nghịch đảo có phân số là chỗ chatbot dễ sai một dấu hoặc một mẫu số.

Vì sao ma trận khả nghịch còn gọi là không suy biến?

Suy biến ám chỉ việc phép biến đổi làm thoái hoá không gian, ép nó xuống ít chiều hơn, như mặt phẳng bị ép thành đường thẳng. Ma trận không suy biến giữ nguyên số chiều nên hoàn tác được. Hai cách gọi dùng song song trong giáo trình tiếng Việt và đều đúng.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.

hoặc
Gọi ngay 0926 138 138