Sử dụng thuật toán Cramer
Trang 11.1 MA TRẬN-ĐỊNH THỨC 5
1.1.1 MA TRẬN 5
1.1.2 ĐỊNH THỨC 6
1.2.HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH 11
1.2.1.DẠNG TỔNG QUÁT CỦA HỆ PHƯƠNG TRÌNH TUYẾN TÍNH 11
1.2.2 GIẢI HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH 13
1.2.3 PHƯƠNG PHÁP GIẢI HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH 16
CHƯƠNG 2: THUẬT TOÁN-GIẢI THUẬT 22
2.1 ĐỊNH THỨC MA TRẬN 22
2.1.1 THUẬT TOÁN 22
2.1.2 GIẢI THUẬT 23
2.2 HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH 24
2.2.1 THUẬT TOÁN CRAMER 24
2.2.2 GIẢI THUẬT 24
CHƯƠNG 3: CHƯƠNG TRÌNH 26
3.1 TÍNH ĐỊNH THỨC VÀ GIẢI HỆ PHƯƠNG TRÌNH TUYẾN TÍNH 26
3.2 HÌNH ẢNH 35
Trang 2CHƯƠNG 1: MA TRẬN–ĐỊNH THỨC VÀ HỆ
PHƯƠNG TRÌNH TUYẾN TÍNH1.1 MA TRẬN-ĐỊNH THỨC
A11, a22, ,amn được gọi là các phần tử chéo
đường chéo chính đều bằng 0, tức là aij = 0 nếu i > j
đường chéo chính đều bằng 0, , tức là aij = 0 nếu i < j
Trang 3 Ma trận chéo: là ma trận vuông cấp n mà tất cả các phần tử nằm ngoài đườngchéo đều bằng 0, tức là aij = 0 nếu i ≠ j.
Trang 4Từ ma trận A, bỏ đi hàng i và cột j ta thu được ma trận vuông cấp n-1 Ta ký hiệu nó là Mij và gọi nó là ma trận con tương ứng với phần tử aij.
Ví d :ụ:
b Các tính chất của định thức
tức là : det(At) = det(A)
Trang 5Tính chất 2: Đổi chỗ 2 hàng( hay 2 cột ) của một định thức, ta được một định thức mới bằng định thức cũ đổi dấu.
Tính chất 3: Một định thức có 2 hàng (hay 2 cột ) như nhau thì bằng 0
Tính chất 4:
Det(A) = (-1)i+1ai1.det(Mi1) +(-1)i+2ai2.det(Mi2) + + (-1)i+nain.det(Min)
Det(A) = (-1)1+ja1j.det(M1j) +(-1)2+ja2j.det(M2j) + + (-1)n+janj.det(Mnj)
Tính chất 5: Một định thức có một hàng( hay một cột) toàn là số không thì bằng không
Tính chất 6: Khi ta nhân các phần tử của một hàng( hay một cột) với cùng một sốthực k thì ta được một định thức mới bằng định thức cũ nhân với k
Hệ quả: Khi các phần tử của một hàng (hay một cột) có một thức số chung, ta có thể đưa thừa số chung đó ra ngoài dấu ngoặc định thức
Trang 6Tính chất 10: Khi ta cộng bội k của hàng khác ( hay bội k của cột này vào cột khác ) thì ta được một định thức mới bằng một định thức cũ
Tính chất 11: Định thức của ma trận tam giác trên bằng tích các phần tử chéo
Ta sử dụng các tính chất của định thức để biến đổi một định thức về dạng đơngiản như: định thức ma trận tam giác trên, định thức ma trận tam giác dưới
Các phép biến đổi về hàng ma ta hay sử dụng đó là:
- Nhân 1 hàng với một số thực k ≠0(tính chất 6)
- Đổi chỗ 2 hàng(tính chất 2)
- Cộng k lần hàng này vào hàng khác(tính chất 10)
Ví dụ:Cho một ma trận cấp 4 Tính định thức bằng cách biến đổi ma trận về dạng
ma trận tam giác trên
Trang 7Lấy giá tri trụ là p2= a’22 Ta chia các phần tử của hàng thứ 2 cho p2 thì địnhthức sẽ là: D/(p1p2) và mà phần còn lại là:
Lấy hàng 1 trừ đi hàng 2 đã nhân với a’12, lấy hàng 3 trừ đi hàng 2 đã nhân vớia’32, và lấy hàng 4 trừ đi hàng 2 đã nhân với a’42, ta có định thức vẫn là D/(p1p2) và
Trang 81.2 HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH
1.2.1 DẠNG TỔNG QUÁT CỦA HỆ PHƯƠNG TRÌNH TUYẾN TÍNH
Đó là một hệ gồm m phương trình đại số bậc nhất đối với n ẩn:
o Nếu m = n : Hệ (I) trở thành hệ vuông với n phương trình n ẩn
o Nếu bj =0, ∀ i thì hệ (I) gọi là hệ thuần nhất
Hệ này được viết dưới dạng ma trận là : A.x=b trong đó: A là ma trận được lập
từ các hệ số: A= (aij) mxn
A=
Trang 9b là vecto cột các số hạng tự do(hay gọi là ma trận vế phải):
không thuần nhất nếu có ít nhất một bi ≠ 0.
tương thích nếu hệ có ít nhất một nghiệm, tức là tồn tại một bộ giá trịcủa x1 , x 2 , , x n mà khi thay vào sẽ có một đồng nhất thức
Muốn giải hệ phương trình đại số tuyến tính thì trước hết phải xác định xem hệ
đã cho tương thích hay không tương thích Nếu là hệ tương thích thì lại phải xem hệ là
9
Trang 10xác định hay bất định Nếu hệ phương trình là xác định thì ta đi tìm nghiệm duy nhấtcủa nó.
Ví dụ:
Hệ phương trình 2 ẩn:
Hệ 3 phương trình 3 ẩn:
Hệ 2 phương trình 3 ẩn:
1.2.2 GIẢI HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH
Khi giải hệ phương trình đại số tuyến tính có thể xảy ra hai trường hợp: m = n
Trang 11Khi đó sẽ tồn tại ma trận nghịch đảo A-1.
Định lí (Cramer): Hệ Cramer có nghiệm duy nhất tính bằng công thức:
i=1,2, n
Chú ý: Từ định lý trên, ta có 2 phương pháp giải hệ phương trình như sau:
Trang 14với mỗi giá trị của c ta có một nghiệm tương ứng.
1.2.3 PHƯƠNG PHÁP GIẢI HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH.
Trang 16Xét hệ phương trình: (II)
Ta lập ma trận mở rông bằng cách từ ma trận A, ta thêm vào vế phải của ma trận A bởi cột vế phải (ma trận vế phải b) ,tức là:
= [A|b]=
Phương pháp khử Gauss: ta sử dụng các phép biến đổi sơ cấp về, đó là:
phương trình với số thực k ≠ 0 )
phương trình khác ) để biến đổi ma trận mở rộng sao cho ma trận A có trong ma trận về dạng của ma trận tam giác trên
biến đổi, rồi giải hệ phương trình bằng cách giải ngược từ dưới lên
Trang 17Ví dụ:
Giải:
Quá trình thuận
Bước 1: - Giả sử a11 ≠ 0, chia dòng 1 cho a11 (a11 là phần tử trụ) Hệ đã cho
tương đương với:
Với
Khử x1 trong phương trình thứ i=2,3,4,…, n bằng cách:
Thay dòng i bởi dòng i – dòng 1 * ai1 Nghĩa là:
a(1)ij = aij - a(1)1j *ai1 với j=1,n
nn n
n n
n n n
b
b b b
x
x x x
a a
a
a
a a
a
a
a a
a
a
a a
) 1 ( 1
3 2 1
3 2 1
3 33
32 31
2 23
22 21
) 1 ( 1 )
1 ( 13 ) 1 ( 12
3
2 2
2 2
2
3 2
1
3 2
1
3 2
1
x x
x
x x
x
x x
) 1 ( 3
) 1 ( 2
) 1 ( 1
3 2 1
) 1 ( )
1 ( 3 ) 1
(
2
) 1 ( 3 )
1 ( 33 ) 1
(
32
) 1 ( 2 )
1 ( 23 ) 1
(
22
) 1 ( 1 )
1 ( 13 ) 1
nn n
n
n n n
b
b b b
x
x x x
a a
a
a a
a
a a
a
a a
2
2 2
2
2 2
2
3 2
3 2
3 2
1
x x
x x
x x
x
11 1 ) 1 ( 1 11 1 ) 1 (
1 a /a , b b /a
Trang 18Bước 2: Giả sử a(1)22¹0, chia dòng 2 cho a(1)22 Hệ đã cho tương đượng với:
Hệ đã cho tương đương với:
Tiếp tục thực hiện như trên cho đến khi đưa được ma trận hệ số về ma trận tam
giác trên Hệ đã cho tương đương với:
) 1 ( 3
) 2 ( 2
) 1 ( 1
3 2 1
) 1 ( )
1 ( 3 )
1
(
2
) 1 ( 3 )
1 ( 33 )
1
(
32
) 2 ( 2 )
2 ( 23
) 1 ( 1 )
1 ( 13 )
nn n
n
n n n
b
b b b
x
x x x
a a
a
a a
a
a a
a a
2
3 3
2 2
2
3 2
3 2
3 2
1
x x
x x
x x
) 2 ( 2
) 1 ( 1
3 2 1
) 3 ( 3
) 2 ( 2 )
2 ( 23
) 1 ( 1 )
1 ( 13 ) 1
b b b x
x x a
a a
a a
3 3
2 2
2
3 3 2
3 2
1
x x x
x x
x
) , , 2 , 1 ( , /
,
22 ) 1 ( 2 ) 2 ( 2 ) 1 ( 22 ) 1 ( 2 ) 2 (
) 2 ( 3
) 2 ( 2
) 1 ( 1
3 2 1
) 2 ( )
2 ( 3
) 2 ( 3 )
2 ( 33
) 2 ( 2 )
2 ( 23
) 1 ( 1 )
1 ( 13 )
nn n
n n n
b
b b b
x
x x x
a a
a a
a a
a a
10 -
3 3
2 2
2
3 3 2
3 2
1
x x x
x x
x
Trang 19Quá trình nghịch:
Từ phương trình thứ 3, ta có: x3 = 2
Từ phương trình thứ 2, ta có: x2 =-1/3+5/3x3 = 3
Từ phương trình thứ 1, ta có: x1 =3/2-1/2x2+1/2x3 = 1
Vậy nghiệm của hệ là: x1 = 1; x2 = 3; x3 = 2
CHƯƠNG 2 : THUẬT TOÁN-GIẢI THUẬT
2.1 ĐỊNH THỨC MA TRẬN
2.1.1 THUẬT TOÁN
Có rất nhiều phương pháp khác nhau để tính định thức trong ma trận như
gauss,cramer,choleski,…trong đó phương pháp giải đưa ma trận về dạng ma trận tamgiác trên được xem là phương pháp giải chính xác và khối lượng các phép tính ít nhất
3 3
2 2
2
3 3 2
3 2
1
x x x
x x
x
Trang 20 Biến đổi ma trận A về ma trận tam giác trên có dạng:
Nếu atk=0 thì det(A)=0; dừng thuật toán
Nếu atk ≠ 0 thì làm các việc sau đây:
0
a
a 1 0
a
a a
1
(n) 2n (n)
23
( n) 1n ( n)
13 (n)
1 2 )
k kk
p a A
1
) ( ) 1 ( ) det(
Trang 21 Khử aik ở các dòng i (i=k+1, k+2,…) bằng cách: Tính: hệ số = aik.
Giá trị định thức det(A)=det(A)*akk
2.2 HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH
2.2.1 THUẬT TOÁN CRAMER
Trang 22Lần lượt tính định thứ của các ma trận thay thế rồi tìm nghiệm theo công thức
o Nếu atk ≠ 0 thì làm các việc sau đây:
-Thay b vào từng cột của ma trân A để tính các định thức-Cho k=1,2,3,…, n
-Với mỗi dòng k nếu hàng i=k thì thay r[j][i]=b[j]
-Ngược lại r[j][i] = a[j][i]
Trang 23 Giá trị định thức det(Ak)=det(Ak)*akk
23
Trang 24printf("2.Hien thi ma tran\n");
printf("3.Tinh dinh thuc cua ma tran\n");
printf("4.Nhap cac he so cua phuong trinh tuyen tinh \n");
printf("5.Hien thi he so phuong trinh\n");
printf("6.Giai he phuong trinh\n");
Trang 32for(t=i+1;t<=n;t++) {
c=r[t][i];
for(j=i+1;j<=n;j++) r[t][j]=r[t][j]-r[i][j]*c;
} }
Trang 33} }
printf("\n Ban co muon tiep tuc ko?");
Trang 3535