Chuyển đến nội dung chính

Khai triển đồng yếu (Khai triển Laplace): Hướng dẫn hữu ích

Hướng dẫn từng bước về khai triển đồng yếu (khai triển Laplace), bao quát các định nghĩa cốt lõi, ví dụ minh họa, tính chất chính, và mối liên hệ với phép nghịch đảo ma trận thông qua ma trận phụ hợp.
Đã cập nhật 4 thg 5, 2026  · 12 phút đọc

Tính định thức của một ma trận 3×3 - hay lớn hơn - không đơn giản như trường hợp 2×2.

Bạn không thể chỉ nhân chéo hai đường chéo. Khi ma trận lớn dần, phép tính trở nên rối rắm hơn. Không có một phương pháp có cấu trúc, bạn rất dễ bị lạc hướng. Đó chính xác là loại vấn đề mà khai triển đồng yếu - còn gọi là khai triển Laplace - được thiết kế để giải quyết.

Khai triển đồng yếu là một phương pháp tính định thức của mọi ma trận vuông bằng cách khai triển theo một hàng hoặc cột đã chọn. Nó chia bài toán một cách đệ quy thành các định thức nhỏ hơn mà bạn đã biết cách giải.

Trong bài viết này, tôi sẽ trình bày định nghĩa của khai triển đồng yếu, công thức đằng sau nó, các ví dụ từng bước cho ma trận 2×2 và 3×3, các tính chất chính và ứng dụng thực tế.

Khai triển đồng yếu là gì?

Khai triển đồng yếu là một phương pháp đệ quy để tính định thức của mọi ma trận vuông.

Theo nghĩa này, "đệ quy" có nghĩa là thay vì tính định thức của một ma trận lớn cùng lúc, bạn tách nó thành các định thức nhỏ hơn. Những định thức nhỏ hơn lại tiếp tục tách thành các định thức còn nhỏ hơn nữa. Bạn tiếp tục cho đến khi chỉ còn lại các ma trận 2×2, vốn rất đơn giản để giải.

Phương pháp này áp dụng cho mọi ma trận vuông - 2×2, 3×3, 4×4, và hơn nữa. Dù vậy, nó hữu ích nhất cho ma trận 3×3 trở lên, nơi bạn không thể chỉ nhân chéo hai đường chéo.

Ý tưởng cốt lõi rất đơn giản. Bạn chọn một hàng hoặc cột trong ma trận và khai triển theo nó. Mỗi phần tử trong hàng hoặc cột đó đóng góp một bài toán con nhỏ hơn. Giải từng bài toán con, kết hợp các kết quả lại, và bạn có định thức của mình. Vậy thôi.

Phần phụ và đồng yếu: Các định nghĩa then chốt

Trước khi bạn có thể khai triển một định thức, bạn cần hiểu hai khối xây dựng: phần phụ và đồng yếu.

Phần phụ

Phần phụ M_ij là định thức của ma trận nhỏ hơn nhận được sau khi xóa hàng i và cột j từ ma trận gốc.

Giả sử bạn có ma trận 3×3 A và bạn muốn phần phụ M_12. Hãy xóa hàng 1 và cột 2. Phần còn lại là một ma trận 2×2. Tính định thức của nó - đó là phần phụ của bạn.

Đồng yếu

Đồng yếu C_ij tiến thêm một bước từ phần phụ. Nó áp dụng một hệ số dấu dựa trên vị trí (i, j):

The cofactor

Đồng yếu

Hạng tử (-1)^(i+j) hoặc giữ nguyên dấu của phần phụ hoặc đảo dấu của nó, tùy thuộc vào vị trí trong ma trận.

Khi i + j là số chẵn, (-1)^(i+j) = +1, nên đồng yếu bằng phần phụ. Khi i + j là số lẻ, (-1)^(i+j) = -1, nên đồng yếu đảo dấu của phần phụ.

Mẫu bàn cờ

Sự luân phiên dấu này tạo thành một mẫu bàn cờ trên toàn ma trận:

