Ma trận và ma trận tam giác

Một phần của tài liệu Nghiên cứu xây dựng một phương pháp giấu tin đơn giản, an toàn (Trang 45)

Cho ma trận vuông A cấp nxn :

A = (aij)nxn , trong đó aij  {0,1}, i,j =

Ma trận A được gọi là ma trận tam giác trên, nếu ai,j = 0  i>j, i,j =

Bây giờ ta xét ma trận tam giác trên sao cho các phần tử trên đường chéo chính, tức là aii = 1, i = . Khi đó, A có dạng:

Một ma trận vuông cấp n chỉ có các phần tử trên đường chéo chính là bằng 1, các phần tử còn lại bằng 0 thì ma trận đó được gọi là ma trận đơn vị. Ma trận đơn vị cấp n được ký hiệu là In. Nhiều khi ta ký hiệu gọn lại là I.

Ma trận B = (bij)nxn được gọi là ma trận nghịch đảo của ma trận vuông A = (aij)nxn nếu AB = BA = I.

Người ta ký hiệu ma trận nghịch đảo của ma trận (vuông) A bởi ký hiệu A-1. Trong luận văn này, em tập trung vào nghiên cứu ma trận tam giác trên trường GF(2), tức là ma trận tam giác mà các phần tử của nó là 0 hoặc 1.

Ta có các định lý sau:

Định lý 3.1 :

Giả sử A là một ma trận tam giác trên. Khi đó, nếu ma trận A là khả đảo thì ma trận nghịch đảo A-1

Việc chứng minh định lý này có thể được thực hiện bằng phương pháp quy nạp toán học. Ví dụ 1 : Cho , đặt Khi đó A-1.A = I = (1) Từ (1) ta có :

Vậy, ma trận A-1 = trong trường hợp này trùng với ma trận A. Ví dụ 2 :

Cho

Dễ thấy b11 = b22 = b23 = 1. Do đó, ta chỉ xác định bij với i j ; i,j = 1, 2, 3 Ta lập tích : A-1.A = I

hay

Từ đó, theo quy tắc nhân ma trận, ta có: 1.a12 + 1.b12 a12 = b12

1.a13 + b12.a23 + b13 = 0 hay b13 = a13 + b12.a23 1.b13 = 0 b12 = 0

b13 = 0, a12.b31 + b23 = 0 vì b31 = 0 b23 = 0

Vậy, A-1 có dạng:

Định lý 3.2:

Điều kiện cần và đủ để ma trận tam giác trên A khả đảo là các phần tử trên đường chéo chính khác không, tức là:

có nghịch đảo khi và chỉ khi aii 0 với

i = 1, 2, ...,n

Định lý 3.3:

Giả sử A là một ma trận vuông. Nếu A khả đảo thì sự tồn tại A-1 là duy nhất sao cho:

A-1.A = A.A-1 = I (ma trận đơn vị).

Định lý 3.4 :

Nếu ma trận vuông A có ma trận nghịch đảo là A-1

thì ma trận A-1 cũng khả đảo và ma trận nghịch đảo duy nhất của ma trận A-1

lại chính là ma trận A.

Định lý 3.5 : (adsbygoogle = window.adsbygoogle || []).push({});

Giả sử A = (aij)nxm là một ma trận tam giác trên với aii 0 thì ma trận A-1 = (bij)nxm cũng là ma trận tam giác trên và bii = aii-1.

Trường hợp đặc biệt khi aii = 1 i = 1, 2,..., n thì bii = 1 i = 1, 2,..., n

Định lý 3.6 :

Giả sử A là một ma trận vuông tùy ý. Khi đó, A là khả đảo nếu và chỉ nếu định thức của A khác không.

Định lý 3.7 :

Giả sử A là một ma trận tam giác trên, vuông. Khi đó, định thức của A thì bằng tích của các phần tử trên đường chéo chính của A.

Từ các định lý cơ bản trên, chúng ta có thể ứng dụng chúng để tìm nghịch đảo của ma trận tam giác A cho trước như sau :

Giả sử cho trước A :

Ta cần tìm ma trận A-1

= (bij)nxn sao cho : A-1.A = I (2) với I là ma trận đơn vị cấp n.

Theo định lý vừa phát biểu ở trên, ta có ngay bij = 0 với i>j ; i, j = 1, 2, ...,n và bii = 1. Do đó, ta chỉ cần tìm nghiệm từ phương trình (2) mà thôi. Tức là, ta phải xác định các bij với i < j ; i, j = 1, 2, ...,n.

Ta đặt D = A-1

.A = (dij)nxn Trong đó,

Từ phương trình (2) ta có dii = 1 ; i = 1, 2, ..,n và dij = 0 nếu i j.

Ta có nhưng aki = 0 với k>1 và a11 = 1 nên dễ dàng suy ra d11 = 1 = b11 và

0 = d12 = bii.a22 + b12.a22 do b11 = 1, a22 = 1 nên suy ra b12 = a12.

Lý luận tương tự ta có: 0 = d13 = cũng vì ak3 = 0 với k>3, nên: 0 = d13 = b11.a13 + b12.a23 + b13.a33 = a13 + b12.a23 + b13.a33 = a13 + b12.a23 + b13 b13 = a13 + b12.a23 = a13 + a12.a23

Với i > 1, ta có:

0 = b11.a2i + .. + b1,i-1.ai-1,i + b1i i = 2, 3,..,n

Vậy b1i = a1i + b12.a2i +..+ b1,i-1.ai-1,i , i =2, 2,..,n (3) Một cách tổng quát ta có:

