Bài giảng slide phương pháp số _ bài 01 _ma trận và hệ phương trình đại số tuyến tính
Trang 1PHƯƠNG PHÁP SỐ
Bài 1 Ma trận và
hệ phương trình đại số tuyến tính
Trang 2Gi i thi u ch ới thiệu chương 2 ệu chương 2 ương 2 ng 2
nghiên cứu về không gian véctơ, hệ
phương trình tuyến tính và các phép biến đổi tuyến tính giữa chúng
Bài toán cơ bản:
Ax = b, trong đó
A là một ma trận
b, x là những véctơ
Trang 4Đ nh nghĩa ma tr n ịnh nghĩa ma trận ận
Ma trận chữ nhật A có kích thước là một bảng
các số thực gồm dòng và cột và được ký hiệu là:
Ma trận vuông:
•
Trang 5Các d ng đ c bi t c a ma tr n vuông ạng đặc biệt của ma trận vuông ặc biệt của ma trận vuông ệu chương 2 ủa ma trận vuông ận
•
Trang 6Các d ng đ c bi t c a ma tr n vuông ạng đặc biệt của ma trận vuông ặc biệt của ma trận vuông ệu chương 2 ủa ma trận vuông ận
•
Trang 7Ma tr n chuy n v ận ển vị ịnh nghĩa ma trận
là mà trận :
•
Trang 8Phép bi n đ i s c p trên ma tr n ến đổi sơ cấp trên ma trận ổi sơ cấp trên ma trận ơng 2 ấp trên ma trận ận
•
Trang 9Phép bi n đ i s c p trên ma tr n ến đổi sơ cấp trên ma trận ổi sơ cấp trên ma trận ơng 2 ấp trên ma trận ận
•
Trang 10Phép bi n đ i s c p trên ma tr n ến đổi sơ cấp trên ma trận ổi sơ cấp trên ma trận ơng 2 ấp trên ma trận ận
các hàng/cột khác
•
Trang 12Hoán v ch n và hoán v l ịnh nghĩa ma trận ẵn và hoán vị lẻ ịnh nghĩa ma trận ẻ
là một hoán vị của tập
là cặp số (từ ) thỏa mãn
Nếu thì được gọi là cặp ngược
Nếu trong , tổng số cặp ngược là số chẵn thì được gọi là hoán vị chẵn, ngược lại, được gọi là hoán
vị lẻ.
•
Trang 13Hoán v ch n và hoán v l ịnh nghĩa ma trận ẵn và hoán vị lẻ ịnh nghĩa ma trận ẻ
Trang 14Đ nh nghĩa đ nh th c ịnh nghĩa ma trận ịnh nghĩa ma trận ức
Định thức của ma trận vuông A cấp được kí hiệu là và xác định bởi công thức
detA là tổng của số hạng, mỗi số hạng là tích của phần tử của ma trận với dấu + hoặc ‒
ứng với mỗi , từ hàng thứ lấy phần tử thứ (tức )
→ từ mỗi hàng, mỗi cột lấy đúng 1 phần tử.
•
Trang 15Đ nh nghĩa đ nh th c ịnh nghĩa ma trận ịnh nghĩa ma trận ức
•
Trang 16Tính ch t c a đ nh th c ấp trên ma trận ủa ma trận vuông ịnh nghĩa ma trận ức
1
2 Nếu A, B cùng cấp:
3 Nếu A có một hàng (cột) toàn 0 thì
4 Đổi chỗ hai hàng (cột) của A thì đổi dấu
5 Nếu A có hai hàng (cột) bằng nhau thì
6 Nếu nhân một hàng (cột) của A với thì thay
đổi lần (tức )
•
Trang 17Tính ch t c a đ nh th c ấp trên ma trận ủa ma trận vuông ịnh nghĩa ma trận ức
7 Tách hàng (cột) thành tổng
•
Trang 18Tính ch t c a đ nh th c ấp trên ma trận ủa ma trận vuông ịnh nghĩa ma trận ức
8 Nếu A có một hàng (cột) là tổ hợp tuyến tính
của các hàng (cột) khác thì
9 Nếu cộng vào một hàng (cột) của A tổ hợp
tuyến tính của các hàng (cột) khác thì không đổi
•
Trang 21Ph ương 2 ng pháp tính đ nh th c ịnh nghĩa ma trận ức
3 Khai triển Laplace
Trang 30Ma tr n ngh ch đ o ận ịnh nghĩa ma trận ảo
Ma trận nghịch đảo của ma trận vuông A cấp n
Trang 33H ph ệu chương 2 ương 2 ng trình đ i s tuy n tính ạng đặc biệt của ma trận vuông ố tuyến tính ến đổi sơ cấp trên ma trận
Trang 34H ph ệu chương 2 ương 2 ng trình đ i s tuy n tính ạng đặc biệt của ma trận vuông ố tuyến tính ến đổi sơ cấp trên ma trận
thu được từ A khi thay cột thứ bởi
j j
A x
A
Trang 35H ph ệu chương 2 ương 2 ng trình đ i s tuy n tính ạng đặc biệt của ma trận vuông ố tuyến tính ến đổi sơ cấp trên ma trận
Trang 37Gi i h dùng ma tr n ngh ch đ o ảo ệu chương 2 ận ịnh nghĩa ma trận ảo
Phương pháp dùng ma trận nghịch đảo gồm 2 bước
Trang 39Gi i h b ng ph ảo ệu chương 2 ằng phương pháp khử Gauss ương 2 ng pháp kh Gauss ử Gauss
Nhận xét: các phép biến đổi sơ cấp theo hàng
trên ma trận B dẫn đến một hệ tương đương!
Ý tưởng: áp dụng phép biến đổi sơ cấp để
đưa hệ về dạng tam giác trên
n n
Trang 40Gi i h b ng ph ảo ệu chương 2 ằng phương pháp khử Gauss ương 2 ng pháp kh Gauss ử Gauss
Trang 41Gi i h b ng ph ảo ệu chương 2 ằng phương pháp khử Gauss ương 2 ng pháp kh Gauss ử Gauss
Trang 42Gi i h b ng ph ảo ệu chương 2 ằng phương pháp khử Gauss ương 2 ng pháp kh Gauss ử Gauss
Trang 43Gi i h b ng ph ảo ệu chương 2 ằng phương pháp khử Gauss ương 2 ng pháp kh Gauss ử Gauss
Trang 44Gi i h b ng ph ảo ệu chương 2 ằng phương pháp khử Gauss ương 2 ng pháp kh Gauss ử Gauss
Nhận xét: tại bước chỉ biến đổi các hàng từ
Trang 46Gi i h b ng ph ảo ệu chương 2 ằng phương pháp khử Gauss ương 2 ng pháp kh Gauss-Jordan ử Gauss
Ý tưởng: áp dụng phép biến đổi sơ cấp để
Trang 47Gi i h b ng ph ảo ệu chương 2 ằng phương pháp khử Gauss ương 2 ng pháp kh Gauss-Jordan ử Gauss
Trang 48Gi i h b ng ph ảo ệu chương 2 ằng phương pháp khử Gauss ương 2 ng pháp kh Gauss-Jordan ử Gauss
Trang 49Gi i h b ng ph ảo ệu chương 2 ằng phương pháp khử Gauss ương 2 ng pháp kh Gauss-Jordan ử Gauss
Trang 50Gi i h b ng ph ảo ệu chương 2 ằng phương pháp khử Gauss ương 2 ng pháp kh Gauss-Jordan ử Gauss
Trang 51ng d ng ph ng pháp kh Gauss-Jordan Ứng dụng phương pháp khử Gauss-Jordan ụng phương pháp khử Gauss-Jordan ương 2 ử Gauss
Giải đồng thời nhiều
hệ phương trình
1
Tìm ma trận nghịch đảo
2
Trang 52Gi i đ ng th i nhi u h ph ảo ồng thời nhiều hệ phương trình ời nhiều hệ phương trình ều hệ phương trình ệu chương 2 ương 2 ng trình
Trang 53Gi i đ ng th i nhi u h ph ảo ồng thời nhiều hệ phương trình ời nhiều hệ phương trình ều hệ phương trình ệu chương 2 ương 2 ng trình
Trang 54Gi i đ ng th i nhi u h ph ảo ồng thời nhiều hệ phương trình ời nhiều hệ phương trình ều hệ phương trình ệu chương 2 ương 2 ng trình
Trang 57THE END
OF PART 1
Trang 58Ph n 2 Cài đ t thu t toán ần 2 Cài đặt thuật toán ặc biệt của ma trận vuông ận
Trang 59Bi u di n ma tr n ển vị ễn ma trận ận
typedef double t_matrix[10][10];
typedef double t_vector[10];
t_matrix a;
t_vector x;
vấn đề quản lý bộ nhớ
hạn ở giá trị nhỏ
Trang 60Khai tri n Laplace ển vị
for (i=0; i<n; i++){
t = xóa_dòng_cột(a,i,0); //Khai triển theo cột 1
}
Trang 61L y minor ấp trên ma trận
kmatran minor){
for(i=0; i<row; i++){
for(j=0; j<col; j++) minor[i][j] = a[i][j];
for(j=col+1; j<n; j++) minor[i][j-1] = a[i][j]; }
for(i=row+1; i<n; i++){
for(j=0; j<col; j++) minor[i-1][j] = a[i][j];
for(j=col+1; j<n; j++) minor[i-1][j-1] = a[i][j]; }
}
Trang 62Tính đ nh th c: quy v d ng tam giác trên ịnh nghĩa ma trận ức ều hệ phương trình ạng đặc biệt của ma trận vuông
int swap_count=0; double det;
if(swap_count%2 == 0) det = 1; else det = -1;
for(int i=0; i<n; i++) det *= a[i][i];
}
Trang 63Gi i h : ph ảo ệu chương 2 ương 2 ng pháp kh Gauss ử Gauss
Trang 64Gi i h : ph ảo ệu chương 2 ương 2 ng pháp kh Gauss-Jordan ử Gauss
int GaussJordan(t_matrix b, int n, t_vector x){
int i,j,r,c,max_index; double t;
for(i=0; i<n; i++) x[i] = b[i][n];