The checkerboard pattern

Mẫu bàn cờ

Góc trên bên trái luôn bắt đầu với +. Từ đó, dấu luân phiên theo mọi hướng. Mẫu này cho bạn biết ngay liệu một đồng yếu sẽ cộng hay trừ vào định thức của bạn.

Công thức khai triển đồng yếu

Đây là công thức bạn đang chờ đợi.

Khai triển theo hàng i:

Expansion along row i

Khai triển theo hàng i

Khai triển theo cột j:

Expansion along column j

Khai triển theo cột j

Nói đơn giản, bạn nhân mỗi phần tử trong hàng hoặc cột đã chọn với đồng yếu của nó, rồi cộng tất cả lại.

Các hạng tử a_ij chỉ là các phần tử riêng lẻ của ma trận. Các hạng tử C_ij là các đồng yếu bạn tính cho từng vị trí. Nhân chúng với nhau, cộng các kết quả, và bạn có định thức.

Bạn chọn hàng hay cột nào không quan trọng. Khai triển theo hàng 1 cho cùng kết quả với khai triển theo hàng 3 hoặc cột 2. Định thức là một tính chất cố định của ma trận - đường khai triển chỉ là lựa chọn của bạn.

Tuy nhiên, lựa chọn đó ảnh hưởng đến khối lượng công việc. Một hàng hoặc cột có nhiều số 0 hơn đồng nghĩa với ít đồng yếu phải tính hơn. Nếu một hàng có hai số 0 và ba phần tử khác 0, bạn chỉ cần tính đồng yếu cho ba phần tử đó - các số 0 không đóng góp gì vào tổng. Luôn quét ma trận để tìm số 0 trước khi chọn hàng hoặc cột khai triển.

Từng bước: Khai triển đồng yếu hoạt động như thế nào

Khai triển đồng yếu luôn theo cùng một quy trình 3 bước.

Bước 1: Chọn một hàng hoặc cột. Quét ma trận và chọn hàng hoặc cột có nhiều số 0 nhất. Càng ít phần tử khác 0 thì càng ít đồng yếu phải tính.

Bước 2: Với mỗi phần tử khác 0 trong hàng hoặc cột đó:

  • Tính phần phụ M_ij - xóa hàng i và cột j, rồi lấy định thức của phần còn lại.

  • Áp dụng hệ số dấu (-1)^(i+j) dùng mẫu bàn cờ để thu được đồng yếu C_ij.

  • Nhân phần tử a_ij với đồng yếu tương ứng C_ij.

Bước 3: Cộng tất cả các tích.

The determinant

Định thức

Đó là định thức của bạn.

Nếu bất kỳ ma trận con nào lớn hơn 2×2, hãy lặp lại quy trình trên cho đến khi bạn còn lại các định thức 2×2 - khi đó bạn có thể giải trực tiếp bằng ad - bc.

Ví dụ 1: Khai triển đồng yếu của ma trận 2×2

Hãy liên kết mọi thứ với trường hợp đơn giản nhất có thể.

Xét ma trận 2×2 này:

Sample 2x2 matrix

Ma trận 2x2 mẫu

Khai triển theo hàng 1. Hai phần tử là a_11 = 3a_12 = 1.

  • Với a_11 = 3: xóa hàng 1 và cột 1. Phần còn lại chỉ là (4). Hệ số dấu là (-1)^(1+1) = +1. Vậy C_11 = +4.

  • Với a_12 = 1: xóa hàng 1 và cột 2. Phần còn lại chỉ là (2). Hệ số dấu là (-1)^(1+2) = -1. Vậy C_12 = -2.

Giờ hãy cộng các tích lại:

Determinant calculation

Tính định thức

Bạn sẽ thấy điều này khớp với công thức 2×2 chuẩn ad - bc = (3)(4) - (1)(2) = 10. Khai triển đồng yếu và mẹo nhân chéo là hai cách để ra cùng một đáp án.

Ví dụ 2: Khai triển đồng yếu của ma trận 3×3