bij = aij + bi,i+1.ai+1,j + .. + bi,j-1aj-1,j với i < j; i,j = 1, 2,..,n (4) Như vậy từ (3) ta hoàn toàn xác định được b12, b13,.., b1n (còn b11 = 1) Tương tự ta tính được

0 = d1,i với 1 < i, i = 2, 3, .., i-1 Và như vậy, ta tính được ma trận A-1

. Ta lấy một ví dụ đơn giản sau : Cho n =5

Giả sử có ma trận

với aij ; i < j, i,j = 1, 2, ..,5

Theo định lý 3.2, ma trận A có tồn tại ma trận nghịch đảo A-1

= (bij)5x5. Ta sẽ tìm A-1 , tức là xác định các giá trị bij với i > j.

Theo định lý 3.5, ta có bii = 1 với i =`1, 2, ..,5. Vậy ta có ma trận A-1 có dạng :

Theo công thức (3), ta có b1i = a1i + b12.a2i +..+ b1,i-1.ai-1,i , i = 2, 3, 4, 5 Ta có b12 = a12, b13 = a13 + b12.a23 = a13 + a12.a23 (4)

b14 = a14 + b12.a24 + b13.a34 = a14 + a12.a24 + (a13+a12.a23).a34 (5) b15 = a15 + b12.a25 + b13.a35 + b14.a45 (adsbygoogle = window.adsbygoogle || []).push({});

= a15 + a12.a25 + (a13 + a12.a23).a35 + (a14.a24 + (a13 + a12.a23).a34) = a15 + a12.a25 + (a13 + a12.a23)(a34 + a35) + a14.a24 (6) Theo công thức 0 = dij = ta xác định được:

b23 = a23; b24 = a24 + b23.a34 = a24 + a23.a34 (7)

b25 = a25 + a23.a35 + b24.a45 = a25 + a23.a35 + a45(a24 + a23.a34) (8) b34 = a34; b45 = a45 (9)

thay các giá trị bij từ các công thức (4)(5)(6)(7)(8)(9) ta xác định được ma trận nghịch đảo A-1 của A.

Cụ thể, giả sử:

từ đó A-1 =

Thật vậy:

Ta có A-1.A= =

Vậy theo định nghĩa A-1 là nghịch đảo cả ma trận A.

Bây giờ ta đưa ra một số mệnh đề ứng dụng vào việc tìm ma trận nghịch đảo của một tam giác trên.

Mệnh đề 3.1 :

Giả sử A = (aij)nxn là ma trận tam giác trên, tức là: aij = 0 i > j, i,j = . Ta đặt:

Khi đó, A.B và B.A đều là những ma trận tam giác trên với các phần tử trên đường chéo chính bằng 1.

Mệnh đề 3.2:

Cho A = (aij)nxn với giả thiết aij = 0

Khi đó, An = 0 (và do đó An+k = 0 ). Chứng minh:

Mệnh đề này được chứng minh bằng quy nạp toán học. Chẳng hạn, với n = 2, ta có: . Vậy An = A2 = = Với n =3: . Ta có = Do đó, = =

Giả sử mệnh đề đúng n = k, chúng ta có thể chứng minh mênh đề 2 đúng cho n = k + 1.

Mệnh đề 3.3:

Cho A = (aij)nxn là ma trận tam giác trên, với aii = 1, i = . Khi đó, ma trận nghịch đảo của ma trận A là ma trận A-1

= 1 – N + N2 - ...+(-1)n.Nn. Trong đó, ma trận vuông N = (A – I), với I là ma trận đơn vị cấp nxn.

Chứng minh :

Thật vậy, ta thử tính :

(N – N2 + N3 - ..+(-1)n+1Nn+1 + I – N + N2 – N3 ...+(-1)nNn = I (vì Nn+1 = 0). Do tính duy nhất của ma trận nghịch đảo nên ta suy ra rằng A-1

= I – N + N2 - ...+(-1)nNn. Trường hợp trên trường GF(2), ta có: I – N + N2 -..+ (-1)nNn = I + N + N2 + .. + Nn.

Trên đây là những mệnh đề được rút ra từ các bài tập trong Đại số hiện đại [4]. Việc chứng minh các mệnh đề đó là của chúng tôi (học viên và giáo viên hướng dẫn).

Qua 3 mệnh đề vừa được trình bày, cho phép chúng ta tính được ma trận nghịch đảo của một ma trận tam giác trên bất kỳ cấp nxn. Trường hợp không gian các ma trận tam giác trên cấp nxn trên trường GF(2) thì việc tính A-1 của A trở nên dễ dàng hơn nhiều. Để giúp chúng ta tính lũy thừa cấp k tùy ý của ma trận N (như đã nêu ở trên), ta có thể mở rộng thuật toán tính nhanh sau đây (áp dụng với n =8, tức là ma trận tam giác trên cấp 8x8).

Thuật toán tính nhanh Nk

Bước 1: Đặt a = k, B = I (ma trận đơn vị cấp 8x8) C = N (N = (A-I))

Bước 2: Đặt d =1 nếu a chẵn và d = 0 nếu a lẻ. Đặt a = ( – phần nguyên) (adsbygoogle = window.adsbygoogle || []).push({});

Bước 3: Nếu d =1, đi đến bước 6, trái lại thì xuống bước 4 Bước 4: Tính B = B.C

Bước 5: Nếu a = 0 thì thuật toán dừng và B là đáp số Bước 6: Tính C = C.C và đi đến bước 2.

Một phần của tài liệu Nghiên cứu xây dựng một phương pháp giấu tin đơn giản, an toàn (Trang 45)