25/05/2018, 08:11

Các phương pháp tính định thức

Tính định thức dựa trực tiếp vào định nghĩa Ta có thể dùng (2.0) để tính định thức của một ma trận trên máy tính. Tuy nhiên cách tính này đòi hỏi khoảng c*n! phép tính. Đây là con số khổng lồ với n không lớn lắm. Ví ...

Tính định thức dựa trực tiếp vào định nghĩa

Ta có thể dùng (2.0) để tính định thức của một ma trận trên máy tính. Tuy nhiên cách tính này đòi hỏi khoảng c*n! phép tính. Đây là con số khổng lồ với n không lớn lắm. Ví dụ với máy tính hiện đại nhất hiện nay cũng cần hàng triệu năm để tính định thức của ma trận cấp n = 25.

Tính định thức dựa vào công thức khai triển theo hàng

Cho A là ma trận vuông cấp n và aij là một phần tử bất kỳ của nó. Định thức của ma trận con cấp n-1 sau khi “xóa” hàng thứ i và cột thứ j đi và không thay đổi vị trí các thành phần còn lại, được gọi là minor của phần tử aij, và được ký hiệu là Mij. Giá trị Aij = (-1)i+j Mij được gọi là phần bù đại số của phần tử aij. Ta có các công thức sau để tính định thức ma trận vuông cấp n thông qua việc tính định thức của các ma trận con cấp bé hơn:

Khai triển định thức theo hàng thứ i:

Khai triển định thức theo cột thứ j:

Tuy nhiên, cũng như cách tính trực tiếp, cách tính này cần khoảng c*n! phép tính, và như vậy không thể thực hiện được trên máy tính hiện đại nhất hiện nay dù chỉ với n không lớn lắm. Rõ ràng việc phân tính thuật toán giúp chúng ta đánh giá được thời gian tính toán trên máy tính và nếu thời gian đó là quá lớn thì chúng ta khỏi phải tốn công vô ích viết bài trình và chạy thử.

Tính định thức bằng cách chuyển ma trận về dạng tam giác trên

Ta sẽ biến đổi để đưa ma trận A về dạng ma trận tam giác trên

b11 b12 ... b1n

B= b21 b22 ... b2n

...

bn1 bn2 ... bnn

Vậy det A=det B = b11 b22...bnn

0