Giờ hãy thực hiện trọn vẹn một ví dụ 3×3.

Xét ma trận này:

Sample 3x3 matrix

Ma trận 3x3 mẫu

Hàng 1 có một số 0 tại vị trí (1,2), nên hãy khai triển theo hàng 1. Số 0 đó có nghĩa là ta có thể bỏ qua hoàn toàn một đồng yếu.

Bước 1: Thiết lập khai triển

Expansion setup (1)

Thiết lập khai triển (1)

a_12 = 0, hạng tử ở giữa bị triệt tiêu:

Expansion setup (2)

Thiết lập khai triển (2)

Chúng ta chỉ cần tính hai đồng yếu. Đó là lợi ích của việc chọn đúng hàng.

Bước 2: Tính C_11

Giờ hãy xóa hàng 1 và cột 1. Phần còn lại như sau:

First computation

Phép tính thứ nhất

Dấu tại vị trí (1,1)(-1)^(1+1) = +1, nên C_11 = +2.

Bước 3: Tính C_13

Bước tiếp theo là xóa hàng 1 và cột 3. Phần còn lại là:

Second computation

Phép tính thứ hai

Dấu tại vị trí (1,3)(-1)^(1+3) = +1, nên C_13 = +11.

Bước 4: Cộng các tích

Determinant calculation

Tính định thức

Đó là định thức của bạn. Bằng cách chọn hàng có một số 0 ngay từ đầu, bạn đã biến một bài toán với ba đồng yếu thành chỉ còn hai. Luôn làm việc một cách thông minh.

Chọn hàng hoặc cột tối ưu

Hàng hoặc cột bạn chọn không thay đổi kết quả, nhưng có ảnh hưởng đến khối lượng tính toán.

Luôn tìm số 0 trước tiên. Mỗi số 0 trong hàng hoặc cột bạn chọn là một đồng yếu bạn không phải tính. Trong ví dụ 3×3 ở trên, một số 0 giúp giảm công việc từ ba đồng yếu xuống còn hai. Với các ma trận lớn hơn, một hàng có nhiều số 0 có thể giúp bạn tránh phải tính nhiều định thức con.

Dưới đây là vài điểm đáng nhớ

  • Một số 0 trong một hàng hoặc cột đồng nghĩa với ít hơn một đồng yếu cần tính
  • Hai số 0 nghĩa là ít hơn hai đồng yếu
  • Toàn số 0 trừ một phần tử nghĩa là bạn chỉ cần tính một đồng yếu duy nhất

Điều này càng quan trọng khi ma trận lớn dần. Một khai triển đồng yếu ngây thơ trên ma trận n×n chạy theo thời gian giai thừa - nghĩa là ma trận 4×4 đòi hỏi tính định thức của bốn ma trận 3×3, mỗi cái lại khai triển thành ba ma trận 2×2. Đó là 24 phép tính riêng lẻ trước khi bạn bắt đầu cộng. Với ma trận 5×5, con số là 120.

Với ma trận lớn, khai triển đồng yếu không phải công cụ phù hợp. Khử dòng (row reduction) và phân rã LU xử lý các ma trận lớn nhanh hơn nhiều. Khai triển đồng yếu phù hợp nhất với các trường hợp 2×2 và 3×3, hoặc trong công việc lý thuyết nơi bạn cần biểu diễn định thức một cách ký hiệu.

Với bất kỳ bài toán nào bạn giải bằng tay, hãy dành vài giây quét xem hàng hoặc cột nào có nhiều số 0 nhất trước khi bắt đầu. Đó là cách đơn giản nhất để giảm lỗi số học.

Khai triển đồng yếu và cấu trúc đệ quy

Khai triển đồng yếu có sẵn một cấu trúc đệ quy.

Để tìm định thức của ma trận n×n, bạn khai triển theo một hàng hoặc cột và tính các định thức của các ma trận (n-1)×(n-1) . Mỗi ma trận đó lại khai triển thành các ma trận (n-2)×(n-2). Bạn tiếp tục rút gọn cho đến khi chạm tới các ma trận 2×2, vốn được giải trực tiếp.

Tính chất đệ quy này là thứ định nghĩa định thức một cách đại số. Nó cho bạn biết định thức là gì ở mọi kích thước ma trận, không chỉ cách tính.

Tuy nhiên, đệ quy có chi phí.

Mỗi mức khai triển nhân lên số lượng bài toán con, và với các ma trận lớn, phép tính tăng rất nhanh. Đó là lý do các thư viện số không sử dụng khai triển đồng yếu ở tầng bên dưới. Khử dòng và các phương pháp phân rã mở rộng tốt hơn nhiều.

Với ma trận nhỏ và công việc lý thuyết, cấu trúc đệ quy là thứ bạn cần. Với thứ lớn hơn, tốt hơn là tìm một cách tiếp cận khác.

Liên hệ với ma trận phụ hợp

Các đồng yếu là khối xây dựng của phép nghịch đảo ma trận. Chúng không chỉ được dùng để giúp bạn tính định thức.

Nếu bạn tính đồng yếu C_ij cho mọi phần tử trong ma trận A, bạn thu được ma trận đồng yếu C. Lấy chuyển vị của nó - hoán đổi hàng và cột - và bạn có ma trận phụ hợp:

The adjugate matrix

Ma trận phụ hợp

Từ đó, công thức nghịch đảo ma trận theo sau ngay lập tức:

Matrix inverse

Nghịch đảo ma trận

Nói nôm na, điều này có nghĩa là bạn phải tính tất cả các đồng yếu, sắp xếp chúng thành một ma trận, chuyển vị nó, rồi chia cho định thức. Đó là nghịch đảo của bạn.

Có hai điều đáng nhớ ở đây:

  1. Điều này chỉ hoạt động khi det(A) ≠ 0 - định thức bằng 0 có nghĩa là ma trận không có nghịch đảo
  2. Công thức này là chính xác, nên hữu ích cho công việc lý thuyết và đại số ký hiệu. Với tính toán số trên ma trận lớn, các phương pháp khác nhanh hơn.

Nếu bạn thắc mắc về mối liên hệ với khai triển đồng yếu, chỉ cần nhớ rằng mỗi phần tử trong ma trận phụ hợp đến từ một đồng yếu bạn sẽ tính trong quá trình khai triển. Cùng một quy trình cho bạn định thức cũng cung cấp mọi thứ cần để nghịch đảo ma trận.

Các tính chất của khai triển đồng yếu

Khai triển đồng yếu đi kèm một vài tính chất đáng biết. Chúng sẽ giúp bạn khỏi phân vân và giúp bạn nhận ra lối tắt.

Dưới đây là bốn tính chất cần nhớ:

  • Khai triển theo bất kỳ hàng hoặc cột nào cũng cho cùng kết quả. Bạn có thể khai triển theo hàng 2 hoặc cột 3 - định thức không đổi. Hãy chọn hàng/cột có nhiều số 0 nhất
  • Định thức là tuyến tính theo từng hàng. Nếu bạn nhân một hàng với một hằng số k, định thức cũng nhân với k. Điều này xuất phát trực tiếp từ cách các đồng yếu nhân vào từng phần tử
  • Hoán đổi hai hàng làm đảo dấu của định thức. Hoán đổi một lần thì định thức đổi dấu. Hoán đổi hai lần thì trở lại ban đầu. Đây là lý do bạn cần theo dõi cẩn thận các phép biến đổi hàng
  • Nếu hai hàng phụ thuộc tuyến tính, định thức bằng không. Phụ thuộc tuyến tính nghĩa là một hàng là bội vô hướng của hàng khác - hoặc nói chung, các hàng không trải đầy không gian. Ma trận là suy biến, và không tồn tại nghịch đảo

Những tính chất này cho phép bạn đơn giản hóa ma trận trước khi khai triển - rút gọn hàng, phát hiện phụ thuộc, và tránh tính toán không cần thiết.

Lỗi thường gặp

Khai triển đồng yếu có vài điểm dễ sai lặp đi lặp lại. Dưới đây là những điều cần lưu ý.

  • Quên dấu (-1)^(i+j). Đây là lỗi phổ biến nhất. Bạn tính phần phụ đúng, nhân với phần tử, và ra đáp án sai vì bỏ qua hệ số dấu. Luôn kiểm tra mẫu bàn cờ trước khi ghi một đồng yếu
  • Xóa sai hàng hoặc cột khi tính phần phụ. Khi tính M_ij, bạn xóa hàng i và cột j - hàng và cột chứa phần tử bạn đang khai triển. Một sơ suất thường gặp là xóa nhầm, đặc biệt trong ma trận 3×3 nơi ma trận còn lại có thể trông giống nhau giữa các cách xóa khác nhau
  • Dừng quá sớm trong quá trình đệ quy. Khi ma trận con của bạn vẫn là 3×3 hoặc lớn hơn, bạn cần khai triển tiếp. Một số người xử lý phần phụ 3×3 như thể là 2×2 và áp dụng trực tiếp ad - bc
  • Lỗi số học trong các bước đệ quy. Càng đệ quy sâu, bạn càng phải theo dõi nhiều phép nhân và đảo dấu. Một lỗi số học ở một định thức con sớm sẽ lan sang mọi bước sau đó. Hãy xử lý cẩn thận từng định thức 2×2 trước khi kết hợp kết quả

Nếu đáp án cuối trông không ổn, mẫu dấu và việc xóa hàng/cột là hai điều đầu tiên cần kiểm tra lại.

Khi nào nên dùng khai triển đồng yếu

Khai triển đồng yếu là công cụ phù hợp trong một vài tình huống cụ thể.

Với ma trận nhỏ, đây là cách trực tiếp nhất. Ma trận 2×2 thì đơn giản, và 3×3 có thể xử lý bằng tay trong vài phút. Khi lên đến 4×4 trở đi, số bước đệ quy tăng nhanh đến mức các phương pháp khác nhanh hơn và ít lỗi hơn.

Đây cũng là lựa chọn ưu tiên cho công việc lý thuyết và ký hiệu. Nếu bạn đang làm một chứng minh, dẫn xuất công thức, hoặc tính định thức với các phần tử biến thay vì số, khai triển đồng yếu cho bạn một biểu thức ký hiệu chính xác để làm việc. Khử dòng rất tốt với số, nhưng trở nên rối với ký hiệu.

Tóm tắt nhanh khi nào nên dùng:

  • Bạn đang làm việc với ma trận 2×2 hoặc 3×3
  • Bạn cần kết quả ký hiệu chính xác, không phải xấp xỉ số
  • Bạn đang thực hiện một chứng minh đòi hỏi khai triển định thức một cách tường minh
  • Bạn đang xây dựng trực giác về ý nghĩa thực sự của định thức

Với các ma trận số lớn, hãy bỏ qua phương pháp này. Khử dòng và phân rã LU xử lý các trường hợp đó nhanh hơn nhiều và ít rủi ro tích lũy lỗi số học hơn. Hầu hết các thư viện số sử dụng những phương pháp này ở tầng bên dưới chính vì lý do đó.

Khai triển đồng yếu nên được xem như một công cụ tính tay và lý thuyết, không phải một thuật toán đa dụng.

Kết luận

Khai triển đồng yếu cung cấp cho bạn một cách có hệ thống, đệ quy để tính định thức của bất kỳ ma trận vuông nào.

Hai khối xây dựng - phần phụ và quy luật dấu (-1)^(i+j) - điều khiển toàn bộ quy trình. Làm đúng hai phần này, phần còn lại trở nên dễ dàng. Chọn một hàng hoặc cột có nhiều số 0 để giảm khối lượng công việc, rút gọn về các định thức 2×2, và cộng các kết quả.

Vượt ra ngoài định thức, phương pháp này còn liên hệ với ma trận phụ hợp và công thức nghịch đảo ma trận. Các đồng yếu bạn tính trong quá trình khai triển chính là những phần tạo nên adj(A) - khiến khai triển đồng yếu trở thành nền tảng để hiểu cách phép nghịch đảo ma trận hoạt động về mặt đại số.

Với ma trận nhỏ và công việc lý thuyết, đây là phương pháp minh bạch nhất. Với các ma trận số lớn, bạn nên dùng khử dòng hoặc một thư viện số.

Nếu bạn muốn xem khai triển đồng yếu trong thực tế, hãy đăng ký khóa học Đại số tuyến tính cho Khoa học dữ liệu bằng R của chúng tôi.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Chuyên gia Khoa học Dữ liệu Cấp cao, làm việc tại Croatia. Tác giả Công nghệ Hàng đầu với hơn 700 bài viết đã xuất bản, đạt trên 10 triệu lượt xem. Tác giả cuốn sách Tự động hóa Machine Learning với TPOT.

Câu hỏi thường gặp về khai triển đồng yếu

Khai triển đồng yếu là gì?

Khai triển đồng yếu - còn gọi là khai triển Laplace - là một phương pháp tính định thức của mọi ma trận vuông. Nó hoạt động bằng cách khai triển theo một hàng hoặc cột đã chọn, nhân mỗi phần tử với đồng yếu của nó, và cộng các kết quả. Quy trình này rút gọn các ma trận lớn thành các ma trận nhỏ hơn một cách đệ quy cho đến khi bạn còn lại các định thức 2×2 có thể giải trực tiếp.

Khi nào tôi nên dùng khai triển đồng yếu?

Khai triển đồng yếu hiệu quả nhất cho các ma trận nhỏ - 2×2 và 3×3 - và cho các bài toán lý thuyết hoặc ký hiệu nơi bạn cần một biểu thức chính xác. Với các ma trận số lớn, khử dòng và phân rã LU nhanh hơn và ít lỗi hơn. Hầu hết các thư viện số dùng các phương pháp này ở tầng bên dưới.

Sự khác nhau giữa phần phụ và đồng yếu là gì?

Phần phụ M_ij là định thức của ma trận thu được sau khi xóa hàng i và cột j. Đồng yếu C_ij lấy phần phụ đó và áp dụng hệ số dấu (-1)^(i+j), hoặc giữ nguyên hoặc đảo dấu tùy vị trí. Đồng yếu là thứ bạn thực sự dùng trong công thức khai triển.

Vì sao việc chọn hàng hoặc cột không ảnh hưởng đến kết quả?

Khai triển theo bất kỳ hàng hoặc cột nào luôn tạo ra cùng một định thức - đây là một tính chất nền tảng của phương pháp. Lựa chọn chỉ ảnh hưởng đến lượng phép tính bạn thực hiện, không ảnh hưởng đến kết quả. Chọn hàng hoặc cột có nhiều số 0 hơn sẽ giảm số đồng yếu cần tính.

Khai triển đồng yếu liên hệ với phép nghịch đảo ma trận như thế nào?

Các đồng yếu được tính trong quá trình khai triển chính là các giá trị dùng để xây dựng ma trận phụ hợp adj(A), là chuyển vị của ma trận đồng yếu. Nghịch đảo của một ma trận khi đó là A^{-1} = (1 / det(A)) * adj(A). Điều này có nghĩa khai triển đồng yếu là nền tảng của công thức đại số để nghịch đảo ma trận.

Chủ đề

Học với DataCamp

Courses

Đại số tuyến tính cho Khoa học dữ liệu với R

4 giờ
21K
Xem chi tiếtRight Arrow
Bắt đầu khóa học
Xem thêmRight Arrow
Có liên quan

blogs

Claude Opus 4.6: Tính năng, điểm chuẩn, các bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu bảng xếp hạng về mã hóa theo hướng tác nhân và suy luận phức tạp. Thêm nữa, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem thêmXem thêm